Vulnerabilità in systemd-coredump, che consente di determinare il contenuto della memoria dei programmi suid

È stata identificata una vulnerabilità nel componente systemd-coredump, che gestisce i file di core generati dopo la chiusura anomala dei processi (CVE-2022-4415), consentendo a un utente locale non privilegiato di determinare il contenuto della memoria dei processi privilegiati eseguiti con il flag suid root. La presenza di un problema nella configurazione predefinita è stata confermata nelle distribuzioni openSUSE, Arch, Debian, Fedora e SLES.

La vulnerabilità è causata dalla mancanza di una corretta gestione del parametro sysctl fs.suid_dumpable in systemd-coredump, che, con il valore predefinito impostato su 2, permette la generazione di core dump per processi con il flag suid. Si presume che i file di core scritti dal kernel per processi suid debbano avere i privilegi di accesso impostati in modo da consentirne la lettura solo all'utente root. Lo strumento systemd-coredump, chiamato dal kernel per salvare i file di core, salva il file di core con l'identificatore root, ma permette inoltre l'accesso ai file di core basato su ACL, consentendo la lettura sulla base dell'identificatore del proprietario che ha originariamente avviato il processo.

Questa caratteristica consente di caricare i file di core senza considerare che il programma può cambiare l'identificatore utente ed essere eseguito con privilegi elevati. L'attacco consiste nel fatto che un utente può avviare un'applicazione suid e inviare il segnale SIGSEGV, dopodiché può caricare il contenuto del file di core, che include un'istantanea della memoria del processo al momento della chiusura anomala.

Ad esempio, un utente potrebbe avviare «/usr/bin/su» e in un altro terminale terminarne l'esecuzione con il comando «kill -s SIGSEGV `pidof su`», dopo di che systemd-coredump salverà il file di core nella directory /var/lib/systemd/coredump, impostando un ACL che consente la lettura all'utente corrente. Poiché l'utility suid ‘su’ legge dalla memoria il contenuto di /etc/shadow, l'attaccante potrebbe accedere alle informazioni sugli hash delle password di tutti gli utenti nel sistema. L'utility sudo non è vulnerabile a questo attacco, poiché vieta la generazione di file di core tramite ulimit.

Secondo gli sviluppatori di systemd, la vulnerabilità è presente a partire dal rilascio di systemd 247 (novembre 2020), ma secondo il ricercatore che ha identificato il problema, anche la versione 246 è vulnerabile. La vulnerabilità si presenta se systemd è stato compilato con la libreria libacl (predefinita in tutte le distribuzioni popolari). Una correzione è attualmente disponibile sotto forma di patch. È possibile monitorare le correzioni nelle distribuzioni sulle seguenti pagine: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Come soluzione temporanea per la protezione, si può impostare sysctl fs.suid_dumpable su 0, disabilitando il passaggio dei dump al gestore systemd-coredump.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster