CVE-2024-7646 Command injection in ingress-nginx

High 8.8 Published Updated

Attackers with Ingress creation permissions can inject commands to steal controller credentials, exposing all cluster secrets.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
None listed

What is CVE-2024-7646?

CVE-2024-7646 is a high-severity command injection vulnerability in Kubernetes ingress-nginx, published on 16 Aug 2024. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

A security issue was discovered in ingress-nginx where an actor with permission to create Ingress objects (in the `networking.k8s.io` or `extensions` API group) can bypass annotation validation to inject arbitrary commands and obtain the credentials of the ingress-nginx controller. In the default configuration, that credential has access to all secrets in the cluster.

Weakness: CWE-20

Which versions are affected by CVE-2024-7646?

1 open source package ship an affected version, including github.com/kubernetes/ingress-nginx.

PackageAffectedFixed in
github.com/kubernetes/ingress-nginx GoAll versionsNone

How do I fix CVE-2024-7646?

No fix has been published for CVE-2024-7646 yet. Limit exposure of the affected software until one is available.

Upgrade, and pass arguments to programs as a list instead of through a shell. More about Command injection.

Is CVE-2024-7646 being exploited?

There is no known exploitation of CVE-2024-7646 in the wild and no public exploit code.

Public exploit code: 2 proofs of concept on GitHub.

Sources

Also known as GHSA-qx8j-xj5q-v7r3, GO-2024-3075.

Is CVE-2024-7646 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free