CVE-2025-1097
Published: 25 March 2025
Summary
CVE-2025-1097 is a high-severity Improper Input Validation (CWE-20) vulnerability. Its CVSS base score is 8.8 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 1.4% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified are NIST 800-53 AC-6 (Least Privilege) and SI-10 (Information Input Validation).
Threat & Defense at a Glance
Threat & Defense Details
Mitigating Controls (NIST 800-53 r5)AI
Directly addresses the improper input validation (CWE-20) in the auth-tls-match-cn annotation by requiring validation of Ingress annotations before processing to prevent arbitrary nginx configuration injection.
Requires timely remediation of the identified flaw in ingress-nginx through patching, eliminating the vulnerability to arbitrary code execution.
Enforces least privilege on the ingress-nginx controller's service account to restrict cluster-wide Secret access and limits low-privileged users' ability to create or modify Ingress resources.
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Vulnerability in public-facing ingress-nginx allows annotation-based config injection for RCE in controller pod, enabling exploitation of public-facing app (T1190), privilege escalation from low-priv Ingress access to cluster secrets/RCE (T1068), and arbitrary code execution (T1059).
NVD Description
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-cn` Ingress annotation can be used to inject configuration into nginx. This can lead to arbitrary code execution in the context of the ingress-nginx controller, and disclosure of Secrets accessible…
more
to the controller. (Note that in the default installation, the controller can access all Secrets cluster-wide.)
Deeper analysisAI
CVE-2025-1097 is a vulnerability in the ingress-nginx controller for Kubernetes, available at https://github.com/kubernetes/ingress-nginx. The flaw resides in the `auth-tls-match-cn` Ingress annotation, which allows attackers to inject arbitrary configuration into the underlying nginx process. This results in arbitrary code execution within the context of the ingress-nginx controller pod and disclosure of Kubernetes Secrets accessible to the controller. In default installations, the controller possesses cluster-wide read access to all Secrets. The issue is classified under CWE-20 (Improper Input Validation) with a CVSS v3.1 base score of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H).
An attacker with low privileges, such as the ability to create or modify Ingress resources in a Kubernetes namespace, can exploit this vulnerability over the network with low complexity and no user interaction. By crafting a malicious `auth-tls-match-cn` annotation in an Ingress object, the attacker injects nginx configuration that executes arbitrary code as the ingress-nginx controller. This grants high-impact access to confidential data like cluster-wide Secrets, enables integrity violations through code injection, and allows availability disruptions, all within the controller's scope.
Advisories and references provide guidance on mitigation. The Kubernetes issue tracker details the problem at https://github.com/kubernetes/kubernetes/issues/131007, NetApp issued a related advisory at https://security.netapp.com/advisory/ntap-20250328-0008/, and a proof-of-concept exploit is publicly available at https://www.exploit-db.com/exploits/52475. Security practitioners should review these sources for patch availability, version-specific fixes, and recommended workarounds like restricting Ingress annotations or controller permissions.
The public exploit on Exploit-DB indicates active interest and potential for real-world abuse targeting Kubernetes clusters using ingress-nginx.
Details
- CWE(s)