
स्रोत-निर्मित nginx 1.25.5 कंटेनर जिसमें बैकपोर्टेड CVE-2026-42945 फिक्स, OpenSSL अपग्रेड, पूर्ण प्रोवेनेंस चेन, और VEX प्रमाणीकरण शामिल है।
nginx:1.25-bookworm के लिए स्रोत-निर्मित ड्रॉप-इनएक स्रोत-निर्मित nginx 1.25.5 कंटेनर इमेज जो आधिकारिक nginx:1.25-bookworm इमेज में मौजूद दो CVEs को ठीक करता है, जबकि अपस्ट्रीम रनटाइम व्यवहार को संरक्षित रखता है।
| CVE | Component | Severity | Technique | Verification model |
|---|---|---|---|---|
| CVE-2024-6119 | OpenSSL / libssl3 | उच्च | निर्भरता संस्करण वृद्धि | स्कैनर-सत्यापन योग्य: libssl3 3.0.20 dpkg डेटाबेस में दृश्यमान |
| CVE-2026-42945 | nginx ngx_http_rewrite_module | गंभीर | बैकपोर्टेड स्रोत पैच | स्रोत-सत्यापन योग्य: पैच व्युत्पत्ति + प्रतिगमन परीक्षण + बिल्ड प्रमाणीकरण + VEX |
ये दो अलग-अलग उपचार मॉडल प्रस्तुत करते हैं:
इस इमेज के nginx -V कॉन्फ़िगर आर्गुमेंट nginx:1.25-bookworm के आर्गुमेंट से मेल खाते हैं (-ffile-prefix-map बिल्ड पथ को सामान्य करने के बाद वर्ण-दर-वर्ण तुलना; test/compat.py::test_nginx_version में सत्यापित)।
परीक्षण सूट (make test) 89 अभिकथनों को मान्य करता है जो इमेज मेटाडेटा, डायनामिक मॉड्यूल, फ़ाइलसिस्टम लेआउट, एंट्रीपॉइंट व्यवहार, dpkg पैकेजिंग और लाइव अपस्ट्रीम इमेज के विरुद्ध HTTP अनुरोध हैंडलिंग को कवर करते हैं।
अपस्ट्रीम से ज्ञात अंतर (समान के रूप में मान्य नहीं):
nginx -V में built with OpenSSL X.X.X लाइन बिल्डर के libssl-dev संस्करण को दर्शाती है, जो अपस्ट्रीम के कंपाइल-टाइम OpenSSL से भिन्न हो सकता है।debian:bookworm-slim आधार।libssl3 संस्करण वही है जो bookworm वर्तमान में प्रदान करता है (लेखन के समय 3.0.20), अपस्ट्रीम इमेज में पिन किए गए संस्करण के बजाय।make image
make test
make test-cve
make verify-patch
make scan
बनाने, परीक्षण करने और स्कैन करने के लिए एक कमांड:```bash
make all
build/ Dockerfile.build Builder image (debian:bookworm-slim + compilation deps) build.sh Fetch → verify → patch → compile → package nginx generate-vex.sh Generate OpenVEX document for backported CVE verify-patch.sh Re-derive patch from upstream tarballs (audit tool) patches/ CVE-2026-42945.patch Backported one-line fix from nginx 1.30.1 CVE-2026-42945.provenance.json Machine-readable patch provenance and derivation metadata
test/ compat.py 89-assertion compatibility test suite (runs against live upstream) test_cve_2026_42945.py CVE-specific regression test (exercises vulnerable code path)
artifacts/
patch-attestation.json Build-time patch attestation (tracked)
nginx_*.deb Compiled package (gitignored - rebuilt via make build-source)
nginx Compiled binary (gitignored)
Containerfile Final runtime image definition
Makefile Orchestrates build → test → scan pipeline
vex.json Generated OpenVEX v0.2.0 document
baseline-trivy.txt Point-in-time Trivy scan of nginx:1.25-bookworm
baseline-grype.txt Point-in-time Grype scan of nginx:1.25-bookworm
fixed-trivy.txt Trivy scan of the fixed image
fixed-grype.txt Grype scan of the fixed image (without VEX)
fixed-grype-vex.txt Grype scan of the fixed image (with VEX applied)
## निर्माण प्रक्रिया
### आर्किटेक्चर```
debian:bookworm-slim (builder)
└─ build.sh
├─ curl nginx-1.25.5.tar.gz (SHA256-verified)
├─ curl njs-0.8.4 from github.com/nginx/njs
├─ patch -p1 < CVE-2026-42945.patch
├─ ./configure (flags identical to upstream nginx -V)
├─ make: release binary, debug binary, 4 dynamic module families (×2 release/debug)
├─ make: NJS modules (×2 release/debug) + njs CLI binary
└─ dpkg-deb → nginx_1.25.5-1~bookworm+echo1_<arch>.deb
debian:bookworm-slim (runtime)
├─ apt-get install runtime deps (libssl3 ≥ 3.0.14 enforced)
├─ dpkg -i nginx_*.deb
└─ COPY --from=upstream /docker-entrypoint.sh + /docker-entrypoint.d/
Containerfile /etc/nginx को अपस्ट्रीम से कॉपी नहीं करता। सभी कॉन्फ़िगरेशन फ़ाइलें .deb के अंदर भेजी जाती हैं और dpkg के conffile तंत्र द्वारा ट्रैक की जाती हैं। यह 10-listen-on-ipv6-by-default.sh एंट्रीपॉइंट स्क्रिप्ट के लिए आवश्यक है, जो यह पता लगाने के लिए dpkg-query का उपयोग करती है कि default.conf को उपयोगकर्ता द्वारा संशोधित किया गया है या नहीं।
./configure && make। कोई अपस्ट्रीम बाइनरी नहीं, न ही apt install nginx।build.sh केवल पिन किए गए स्रोत आर्काइव प्राप्त करता है।निर्माण अधिकतर पुनरुत्पादनीय है लेकिन हर्मेटिक नहीं है:
Dockerfile.build में गिनाई गई हैं लेकिन संस्करण-पिन नहीं की गई हैं।पुनरुत्पादनीयता में सुधार करने के लिए, आधार इमेज digest को पिन करें:```bash docker pull debian:bookworm-slim docker inspect debian:bookworm-slim --format='{{index .RepoDigests 0}}'
---
## CVE सुधार विवरण
### CVE-2024-6119 - OpenSSL संस्करण वृद्धि
| फ़ील्ड | मान |
| -------------------- | ---------------------------------------------------- |
| **घटक** | OpenSSL / libssl3 |
| **गंभीरता** | उच्च (CVSS 7.5) |
| **प्रकार** | X.509 नाम जांच के माध्यम से सेवा अस्वीकृति (Denial of Service) |
| **आधार संस्करण** | 3.0.11-1~deb12u2 |
| **स्थिर संस्करण** | 3.0.14-1~deb12u2 (या बाद का) |
| **हमारा संस्करण** | 3.0.20-1~deb12u1 |
| **NVD** | https://nvd.nist.gov/vuln/detail/CVE-2024-6119 |
| **परामर्श** | https://openssl-library.org/news/secadv/20240903.txt |
**सुधार कैसे काम करता है:**
`.deb` पैकेज `Depends: libssl3 (>= 3.0.14)` घोषित करता है, जो
`apt-get install` को सुधार शामिल करने वाले OpenSSL संस्करण को खींचने के लिए बाध्य करता है। वर्तमान
Debian bookworm रिपॉजिटरी 3.0.20 प्रदान करते हैं, जो CVE-2024-6119 और
आधार रेखा से दर्जनों अन्य OpenSSL CVEs को ठीक करता है (CVE-2024-2511, CVE-2024-5535,
CVE-2024-4741, CVE-2023-5678, CVE-2023-6129, CVE-2023-6237, CVE-2024-9143,
CVE-2025-15467, CVE-2025-69420)।