Они обнаружили уязвимость, которая затрагивает Curl, libcurl и проекты на их основе.

виться

cURL — это программный проект, состоящий из библиотеки и интерпретатора команд, предназначенный для передачи файлов.

Дэниел Стенберг (автор проекта cURL) недавно объявлено через сообщение в блоге, информацию о уязвимость, обнаруженная в утилита для получения и отправки данных по сети Curl и библиотека libcurl.

Упоминается, что уязвимость (уже занесенная в каталог CVE-2023-38545) связано с ошибкой в ​​коде разрешения имени хоста перед доступом к прокси SOCKS5.

SOCKS5 — это прокси-протокол. Это достаточно простой протокол настройки сетевого взаимодействия через выделенный «брокер». Например, протокол обычно используется при настройке связи через Tor, а также для доступа в Интернет организаций и компаний.

SOCKS5 имеет два разных режима разрешения имен хостов. Либо клиент разрешает имя хоста локально и передает пункт назначения в качестве разрешенного адреса, либо клиент передает полное имя хоста прокси-серверу и позволяет прокси-серверу удаленно разрешать хост.

Как таковой провал может вызвать переполнение буфера и потенциальное выполнение клиентского кода злоумышленника при доступе к HTTPS-серверу, контролируемому злоумышленником, через утилиту Curl или приложение, использующее libcurl. но проблема присутствует только при доступе через прокси SOCKS5 включен в Curl. При прямом доступе без прокси уязвимость не проявляется.

Владелец сайта, доступ к которому осуществляется через прокси-сервер SOCKS5, имеет возможность:

Вызовите переполнение буфера на стороне клиента, вернув код перенаправления запроса (HTTP 30x) и установив в заголовке Location: URL-адрес с именем хоста, размер которого варьируется от 16 до 64 КБ (16 КБ — максимальный размер). Минимальный требуемый размер. для переполнения выделенного буфера, а 65 КБ — это максимально допустимая длина имени хоста в URL-адресе).

Если в конфигурации libcurl включено перенаправление запросов и используемый прокси SOCKS5 достаточно медленный, то длинное имя хоста будет записано в небольшой буфер, очевидно, меньшего размера.

В своем блоге, Дэниел Стенберг отметил, что уязвимость оставалась незамеченной в течение 1315 дней.. В нем также говорится, что 41% ранее выявленных уязвимостей в Curl, вероятно, можно было бы избежать, если бы Curl был написан на языке, безопасном для памяти, но в обозримом будущем не планируется переписывать Curl на другом языке.

Уязвимость в первую очередь затрагивает приложения на базе libcurl. и появляется в утилите Curl только при использовании опции «-limit-rate» со значением меньше 65541, так как libcurl выделяет буфер размером 16 КБ по умолчанию и 100 КБ в Curl, но этот размер меняется в зависимости от значения параметра Параметр «–limit-rate».

Упоминается, что если имя хоста имеет длину до 256 символов, то Curl немедленно передает имя прокси-серверу SOCKS5 для разрешения, а если имя превышает 255 символов, он переключается на локальный преобразователь и передает уже определенный адрес SOCKS5. . Из-за ошибки в коде флаг, указывающий на необходимость локального разрешения, мог быть установлен на неправильное значение во время медленного согласования соединения через SOCKS5, что приводило к записи длинного имени хоста в буфер, назначенный с расчетом на сохранение IP-адреса. адрес или имя, не превышающее 255 символов.

Наконец, упоминается, что уязвимость исправлена ​​в версии Curl 8.4.0 а в качестве мер по повышению безопасности кодовой базы предлагается расширить инструменты тестирования кода и более активно использовать зависимости, написанные на языках программирования, гарантирующих безопасную работу с памятью. Также рассматривается возможность постепенной замены частей curl опциями, написанными на безопасных языках, такими как экспериментальный бэкэнд Hyper HTTP, реализованный на Rust.

Если вы интересно узнать об этом больше, вы можете проверить подробности По следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.