На прошлой неделе разработчики Curl предупредили, что 11 октября 2023 выйдут патчи для двух уязвимостей, одна из которых может стать «худшей» за последнее время. Исправления действительно вышли, но теперь ИБ-исследователи отмечают, что серьезность уязвимости была сильно преувеличена.
4 октября разработчик curl Дэниел Стенберг (Daniel Stenberg) предупредил, что цикл разработки curl 8.4.0 будет сокращен, и новая версия выйдет 11 октября ради устранения уязвимостей.
«Мы сокращаем релиз-цикл и 11 октября выпустим curl 8.4.0, в которую войдут исправления для одной CVE высокой степени серьезности и одной CVE низкой степени серьезности, — писал Стенберг. — Та уязвимость, которая имеет высокую степень серьезности, вероятно, является худшей проблемой безопасности в curl за долгое время».
Поскольку утилита командной строки curl и связанная с ней библиотека libcurl широко используются во многих библиотеках и приложениях, а также входят в состав практически всех операционных системам, это предупреждение вызвало нешуточные опасения среди ИБ-специалистов и разработчиков, а некоторые даже предполагали, что проблема может оказаться столь же серьезной, как нашумевшая уязвимость в Log4j.
Теперь, когда разработчики представили Curl 8.4.0 и обнародовали информацию об уязвимостях, стало ясно, что всеобщие опасения были преувеличены.
Что касается менее опасной уязвимости, CVE-2023-38546, она связана с инжектами файлов cookie, и затрагивает только libcurl (от 7.9.1 до 8.3.0 включительно). Как объясняют сами разработчики, вероятность того, что злоумышленники выполнят ряд условий, необходимых для срабатывания этой уязвимости, крайне мала. Кроме того, по их словам, cookie-инъекции представляют лишь небольшой риск для безопасности пользователей.
Вторая уязвимость, CVE-2023-38545, которая должна была стать «худшей», представляет собой переполнение буфера хипа и застрагивает имплементацию прокси-протокола SOCKS5 в curl и libcurl. Об этой ошибке через платформу HackerOne сообщил ИБ-исследователь Джей Сатиро (Jay Satiro). Он получил за этот баг 4600 долларов США, что является крупнейшей на сегодняшний день наградой за ошибку в curl.
Возможные последствия эксплуатации этого бага включают повреждение данных и, в худшем случае, выполнение произвольного кода на стороне клиента.
В частности, переполнение буфера может произойти во время медленного handshake’а прокси SOCKS5. Уязвимость возникает из-за некорректной обработки имен хостов длиной более 255 байт. Если имя хоста превышает 255 байт, curl не позволяет прокси резолвить имя хоста удаленно и переходит к локальному резолверу.
«Из-за ошибки локальная переменная, которая инструктирует curl “позволить хосту резолвить имя”, может получить неверное значение во время медленного handshake’а SOCKS5 и, вопреки замыслу, скопировать слишком длинное имя хоста в целевой буфер, вместо того, чтобы скопировать туда только преобразованный адрес», — сообщают разработчики.
То есть уязвимость, которая присутствовала в коде 1315 дней, вероятнее всего, может использоваться для проведения атак на отказ в обслуживании. Так, атакующий может создать сайт, который перенаправляет посетителя на очень длинное имя хоста (например, содержащее тысячи символов), что в итоге приведет к переполнению буфера хипа и возникновению сбоя.
При этом эксплуатация бага требует, чтобы клиент curl был настроен на использование прокси SOCKS5 при подключении к удаленному сайту, а также должны быть включены автоматические редиректы. Также необходимым условием является медленное SOCKS5-соединение с удаленным сайтом.
Как теперь отмечают многие эксперты, поскольку большинство людей, использующих curl, не используют SOCKS5, эта проблема не затронет их вовсе.
«Основная причина, по которой я зол на curl — все эти разговоры и хайп вокруг него. Компаниям и так нелегко определять приоритетность исправлений и степень серьезности различных уязвимостей. Подобные “учебные тревоги” лишь отнимают время, когда они могли бы сосредоточиться на таких вещах, как KEV, новом облаке или AD», — пишет в X (бывший Twitter) специалист TrustedSec Джастин Элзе (Justin Elze).
Издание The Register цитирует самого Стенберга, который сообщает, что наиболее реалистичный сценарий атаки на CVE-2023-38545 предполагает, что пользователь браузера Tor, который часто использует протокол SOCKS5, подключится к взломанному HTTPS-сайту.
Однако с такой позицией согласны не все. К примеру, известный ИБ-эксперт Мэтью Хики (Matthew Hickey, он же hackerfantastic) сообщил журналистам Bleeping Computer, SOCKS5 может быть не слишком популярен в бизнес-среде, однако его часто используют исследователи и разработчики в области ИБ.
«На самом деле это довольно часто случается, когда люди запрашивают API для тестирования безопасности, отладки или другой технической работы. Также это часто встречается при проверке сервисов Tor с использованием таких инструментов, как curl, когда для выполнения запроса обычно требуется SOCKS5-прокси», — рассказывает Хикки.
Также он предупредил, что со временем исследователи изучат свежую проблему более тщательно и, возможно, будут созданы более сложные эксплоиты, которые уже будут вести к выполнению произвольного кода.