Критическая уязвимость в популярной C# (.NET) библиотеке: что нужно знать разработчикам
Сообщество .NET-разработчиков встревожено: в одной из самых популярных open-source библиотек для C# обнаружена критическая уязвимость, позволяющая удаленно выполнять произвольный код. Проблема зарегистрирована под идентификатором CVE-2025-XXXX и получила максимальный рейтинг опасности 9.8 по шкале CVSS v3.
Детали уязвимости
Уязвимость затрагивает библиотеку Newtonsoft.Json (версии до 13.0.3) — де-факто стандартный инструмент для работы с JSON в экосистеме .NET. При обработке специально сформированных JSON-данных в режиме десериализации без строгой проверки типов злоумышленник может внедрить вредоносный объект, что приведет к выполнению произвольного кода на сервере.
- Вектор атаки: удаленный, через HTTP-запросы или загрузку файлов.
- Условие эксплуатации: использование устаревших версий библиотеки и настройка
TypeNameHandlingв значениеAutoилиAll. - Потенциальный ущерб: полный компрометация сервера, кража данных, внедрение бэкдоров.
Какие системы под угрозой?
Под ударом находятся любые .NET-приложения (ASP.NET Core, десктопные WPF, консольные утилиты), использующие Newtonsoft.Json версий 12.x и 13.0.1–13.0.2. Особенно критична ситуация для микросервисов, обрабатывающих пользовательский ввод без дополнительной санации.
Как защититься
Разработчики Newtonsoft.Json уже выпустили исправление в версии 13.0.3. Рекомендуется немедленно:
- Обновить библиотеку до последней стабильной версии через NuGet:
Install-Package Newtonsoft.Json -Version 13.0.3 - Перейти на альтернативу — System.Text.Json (встроенный в .NET 6+), который не подвержен данной уязвимости.
- Провести аудит кода на использование
TypeNameHandling— при необходимости заменить наNoneили внедрить кастомныйSerializationBinder.
Заключение
Эта уязвимость — напоминание о том, что даже самые проверенные библиотеки требуют своевременного обновления. Разработчикам на C# стоит взять за правило проверять зависимости с помощью dotnet list package --vulnerable и интегрировать в CI/CD инструменты анализа безопасности (например, Snyk, GitHub Dependabot).
Следите за обновлениями на PythonLib — мы продолжим освещать важные события в мире .NET и безопасности кода.