
Преднамеренно уязвимые лабораторные образы nginx 1.30.0 с уязвимостями CVE (CVE-2026-40701/42934/42945/42946) для изолированных исследований безопасности. Только для лабораторного использования.
Коллекция намеренно уязвимых Docker-образов для изучения безопасности в изолированной лаборатории. Начиналась как воспроизведение CVE в nginx и расширяется до более широкого набора образов, уязвимых по замыслу (например, DVWA).
⚠️ Безопасность
Эти образы уязвимы намеренно. Одна из CVE в nginx (CVE-2026-42945) активно эксплуатируется в реальных условиях. Запускайте их только в изолированной/локальной сети. Никогда не разворачивайте на публичном хосте и не публикуйте их как производственные образы. Каждый образ содержит
lab.vulnerable=trueи описание, предупреждающее об этом.
Все собраны на общей базе, которая компилирует nginx 1.30.0 из исходников — последний релиз, затронутый этими CVE (исправлено в 1.30.1 / 1.31.0).
| Каталог | Образ | CVE | Модуль / область |
|---|---|---|---|
base/ | rwils83/nginx-vuln-base:1.30.0 | — | общая сборка nginx 1.30.0 из исходников |
cve-2026-42945-rewrite-lab/ | rwils83/cve-2026-42945 | CVE-2026-42945 | переполнение кучи в модуле rewrite (RCE) |
cve-2026-42946-scgi-uwsgi-lab/ | rwils83/cve-2026-42946 | CVE-2026-42946 | чтение за пределами буфера в scgi/uwsgi |
cve-2026-40701-resolver-lab/ | rwils83/cve-2026-40701 | CVE-2026-40701 | использование после освобождения в резолвере (OCSP) |
cve-2026-42934-charset-lab/ | rwils83/cve-2026-42934 | CVE-2026-42934 | чтение за пределами буфера в модуле charset |
| Каталог | Образ | Примечания |
|---|---|---|
dvwa-curl-lab/ | rwils83/dvwa_with_curl | поддерживаемый DVWA (ghcr.io/digininja/DVWA) + curl/python3 |
В каждой папке есть собственный README.md с подробностями и ссылками.
Сначала нужно собрать базовый образ nginx (CVE-образы используют его в FROM):
docker build -t rwils83/nginx-vuln-base:1.30.0 ./base
docker build -t rwils83/cve-2026-42945:1.30.0 ./cve-2026-42945-rewrite-lab
docker build -t rwils83/cve-2026-42946:1.30.0 ./cve-2026-42946-scgi-uwsgi-lab
docker build -t rwils83/cve-2026-40701:1.30.0 ./cve-2026-40701-resolver-lab
docker build -t rwils83/cve-2026-42934:1.30.0 ./cve-2026-42934-charset-lab
docker build -t rwils83/dvwa_with_curl:latest ./dvwa-curl-lab
./build_all.sh собирает набор nginx (базовый образ + 4 CVE-образа).
CI собирает каждый образ *-lab/ при каждом PR/push (только сборка, без публикации), чтобы выявить поломки
до слияния. Публикация управляется git-тегами:
git tag v1.30.0-lab.2 && git push --tags # release the nginx images
git tag dvwa-v1 && git push --tags # release DVWA
Для публикации требуются секреты репозитория DOCKERHUB_USERNAME и DOCKERHUB_TOKEN.
| Шаблон тега | Сборка и публикация | Применяемые теги |
|---|
v* (например, v1.30.0-lab.2) | четыре nginx CVE-образа | <version> + :latest |
dvwa-v* (например, dvwa-v1) | dvwa_with_curl | <version> + :latest |