Исследователи обнаружили проблему десериализации, угрожающую экосистеме .NET

Исследователи обнаружили проблему десериализации, угрожающую экосистеме .NET

Специалисты HPE Security выступили с докладом на конференциях Black Hat и DEF CON, предупредив, что экосистеме .NET угрожает проблема, похожая на уязвимость, с которой в 2015-2016 годах столкнулись разработчики приложений Java.

Напомню, что изначально уязвимость была замечена в 2015 году исследователями FoxGlove Security. Тогда специалисты нашли баг в широко распространенной библиотеке из состава Apache Commons. Уже в 2016 году, стараниями аналитиков SourceClear, удалось понять, что проблема гораздо обширнее, чем предположили изначально. Как оказалось, уязвимость, связанная с тем, как Java исполняет user-defined код во время десериализации объектов, распространялась не на одну, но на многие десятки библиотек, в числе которых были Apache Directory API, JMS Transport и некоторые версии Webx All-in-one Bundle. В итоге уязвимы оказались многие популярные Java приложения, такие как WebLogic, WebSphere, JBoss, Jenkins, OpenNMS.

Проблема десериализации в Java вынудила разработчиков Apache, Oracle, Cisco, Red Hat, Jenkins, VMWare, IBM, Intel, Adobe, HP и SolarWinds выпустить патчи, а инженеры компании Google объединили усилия и в свободное время занялись «починкой» проблемных библиотек, в итоге исправив более 2600 проектов.

Теперь исследователи HPE Security предупреждают, что нашли похожую уязвимость в экосистеме .NET. Равно как и в случае с Java, проблема связана с тем, как .NET библиотеки работают с сериализацией данных. В данном случае атакующий точно так же может добиться выполнения вредоносного кода на целевой машине.

Исследователи пишут, что проблеме подвержены не все .NET библиотеки, и даже некоторые приложения, использующие уязвимые библиотеки, проблема тоже обходит стороной, так как является комплексом, состоящим из багов в библиотеках и плохого кода самих разработчиков. В своем докладе специалисты рассказали (PDF), что в основном концентрировали усилия вокруг изучения .NET и Java библиотек, работающих с JSON, и приводят список изученных.

Для доказательства того, что проблема не является исключительно теоретической, специалисты также приводят CVE-индентификаторы багов в конкретных продуктах. CVE-2017-9424 — JSON десериализация в бэкэнд-фреймворке Breeze, CVE-2017-9785 — JSON десериализация в веб-фреймворке NancyFX. Также уязвимость XML десериализации CVE-2017-9822 была обнаружена в популярной .NET CMS DotNetNuke.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *