Уязвимость чрезмерного чтения данных из сети из-за злоупотребления расширениями чанков в HTTP
Описание
Злоумышленник, использующий HTTP, может применять расширения чанков (chunk extensions), чтобы заставить получателя, читающего тело запроса или ответа, прочитать гораздо больше байтов из сети, чем содержится в самом теле. Злоумышленник-клиент может дополнительно эксплуатировать эту уязвимость, чтобы заставить сервер автоматически прочитать большой объем данных (до примерно 1 ГиБ), если обработчик не прочитал всё тело запроса.
Расширения чанков — это малоиспользуемая функция HTTP, которая позволяет включать дополнительные метаданные в тело запроса или ответа, отправляемого с использованием chunked-кодировки. Модуль net/http
игнорирует эти метаданные при чтении чанков. Однако злоумышленник может использовать это, добавляя большие сегменты метаданных к каждому передаваемому байту. Теперь модуль чтения чанков генерирует ошибку, если соотношение реальных данных тела к закодированным байтам становится слишком маленьким.
Тип уязвимости
Избыточное потребление сетевых ресурсов
Ссылки
- Patch
- Issue TrackingPatchVendor Advisory
- Mailing ListVendor Advisory
- PatchVendor Advisory
- Patch
- Issue TrackingPatchVendor Advisory
- Mailing ListVendor Advisory
- PatchVendor Advisory
Уязвимые конфигурации
Одно из
EPSS
5.3 Medium
CVSS3
Дефекты
Связанные уязвимости
A malicious HTTP sender can use chunk extensions to cause a receiver reading from a request or response body to read many more bytes from the network than are in the body. A malicious HTTP client can further exploit this to cause a server to automatically read a large amount of data (up to about 1GiB) when a handler fails to read the entire body of a request. Chunk extensions are a little-used HTTP feature which permit including additional metadata in a request or response body sent using the chunked encoding. The net/http chunked encoding reader discards this metadata. A sender can exploit this by inserting a large metadata segment with each byte transferred. The chunk reader now produces an error if the ratio of real body to encoded bytes grows too small.
A malicious HTTP sender can use chunk extensions to cause a receiver reading from a request or response body to read many more bytes from the network than are in the body. A malicious HTTP client can further exploit this to cause a server to automatically read a large amount of data (up to about 1GiB) when a handler fails to read the entire body of a request. Chunk extensions are a little-used HTTP feature which permit including additional metadata in a request or response body sent using the chunked encoding. The net/http chunked encoding reader discards this metadata. A sender can exploit this by inserting a large metadata segment with each byte transferred. The chunk reader now produces an error if the ratio of real body to encoded bytes grows too small.
A malicious HTTP sender can use chunk extensions to cause a receiver r ...
A malicious HTTP sender can use chunk extensions to cause a receiver reading from a request or response body to read many more bytes from the network than are in the body. A malicious HTTP client can further exploit this to cause a server to automatically read a large amount of data (up to about 1GiB) when a handler fails to read the entire body of a request. Chunk extensions are a little-used HTTP feature which permit including additional metadata in a request or response body sent using the chunked encoding. The net/http chunked encoding reader discards this metadata. A sender can exploit this by inserting a large metadata segment with each byte transferred. The chunk reader now produces an error if the ratio of real body to encoded bytes grows too small.
EPSS
5.3 Medium
CVSS3