Problem:

A production security scan flagged CVE-2026-42945 in the Kubernetes ingress controller image. The customer reported use of ingress-nginx/controller:v1.12.1 and also verified the issue exists in ingress-nginx/controller:v1.15.1. The scan result and customer concern described this CVE as a high-severity security exposure affecting live traffic handling in production clusters. The deployment used upstream community controller images (no custom modules reported) on standard Kubernetes nodes; the customer requested a patched controller image or an ETA for an upstream release that removes the CVE.

Process:

Step 1: Confirm vulnerability source and scope — Review of the vulnerability report and container image metadata focused on the ingress controller image manifests and embedded NGINX version. Image tags and published manifests were compared to known NGINX releases; discovery showed the CVE originates in the underlying NGINX engine version packaged into the controller image rather than in controller logic or configuration. This mattered because fixing the CVE required rebuilding the controller image with an updated NGINX binary, not only a configuration change.

Step 2: Verify upstream remediation status — Checked the NGINX project release notes and public advisories for CVE-2026-42945 to confirm whether upstream NGINX contained a fix and which NGINX release includes it. The NGINX project had published a fix in a specific NGINX release line, but the community ingress-nginx project had not incorporated that NGINX release into an official controller image. This indicated no immediate official controller image would be available without a backport or a new upstream controller release.

Step 3: Assess mitigation options and operational risk — Reviewed available configuration-level mitigations and the customer’s operational constraints. A configuration mitigation was available immediately (acceptable as a short-term guardrail) but did not eliminate the vulnerable code path in the runtime binary. The customer emphasized a commitment to continued vendor support for CVE fixes and requested a prioritized patch; this elevated the response from advisory to an actionable build plan.

Step 4: Define patch delivery plan and required inputs — Prepared a reproducible build-and-validation plan: backporting the NGINX fix into the customer’s controller base (targeting the reported v1.15.1 build with NGINX 1.27.1), recompiling without changing feature or module compatibility, producing a signed image for the customer registry, and running functional/regression tests plus an updated vulnerability scan and a VEX (vulnerability explanation) statement. To finalize scope and schedule, a request was issued for the exact controller image reference and sha256 digest in use, CPU architectures required (amd64/arm64), confirmation that the image was upstream stock (or details of custom modules), the target registry and signing/provenance requirements, and Kubernetes/Helm versions or air-gapped constraints. Collecting these inputs mattered because build reproducibility and validation gating depend on exact image and platform details.

Step 5: Build, validate and release patched image (transition to Solution) — Using the confirmed image reference and architecture targets, the plan executed a backport build: the fixed NGINX release was integrated into the controller build, the image was rebuilt for the requested architectures, automated regression and functional test suites were run, and an updated vulnerability scan and VEX statement were produced. Successful validation and packaging then informed the release and registry publication workflow.

Solution:

A patched ingress controller image was produced by backporting the NGINX fix for CVE-2026-42945 into the customer’s controller build (retaining the controller’s existing functionality and module compatibility). The rebuilt images were compiled for the requested CPU architectures, subjected to functional/regression tests, and rescanned for vulnerabilities; a validation report and VEX statement were delivered alongside signed images published to the customer’s target registry. Updating the embedded NGINX binary removes the vulnerable code paths at the runtime layer, so traffic handling no longer exposes the CVE while controller behavior remains unchanged.

Conclusion:

The patched controller image eliminated the reported CVE exposure in production, enabling the customer to replace affected images with validated, signed artifacts. Short-term configuration mitigations remained available during the build window; the validated release reduced security risk and restored compliance posture without altering application-facing behavior or requiring controller configuration changes.