Уязвимость некорректного использования функции чтения данных при HTTP(S) передаче в libcurl
Описание
При выполнении HTTP(S)-передачи в libcurl может некорректно использоваться функция обратного вызова чтения данных (CURLOPT_READFUNCTION
) для запроса данных к отправке, даже если опция CURLOPT_POSTFIELDS
установлена. Это происходит в случае, если тот же обработчик (handle) ранее использовался для отправки запроса PUT
, который применял эту функцию. Такая ошибка может привести к неожиданному поведению приложения, отправке неверных данных, а также к использованию памяти после освобождения или аналогичным проблемам в последующих запросах POST
. Проблема заключается в логике повторного использования обработчика при его изменении с PUT
на POST
.
Тип уязвимости
- Некорректная обработка данных
- Использование после освобождения памяти
Ссылки
- Mailing ListThird Party Advisory
- Mailing ListThird Party Advisory
- Mailing List
- ExploitIssue TrackingThird Party Advisory
- Mailing ListThird Party Advisory
- Third Party Advisory
- Third Party Advisory
- Third Party Advisory
- Third Party Advisory
- Third Party Advisory
- Third Party Advisory
- Mailing ListThird Party Advisory
- Mailing ListThird Party Advisory
- Mailing List
- ExploitIssue TrackingThird Party Advisory
- Mailing ListThird Party Advisory
- Third Party Advisory
- Third Party Advisory
- Third Party Advisory
- Third Party Advisory
Уязвимые конфигурации
Одновременно
Одновременно
Одновременно
Одновременно
Одно из
Одно из
EPSS
9.8 Critical
CVSS3
Дефекты
Связанные уязвимости
When doing HTTP(S) transfers, libcurl might erroneously use the read callback (`CURLOPT_READFUNCTION`) to ask for data to send, even when the `CURLOPT_POSTFIELDS` option has been set, if the same handle previously was used to issue a `PUT` request which used that callback. This flaw may surprise the application and cause it to misbehave and either send off the wrong data or use memory after free or similar in the subsequent `POST` request. The problem exists in the logic for a reused handle when it is changed from a PUT to a POST.
When doing HTTP(S) transfers, libcurl might erroneously use the read callback (`CURLOPT_READFUNCTION`) to ask for data to send, even when the `CURLOPT_POSTFIELDS` option has been set, if the same handle previously was used to issue a `PUT` request which used that callback. This flaw may surprise the application and cause it to misbehave and either send off the wrong data or use memory after free or similar in the subsequent `POST` request. The problem exists in the logic for a reused handle when it is changed from a PUT to a POST.
When doing HTTP(S) transfers, libcurl might erroneously use the read c ...
EPSS
9.8 Critical
CVSS3