tor до версии 0.4.9.9 был склонен к бесконечному циклу при распаковке усеченного потока zlib/gzip с Done=1. Усеченный поток никогда не достигает Z_STREAM_END, в результате чего zlib возвращает Z_BUF_ERROR без оставшихся входных данных, которые buf_add_compress() принимает за полный выходной буфер и повторяет попытку бесконечно. Исправлено путем возврата TOR_COMPRESS_ERROR в этом случае, чтобы вызывающая сторона могла корректно прервать выполнение.
Это ТРОВЕ-2026-021.
Показать оригинальное описание (EN)
tor before 0.4.9.9 was prone to an infinite loop when decompressing a truncated zlib/gzip stream with done=1. A truncated stream never reaches Z_STREAM_END, causing zlib to return Z_BUF_ERROR with no input remaining, which buf_add_compress() mistook for a full output buffer and retried forever. Fixed by returning TOR_COMPRESS_ERROR in that case so the caller can abort cleanly. This is TROVE-2026-021.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Torproject Tor
cpe:2.3:a:torproject:tor:*:*:*:*:*:*:*:*
|
0.2.6.1-alpha
|
0.4.9.9
|