Vulnerabilità CrackArmor in AppArmor: 12,6 milioni di server Linux a rischio root

Vulnerabilità CrackArmor in AppArmor: 12,6 milioni di server Linux a rischio root

Le vulnerabilità CrackArmor mettono a rischio milioni di server Linux. AppArmor, un framework di controllo di accesso obbligatorio ampiamente usato, presenta nove falle critiche che consentono a utenti senza privilegi di escalare a root, violare l’isolamento dei container e causare crash del kernel. La soluzione rapida: applica subito le patch del kernel disponibili per Ubuntu, Debian e SUSE.

Queste vulnerabilità, scoperte recentemente, esistono dal 2017 nel kernel Linux versione 4.11 e successive. Colpiscono distribuzioni principali come Ubuntu, Debian e SUSE, dove AppArmor è attivo di default. Oltre 12,6 milioni di istanze enterprise in data center, cluster Kubernetes, dispositivi IoT e piattaforme cloud sono potenzialmente esposte. Un utente locale non privilegiato può sfruttare queste falle per prendere il controllo completo del sistema.

Il problema principale è una vulnerabilità di tipo ‘confused deputy’: un attaccante inganna processi privilegiati, come Sudo o Postfix, per eseguire azioni non autorizzate. Scrivendo su pseudo-file come /sys/kernel/security/apparmor/.load, .replace e .remove, si manipolano i profili di sicurezza AppArmor. Questo bypassa restrizioni come quelle degli user namespace, aprendo la porta a esecuzioni arbitrarie nel kernel.

Le conseguenze sono gravi e multifaccettate. Gli attaccanti possono bypassare policy di sicurezza, rimuovendo protezioni per demoni critici come rsyslogd o cupsd, o bloccando l’accesso SSH con profili deny-all. È possibile ottenere una shell root manipolando variabili d’ambiente e tool come sendmail di Postfix.

Inoltre, si verificano escalation di privilegi sia in user-space che kernel-space, grazie a bug come use-after-free nella funzione aa_loaddata. Questo permette di sovrascrivere file come /etc/passwd per creare account root passwordless. Nei container, si rompe l’isolamento creando namespace utente fully-capable, vanificando mitigazioni come quelle di Ubuntu.

Non mancano attacchi DoS: profili con subprofili nidificati fino a 1.024 livelli esauriscono lo stack del kernel (16 KB), causando panic e reboot forzato. Letture out-of-bounds nei profili leakano indirizzi di memoria kernel, bypassando KASLR e facilitando ulteriori exploit.

Azioni immediate per la sicurezza:

  • Applica patch kernel e AppArmor dalle vendor.
  • Scansiona endpoint Linux per versioni vulnerabili.
  • Monitora /sys/kernel/security/apparmor/ per cambiamenti sospetti.
  • Enumera asset con AppArmor su on-premise e cloud.

Queste misure riducono il rischio mentre si attendono CVE ufficiali, che saranno assegnati dal team kernel upstream.

Approfondimento tecnico

AppArmor è un Linux Security Module (LSM) incluso nel kernel mainline dal 2.6.36. Implementa Mandatory Access Control (MAC) tramite profili che confinano applicazioni basati su path file e capabilities. Le falle CrackArmor risiedono nell’implementazione LSM, non nel modello di sicurezza.

Meccanismo confused deputy (CVE-2026-XXXX principale): I file di controllo in securityfs (/sys/kernel/security/apparmor/) permettono scritture da processi privilegiati. Un utente non privilegiato apre il file descriptor, poi tricka un processo trusted (es. Sudo con CAP_SETUID) a scrivere dati malevoli. Questo carica/rimuove profili arbitrari, bypassando user namespace restrictions.

Escalation LPE user-space: Carica profilo che strips CAP_SETUID da sudo, setta MAIL_CONFIG per invocare Postfix sendmail come root. Risultato: shell root completa.

Kernel LPE via UAF: In aa_loaddata(), un use-after-free permette riallocazione memoria kernel come page table mappante /etc/passwd. Overwrite root password, accesso via su.

Container breakout: Profilo ‘userns’ su /usr/bin/time crea namespace utente illimitati, aggirando restrizioni AppArmor di Ubuntu.

DoS stack exhaustion: Rimozione ricorsiva subprofili (max 1024) overflow stack kernel x86-64, panic.

KASLR bypass: Out-of-bounds read in parsing file matching leakka 64 KiB memoria kernel, inclusi indirizzi KASLR.

Versioni colpite: Tutti kernel >=4.11 con AppArmor su Ubuntu, Debian, SUSE e derivati. Patch disponibili; verifica vendor advisories.

Mitigazioni avanzate:

  • Disabilita AppArmor se non essenziale (rischioso).
  • Usa namespace restrictions rigorose.
  • Monitora audit log AppArmor.
  • Deploy kernel con fix upstream.

Proof-of-concept esistono ma non rilasciati pubblicamente per dare tempo alle patch. La community security può validare dettagli tecnici. In container, exploit diretti senza deputy, rischiando escape teorici.

Per esperti: analizza securityfs permissions, testa profili nested, verifica aa_loaddata per UAF. Usa tool come QID 386714 per scansioni. Proteggi asset internet-facing prioritariamente.

Queste vulnerabilità sottolineano l’importanza di patching tempestivi in ambienti Linux enterprise. Mantieni sistemi aggiornati per contrastare minacce locali avanzate.

Fonte: https://cybersecuritynews.com/crackarmor-vulnerability/

Torna in alto