
PoC per CVE-2025-1974: RCE critica in Ingress-NGINX (<v1.12.1) tramite iniezione di configurazione non sicura. Sfruttabile dalla rete del pod senza credenziali, consentendo l'esecuzione di codice e potenziale takeover del cluster. Risolto in v1.12.1 e v1.11.5. Solo per ricerca/formazione.
⚠️ RCE critico in Ingress-NGINX tramite Injection di Configurazione (CVE-2025-1974 e altro)
Questo repository contiene un proof-of-concept (PoC) per CVE-2025-1974, una vulnerabilità critica (CVSS 9.8) nel controller Ingress-NGINX per Kubernetes. Questa falla consente l'esecuzione di codice remoto non autenticata tramite injection di configurazione non sicura quando si utilizza il Validating Admission Controller. È la più grave di un insieme di cinque vulnerabilità divulgate e corrette il 26 marzo 2025.
📌 Impatto:
• Versioni affette: controller Ingress-NGINX precedenti a v1.12.1 / v1.11.5
• Superficie di attacco:
• Sfruttabile da qualsiasi carico di lavoro sulla rete Pod — nessuna credenziale o privilegio amministrativo richiesto
• Gli attaccanti possono iniettare direttive NGINX arbitrarie (es. content_by_lua_block) tramite annotazioni come configuration-snippet
• Se combinate con configurazioni errate, gli attaccanti possono esfiltrare Secrets o compromettere completamente il cluster
• Ambito:
• Ingress-NGINX spesso ha accesso a tutti i Secrets del cluster per impostazione predefinita
• I Pod in una tipica VPC cloud o rete aziendale possono raggiungere l'endpoint del controller di ammissione
• I cluster interessati includono quelli che eseguono Ingress-NGINX con il controllo di ammissione abilitato (predefinito in molte configurazioni)
🛡️ Mitigazione:
• Aggiornare a Ingress-NGINX v1.12.1 o v1.11.5
• Disabilitare annotazioni rischiose (configuration-snippet, server-snippet, ecc.)
• Bloccare l'accesso di rete al Validating Admission Webhook
• Applicare RBAC rigoroso per impedire la creazione non autorizzata di Ingress
🧪 Questo PoC dimostra come gli attaccanti possono sfruttare la vulnerabilità per eseguire codice arbitrario all'interno del pod del controller Ingress — che spesso ha accesso a servizi interni e segreti — escalando fino alla completa presa del cluster in configurazioni vulnerabili.
🚨 Disclaimer: Questo PoC è solo a scopo educativo e di ricerca. Non utilizzarlo senza autorizzazione esplicita.