Специалисты компании Senrio обнаружили баг в популярной C/C++ библиотеке gSOAP, которая широко используется при разработке прошивок для различных IoT-девайсов. Авторы библиотеки, компания Genivia, пишут, что их продукт может пригодиться компаниям, которые «занимаются разработкой продуктов, отвечающих новейшим стандартам для XML, XML Web services, WSDL и SOAP, REST, JSON, WS-Security, WS-Trust с SAML, WS-ReliableMessaging, WS-Discovery, TR-069, ONVIF, AWS, WCF и так далее».
Проблема, получившая название Devil's Ivy и идентификатор CVE-2017-9765, была найдена практически случайно, в ходе анализа прошивки камеры Axis M3004. Связавшись с производителем устройства, исследователи выяснили, что баг присутствует в 249 из 252 моделях камер, выпускаемых компанией, а корни проблемы уходят к использованию библиотеки gSOAP.
Хотя уязвимость является простым переполнением буфера (buffer overflow), с ее помощью специалисты Senrio сумели добиться выполнения вредоносного кода на камере Axis. Видеоролик, который можно увидеть ниже, демонстрирует запись атаки.
Хотя Axis уже выпустили обновленную прошивку для своих камер, а разработчики gSOAP исправили баг и 21 июня представили версию 2.8.48, исследователи предупреждают, что уязвимость еще может доставить немало проблем. Дело в популярности библиотеки gSOAP, которой пользуются многие производители и разработчики. К примеру, на сайте Genivia сказано, что суммарное количество загрузок gSOAP превышает один миллион. Таким образом, использовать уязвимые версии библиотеки могут тысячи IoT-устройств, и, к сожалению, далеко не все производители готовы выпускать патчи так же оперативно, как Axis.