IS  NGINX IngressNightmare bad? Bad news it is: Critical Remote Code Execution Threats (CVE-2025-1097, CVE-2025-1098, CVE-2025-24514, CVE-2025-1974)

Security teams tracking application security, ASPM, and phoenix security have seen a surge of concern around multiple unauthenticated remote code execution flaws (CVE-2025-1097, CVE-2025-1098, CVE-2025-24514, and CVE-2025-1974) in ingress-nginx, since the attack is a Remote Code Execution and likely to be exploited at scale we wanted to cover the key element in this article. These vulnerabilities, collectively dubbed IngressNightmare on for Ingress NGINX Controller, pose a severe cybersecurity risk, with the potential for cluster-wide takeover in Kubernetes deployments that rely on NGINX as a front-end proxy.

Not one vulnerability but a chain of vulnerabilities The vulnerabilities (CVE-2025-24513, CVE-2025-24514, CVE-2025-1097, CVE-2025-1098, and CVE-2025-1974 ), assigned a CVSS score of 9.8


Overview of the Vulnerabilities

CVE-2025-1097, CVE-2025-1098, CVE-2025-24514, and CVE-2025-1974 named IngressNightmare allow attackers to inject and execute malicious configuration directives on NGINX. Researchers at Wiz identified these flaws, highlighting that over 40% of internet-facing Kubernetes clusters utilize ingress-nginx. When leveraged successfully, a threat actor can obtain full access to all stored secrets across the cluster’s namespaces, leading to privilege escalation and data compromise.

CVE-2025-1974 stands out with a CVSS score of 9.8. It exposes a pathway for anyone with network access to the pod interface to exploit configuration injection in the Validating Admission Controller feature. This path bypasses the usual requirement for creating an Ingress object, making cluster takeover achievable without special permissions.


Listen to the Blog:

Threat Actor Identified and Impact

A series of research studies (culminating in IngressNightmare) led to the disclosure and coordinated remediation with ingress-nginx maintainers and the Kubernetes Security Response Committee. Real-world threat actors exploiting these weaknesses gain unauthenticated remote code execution capability, unlocking cluster-wide secrets. Such adversaries can inject crafted Ingress objects or manipulate admission controller traffic to coerce the environment into loading arbitrary shared libraries. The critical severity stems from the substantial privileges assigned to ingress-nginx, which often includes read access to every Secret in the cluster.

To exploit the vulnerability, an attacker needs to perform the following steps:

  • Use NGINX Client Body Buffering to upload a shared library to the target pod
  • Send an AdmissionReview request to the NGINX admission controller with the ssl_engine load_module directive, causing NGINX to load the previously uploaded shared library
  • Get the shared library being executed using the file descriptor reference from the /proc filesystem (in particular, by searching for it in /proc/*/fd/*)

Attack Technique: Configuration Injection and Shared Library Loading

What composes IngressNightmare:

Annotation Misuse (CVE-2025-1097, CVE-2025-1098, CVE-2025-24514): Threat actors modify relevant fields (auth-url, auth-tls-match-cn, or even the UID) to slip malicious NGINX directives into the config file.

• RCE Escalation (CVE-2025-1974): The controller runs nginx -t on this doctored configuration. Directives like ssl_engine load an attacker-hosted shared library from a disk location, exploiting a race with NGINX’s client body buffer functionality to place payloads into the pod’s file system.

Ransomware Attack Vectors and Vulnerability Percentages for CVE-2025-1974 like

How likely would this be weaponized and used at scale for exploitation and threat actors? Very high, being on the external controller and having access to secrets.

The Phoenix Security 0-day and ransomware threat likelihood puts IngressNightmare vulnerability high on exploitation tactics, indicating a heavy reliance on flaws enabling remote code execution and privilege escalation in ransomware campaigns. Reported percentages include:

Remote Code Execution: 40.4%

Privilege Escalation: 16.9%

Authentication Bypass: 13.6%

Ingress-nginx flaws land squarely in the most favored category for ransomware operators: RCE. This single factor underscores the urgency of a swift remediation strategy, because infiltration at the ingress level can provide an all-in-one route to exfiltrate data, elevate privileges, and distribute ransomware payloads across a cluster.

The more frequent user of this threat type is clop followed by conti and other groups as seen below:

Deep Dive into the Attack Mechanism

The core problem with IngressNightmare lies in how ingress-nginx generates and tests NGINX configurations whenever a new Ingress object appears or a validation request arrives. By manipulating annotations (auth-url, auth-tls-match-cn) or the Ingress UID, malicious directives slip into the temporary NGINX configuration file. When the process runs nginx -t to verify the configuration, it interprets these directives.

Attackers extend the compromise further with the ssl_engine directive, which can load shared libraries at any stage. Combined with NGINX’s client body buffer behavior, a malicious library file is uploaded to the pod’s file system through an open file descriptor. The NGINX configuration test then loads that rogue file, granting the attacker code execution privileges equivalent to the ingress-nginx pod itself.

Credit to wiz research team for discovering this vulnerability

Upload results into Phoenix:

Vulnerability Importer Phoenix: https://github.com/Security-Phoenix-demo/Utilis/blob/main/thrivi_Scan.py

Link to trivi scan: https://github.com/aquasecurity/trivy


Remediation and Defensive Measures for NGNX CVE-2025-1974

1. Immediate Patch ngnx against CVE-2025-1974

• Upgrade to ingress-nginx v1.12.1 or v1.11.5 where all known vulnerabilities are addressed.

• Confirm the version by checking your cluster’s deployment manifests or using Helm repository updates.

2. Restrict Network Access to the Admission Controller:

• Avoid exposing the webhook externally.

• Implement strict network policies that ensure only the Kubernetes API server can contact the admission controller.

3. Disable the Validating Admission Controller if Upgrades Are Delayed:

• For Helm installations, set controller.admissionWebhooks.enabled=false.

• For manual deployments, delete the ingress-nginx-admission ValidatingWebhookConfiguration and remove the –validating-webhook argument from the ingress-nginx-controller container.

4. Re-enable Safeguards Post-Upgrade:

• Switch the Validating Admission Controller back on after patching. It catches errors in Ingress definitions that can otherwise cause instability or unexpected behavior.

5. Enhanced Detection and Monitoring:

• Review cluster logs for suspicious AdmissionReview requests.

• Consider solutions that monitor ingress traffic and runtime anomalies, particularly any load of unexpected shared libraries.

• Verify that secrets are not overexposed through broad role-based access control (RBAC) permissions.


Detecting the Vulnerability CVE-2025-1974 IngressNightmare

First, determine if your clusters are using ingress-nginx. In most cases, you can check this by running kubectl get pods –all-namespaces –selector app.kubernetes.io/name=ingress-nginx with cluster administrator permissions.

If you are using ingress-nginx, make a plan to remediate these vulnerabilities immediately.

The best and easiest remedy is to upgrade to the new patch release of ingress-nginx. All five of today’s vulnerabilities are fixed by installing today’s patches.

If you can’t upgrade right away, you can significantly reduce your risk by turning off the Validating Admission Controller feature of ingress-nginx.

  • If you have installed ingress-nginx using Helm
    • Reinstall, setting the Helm value controller.admissionWebhooks.enabled=false
  • If you have installed ingress-nginx manually
    • delete the ValidatingWebhookconfiguration called ingress-nginx-admission
    • edit the ingress-nginx-controller Deployment or Daemonset, removing –validating-webhook from the controller container’s argument list

If you turn off the Validating Admission Controller feature as a mitigation for CVE-2025-1974 (IngressNightmare), remember to turn it back on after you upgrade. This feature provides important quality of life improvements for your users, warning them about incorrect Ingress configurations before they can take effect.

Static Analysis of Containers and Build Files for CVE-2025-1974 and IngressNightmare

Dockerfiles and Image Layers: If you can access container build files, check the base image tag or installation commands. For example, a Dockerfile might use FROM nginx:1.21.0 or run apt-get install nginx=1.18.0. These explicitly indicate the NGINX version. Even without the Dockerfile, image metadata and layers can reveal this. Tools like Dive, Skopeo, or docker history can show the base image name/tag or commands used to install NGINX (e.g. an apk add nginx in Alpine) . You can also search the filesystem of the image for the NGINX binary or package info:

• Inspect package manager databases (e.g. dpkg -l | grep nginx or apk info nginx files) to find the installed version.

• Look for the NGINX binary (nginx or nginx.exe) and run nginx -v if possible, or use strings on the binary to find a version string (the binary typically contains a string like “nginx/1.X.Y”).

Image Scanning Tools: Container vulnerability scanners can automatically detect NGINX in images. Tools such as Trivy and Grype parse OS package info and file signatures to list NGINX with its version. For example, scanning an image with Trivy might report an entry for the “nginx” package with an installed version, as shown below :

In this Trivy output, the NGINX package is identified (version 1.18.0) and is flagged with a CVE. Similarly, Syft (SBOM generator) will list NGINX in the software bill of materials. These tools are commonly used in CI pipelines (DevSecOps) to flag outdated or vulnerable NGINX in container builds.

Configuration Files: NGINX configuration files themselves don’t typically contain the version. However, they might hint at a distribution (for example, an /etc/nginx/nginx.conf from Ubuntu vs Alpine differ ) which can imply the NGINX build version. If config files are packaged, they could indicate if it’s NGINX Open Source or a custom build (e.g., references to modules like ngx_http_js_module might suggest NGINX Plus or OpenResty).

Limitations (Static): In multi-stage builds or minimal images, the package metadata might be absent (e.g. if NGINX was copied in). In such cases, scanners might miss it. Trivy and Grype have improved detection (even scanning for known binary signatures ), but a custom-built or stripped binary could evade easy identification. Always ensure the scanner covers “unpackaged” binaries if using a custom NGINX build. If the image uses an OS distro package, note that the apparent version string may not reflect security patches (distributions often backport fixes without changing the version string, which can confuse naive version checks).

Using Vulnerability Scanner Outputs

Security scan reports (from tools like Trivy, Grype, etc.) often explicitly list the NGINX version. In vulnerability reports, NGINX may appear either as an installed package (for image scanners) or as a detected service (for network scanners). For example, an external web scan might show “nginx 1.14.2 (Ubuntu) detected” and enumerate vulnerabilities. Similarly, Trivy/Grype output will list NGINX under vulnerable packages with CVE IDs, as shown in the example above, where CVE-2023-44487 is flagged for a specific NGINX version.

You can input those vulnerabilities automatically into Phoenix with this module : 

Tools and Commands:

Trivy/Grype: trivy image <image>:<tag> or grype <image>:<tag> will produce a table of vulnerabilities. Look for “nginx” in the package name column to find the version.

Kubernetes-specific: If using Trivy’s K8s integration, running trivy k8s will scan images of running pods (including NGINX ingress controllers) . This helps detect NGINX versions in cluster workloads as part of a DevSecOps routine.

Key Security Takeaways

RCE on the Frontend: Externally exposed ingress controllers are popular targets due to their visibility. The flaws discussed here place a severe spotlight on remote code execution paths through NGINX.

Wide Impact: Compromise of the ingress-nginx pod allows secret exfiltration across all namespaces. This scenario is impactful for any business reliant on Kubernetes.

ASPM and Phoenix Security Integration: Tools and processes for application security posture management benefit from scanning for vulnerable admission controllers. Quick identification and patching reduce the attack surface.

Ongoing Vigilance: Admission controllers are high-privilege components. Code reviews and strong network boundaries are critical. Additional threat modeling for SSRF or container-escape vectors strengthens overall security posture.


Keeping ingress-nginx fully updated and ensuring minimal exposure of its admission controller block these significant threats. Security practitioners, especially those focused on remediation and multi-cloud cybersecurity, should verify that recent patches are installed to avoid infiltration by adversaries seeking cluster-level control. Regular assessments of RBAC configurations and network boundaries can prevent similar vulnerabilities from escalating into more extensive breaches.

Get on top of your code and container vulnerabilities with Phoenix Security Actionable ASPM

attack graph phoenix security
ASPM

Organizations often face an overwhelming volume of security alerts, including false positives and duplicate vulnerabilities, which can distract from real threats. Traditional tools may overwhelm engineers with lengthy, misaligned lists that fail to reflect business objectives or the risk tolerance of product owners.

Phoenix Security offers a transformative solution through its Actionable Application Security Posture Management (ASPM), powered by AI-based Contextual Quantitative analysis. This innovative approach correlates runtime data with code analysis to deliver a single, prioritized list of vulnerabilities. This list is tailored to the specific needs of engineering teams and aligns with executive goals, reducing noise and focusing efforts on the most critical issues. Why do people talk about Phoenix

Automated Triage: Phoenix streamlines the triage process using a customizable 4D risk formula, ensuring critical vulnerabilities are addressed promptly by the right teams.

Contextual Deduplication: Utilizing canary token-based traceability, Phoenix accurately deduplicates and tracks vulnerabilities within application code and deployment environments, allowing teams to concentrate on genuine threats.

Actionable Threat Intelligence: Phoenix provides real-time insights into vulnerabilities’ exploitability, combining runtime threat intelligence with application security data for precise risk mitigation.

ASPm, CISA KEV, Remote Code Execution, Inforamtion Leak, Category, Impact, MITRE&ATTACK, AI Assessment, Phoenix CISA KEV, Threat intelligence

By leveraging Phoenix Security, you not only unravel the potential threats but also take a significant stride in vulnerability management, ensuring your application security remains up to date and focuses on the key vulnerabilities.

Get in control of your Application Security posture and Vulnerability management

Get on top of your code and container vulnerabilities with Phoenix Security Actionable ASPM powered by AI-based Reachability Analysis

attack graph phoenix security
ASPM

Organizations often face an overwhelming volume of security alerts, including false positives and duplicate vulnerabilities, which can distract from real threats. Traditional tools may overwhelm engineers with lengthy, misaligned lists that fail to reflect business objectives or the risk tolerance of product owners.

Phoenix Security offers a transformative solution through its Actionable Application Security Posture Management (ASPM), powered by AI-based Contextual Quantitative analysis. This innovative approach correlates runtime data with code analysis to deliver a single, prioritized list of vulnerabilities. This list is tailored to the specific needs of engineering teams and aligns with executive goals, reducing noise and focusing efforts on the most critical issues.

Why do people talk about Phoenix?

Automated Triage: Phoenix streamlines the triage process using a customizable 4D risk formula, ensuring critical vulnerabilities are addressed promptly by the right teams.

• Contextual Deduplication with reachability analysis: Utilizing canary token-based traceability for network reachability and static and dynamic runtime reachability, Phoenix accurately deduplicates and tracks vulnerabilities within application code and deployment environments, allowing teams to concentrate on genuine threats.

Actionable Threat Intelligence: Phoenix provides real-time insights into vulnerabilities’ exploitability, combining runtime threat intelligence with application security data for precise risk mitigation.

ASPm, CISA KEV, Remote Code Execution, Inforamtion Leak, Category, Impact, MITRE&ATTACK, AI Assessment, Phoenix CISA KEV, Threat intelligence

By leveraging Phoenix Security, you not only unravel the potential threats but also take a significant stride in vulnerability management, ensuring your application security remains up to date and focuses on the key vulnerabilities.

Get a demo with your data, test Reachability Analysis and ASPM

Francesco is an internationally renowned public speaker, with multiple interviews in high-profile publications (eg. Forbes), and an author of numerous books and articles, who utilises his platform to evangelize the importance of Cloud security and cutting-edge technologies on a global scale.

Discuss this blog with our community on Slack

Join our AppSec Phoenix community on Slack to discuss this blog and other news with our professional security team

From our Blog

Learn how to predict ransomware risks and vulnerability exploitation using a threat-centric approach. Explore data-driven insights, verified exploit trends, and methods for assessing the likelihood of attacks with key references to CISA KEV, EPSS, and Phoenix Security’s 4D Risk Formula.
Francesco Cipollone
Remote Code Execution flaws continue to undermine Kubernetes ingress integrity. IngressNightmare (CVE-2025-1097, CVE-2025-1098, CVE-2025-24514, CVE-2025-1974) showcases severe threat vectors in NGINX-based proxies, leading to cluster-wide exposure. ASPM, robust remediation tactics, and strong application security solutions—like Phoenix Security—mitigate these vulnerabilities before ransomware groups exploit them.
Francesco Cipollone
Remote Code Execution flaws continue to undermine Kubernetes ingress integrity. IngressNightmare (CVE-2025-1097, CVE-2025-1098, CVE-2025-24514, CVE-2025-1974) showcases severe threat vectors in NGINX-based proxies, leading to cluster-wide exposure. ASPM, robust remediation tactics, and strong application security solutions—like Phoenix Security—mitigate these vulnerabilities before ransomware groups exploit them.
Francesco Cipollone
The recent Google acquisition of Wiz for $32 billion has sent shockwaves through the cybersecurity industry, particularly in the realm of Application Security Posture Management (ASPM). This monumental deal highlights the critical importance of cloud security and the growing demand for robust ASPM solutions. While the acquisition promises potential benefits for Google Cloud users, it also raises concerns about vendor lock-in and the future of cloud-agnostic security. Explore the implications of this acquisition and discover how neutral ASPM solutions like Phoenix Security can bridge the gap in multi-cloud environments, ensuring continuous, collaborative, and comprehensive security from code to cloud.” – Find Assets/Vulns by Scanner – Detailed findings Location information Risk-based Posture Management – Risk and Risk Magnitude for Assets – Filter assets and vulnerabilities by source scanner Integrations – BurpSuite XML Import – Assessment Import API Other Improvements – Improved multi-selection in filters – New CVSS Score column in Vulnerabilities
Alfonso Eusebio
The team at Phoenix Security pleased to bring you another set of new application security (ASPM) features and improvements for vulnerability management across application and cloud security engines. This release builds on top of previous releases with key additions and progress across multiple areas of the platform. Application Security Posture Management (ASPM) Enhancements • New Weighted Asset Risk Formula – Refined risk aggregation for tailored vulnerability management. • Auto-Approval of Risk Exceptions – Accelerate mitigation by automating security approvals. • Enhanced Risk Explorer & Business Unit Insights – Monitor and analyze risk exposure by business units for better prioritization. Vulnerability & Asset Management • Link Findings to Existing Tickets – Seamless GitHub, ServiceNow, and Azure DevOps integration. • Multi-Finding Ticketing for ADO – Group multiple vulnerabilities in a single ticket for better workflow management. • Filter by Business Unit, CWE, Ownership, and Deployment Environment – Target vulnerabilities with precision using advanced filtering. Cyber Threat Intelligence & Security Enhancements • Cyber Threat Intelligence Premium – Access 128,000+ exploits for better exploitability and fixability metrics. • SBOM, Container SBOM & Open Source Artifact Analysis – Conduct deep security analysis with reachability insights. • Enhanced Lacework Container Management – Fetch and analyze running container details for better security reporting. • REST API Enhancements – Use asset tags for automated deployments and streamline security processes. Other Key Updates • CVE & CWE Columns Added – Compare vulnerabilities more effectively. • Custom Status Management for Findings – Personalize security workflows with custom status configurations. • Impact & Risk Explorer Side Panel – Gain heatmap-based insights into vulnerability distribution and team risk impact. 🚀 Stay ahead of vulnerabilities, optimize risk assessment, and enhance security efficiency with Phoenix Security’s latest features! 🚀
Alfonso Eusebio
Discover CVE-2025-30066 tj-actions/changed-files GitHub Action has been compromised, exposing secrets in CI/CD pipelines and posing a major software supply chain security risk. Attackers injected malicious code into all versions (V1–V45), repointing existing tags to a compromised commit that exfiltrated credentials via GitHub Actions logs. Immediate remediation is required—organizations must scan their repositories, rotate secrets, and replace the action to mitigate risk. Learn how Phoenix Security’s ASPM can automate threat detection and enhance GitHub Actions security.
Francesco Cipollone
Derek

Derek Fisher

Head of product security at a global fintech

Derek Fisher – Head of product security at a global fintech. Speaker, instructor, and author in application security.

Derek is an award winning author of a children’s book series in cybersecurity as well as the author of “The Application Security Handbook.” He is a university instructor at Temple University where he teaches software development security to undergraduate and graduate students. He is a speaker on topics in the cybersecurity space and has led teams, large and small, at organizations in the healthcare and financial industries. He has built and matured information security teams as well as implemented organizational information security strategies to reduce the organizations risk.

Derek got his start in the hardware engineering space where he learned about designing circuits and building assemblies for commercial and military applications. He later pursued a computer science degree in order to advance a career in software development. This is where Derek was introduced to cybersecurity and soon caught the bug. He found a mentor to help him grow in cybersecurity and then pursued a graduate degree in the subject.

Since then Derek has worked in the product security space as an architect and leader. He has led teams to deliver more secure software in organizations from multiple industries. His focus has been to raise the security awareness of the engineering organization while maintaining a practice of secure code development, delivery, and operations.

In his role, Jeevan handles a range of tasks, from architecting security solutions to collaborating with Engineering Leadership to address security vulnerabilities at scale and embed security into the fabric of the organization.

Jeevan Singh

Jeevan Singh

Founder of Manicode Security

Jeevan Singh is the Director of Security Engineering at Rippling, with a background spanning various Engineering and Security leadership roles over the course of his career. He’s dedicated to the integration of security practices into software development, working to create a security-aware culture within organizations and imparting security best practices to the team.
In his role, Jeevan handles a range of tasks, from architecting security solutions to collaborating with Engineering Leadership to address security vulnerabilities at scale and embed security into the fabric of the organization.

James

James Berthoty

Founder of Latio Tech

James Berthoty has over ten years of experience across product and security domains. He founded Latio Tech to help companies find the right security tools for their needs without vendor bias.

christophe

Christophe Parisel

Senior Cloud Security Architect

Senior Cloud Security Architect

Chris

Chris Romeo

Co-Founder
Security Journey

Chris Romeo is a leading voice and thinker in application security, threat modeling, and security champions and the CEO of Devici and General Partner at Kerr Ventures. Chris hosts the award-winning “Application Security Podcast,” “The Security Table,” and “The Threat Modeling Podcast” and is a highly rated industry speaker and trainer, featured at the RSA Conference, the AppSec Village @ DefCon, OWASP Global AppSec, ISC2 Security Congress, InfoSec World and All Day DevOps. Chris founded Security Journey, a security education company, leading to an exit in 2022. Chris was the Chief Security Advocate at Cisco, spreading security knowledge through education and champion programs. Chris has twenty-six years of security experience, holding positions across the gamut, including application security, security engineering, incident response, and various Executive roles. Chris holds the CISSP and CSSLP certifications.

jim

Jim Manico

Founder of Manicode Security

Jim Manico is the founder of Manicode Security, where he trains software developers on secure coding and security engineering. Jim is also the founder of Brakeman Security, Inc. and an investor/advisor for Signal Sciences. He is the author of Iron-Clad Java: Building Secure Web Applications (McGraw-Hill), a frequent speaker on secure software practices, and a member of the JavaOne Rockstar speaker community. Jim is also a volunteer for and former board member of the OWASP foundation.

Join our Mailing list!

Get all the latest news, exclusive deals, and feature updates.

The IKIGAI concept
x  Powerful Protection for WordPress, from Shield Security
This Site Is Protected By
ShieldPRO