Varnish Enterprise до версии 6.0.16r12 допускает отказ в обслуживании «переполнение рабочего пространства» (паника демона) для общего VCL. Функция headerplus.write_req0() из vmod_headerplus обновляет базовый req0, который обычно является исходным запросом только для чтения, из которого получен req (доступный для чтения и записи из VCL). Это полезно в активном VCL после изменения req для подготовки уточненного req0 перед переключением на другой VCL с помощью действия return (vcl(<label>)).
Например, именно так Varnish Controller управляет общими развертываниями VCL. Если бы измененный запрос содержал слишком много полей заголовка для req0, это привело бы к переполнению рабочей области, что, в свою очередь, вызвало бы панику и сбой на сервере Varnish Enterprise. Это может быть использовано злонамеренными клиентами в качестве вектора атаки типа «отказ в обслуживании».
Показать оригинальное описание (EN)
Varnish Enterprise before 6.0.16r12 allows a "workspace overflow" denial of service (daemon panic) for shared VCL. The headerplus.write_req0() function from vmod_headerplus updates the underlying req0, which is normally the original read-only request from which req is derived (readable and writable from VCL). This is useful in the active VCL, after amending req, to prepare a refined req0 before switching to a different VCL with the return (vcl(<label>)) action. This is for example how the Varnish Controller operates shared VCL deployments. If the amended req contained too many header fields for req0, this would have resulted in a workspace overflow that would in turn trigger a panic and crash the Varnish Enterprise server. This could be used as a Denial of Service attack vector by malicious clients.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 12
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:*:*:*:*:*:*:*:*
|
— |
<= 6.0.15
|
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:6.0.16:r1:*:*:*:*:*:*
|
— | — |
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:6.0.16:r10:*:*:*:*:*:*
|
— | — |
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:6.0.16:r11:*:*:*:*:*:*
|
— | — |
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:6.0.16:r2:*:*:*:*:*:*
|
— | — |
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:6.0.16:r3:*:*:*:*:*:*
|
— | — |
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:6.0.16:r4:*:*:*:*:*:*
|
— | — |
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:6.0.16:r5:*:*:*:*:*:*
|
— | — |
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:6.0.16:r6:*:*:*:*:*:*
|
— | — |
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:6.0.16:r7:*:*:*:*:*:*
|
— | — |
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:6.0.16:r8:*:*:*:*:*:*
|
— | — |
|
Varnish-Software Varnish_Enterprise
cpe:2.3:a:varnish-software:varnish_enterprise:6.0.16:r9:*:*:*:*:*:*
|
— | — |