
고의로 취약점이 포함된 nginx 1.30.0 CVE 실험실 이미지(CVE-2026-40701/42934/42945/42946) - 격리된 보안 연구용. 연구실 전용.
격리된 연구실 환경에서 보안 학습을 위한 의도적으로 취약하게 만든 Docker 이미지 모음입니다. nginx CVE 재현으로 시작하여 현재는 DVWA와 같은 의도적으로 취약하게 설계된 더 넓은 범위의 이미지로 성장하고 있습니다.
⚠️ 안전
이 이미지들은 의도적으로 취약합니다. nginx CVE 중 하나(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 | resolver use-after-free (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는 각 PR/푸시 시 모든 *-lab/ 이미지를 빌드하여(빌드 전용, 푸시 없음) 병합 전에 손상을 감지합니다. 게시는 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 |