vulnerabilità libuser (CVE-2015-3245 and CVE-2015-3246)
Il Red Hat Product Security è venuto a conoscenza di due vulnerabilità relative alla sicurezza di userhelper
(parte del pacchetto usermode
) e della librerialibuser
. Utenti locali autenticati con accesso alla shell, sono in grado di combinare queste vulnerabilità per avere una escalation dei privilegi locali a utente root. Per questo motivo è stato assegnato CVE-2015-3245 e CVE-2015-3246. Le suddette vulnerabilità hanno un impatto Importante. Red Hat desidera ringraziare Qualys per aver segnalato questo problema.
Informazioni supplementari
La libreria libuser
implementa una interfaccia standardizzata per la manipolazione e l'amministrazione degli account dei gruppi e degli utenti. Il programma userhelper, incluso nel pacchetto
usermode`, fornisce una interfaccia non-interattiva per la modifica della password utente, del campo GECOS e la shell.
Impatto
Consultare le seguenti sezioni per una descrizione delle due vulnerabilità.
Condizione di corsa critica nell'aggiornamento del file della password (CVE-2015-3246, Importante)
È stata identificata una falla nella gestione del file /etc/passwd
da parte di libuser
. Anche se programmi tradizionali come passwd
, chfn
e chsh
operavano su una copia temporanea di /etc/passwd
, ed eventualmente utilizzavano la funzione rename()
per rinominare la copia stessa, libuser
modificava direttamente/etc/passwd
. In tali condizioni, e in presenza di errore durante queste modifiche, libuser
poteva lasciare /etc/passwd
in uno stato inconsistente.
Questo comportamento poteva risultare in un attacco locale di tipo denial-of-service, e se usato insieme ad una seconda vulnerabilità (CVE-2015-3245, di seguito descritta), poteva risultare in una escalation dei privilegi a utente root.
Consultare la tabella di seguito riportata per i link sui security advisory che risolvono questo problema.
Assenza di una convalida dei contenuti presenti nel campo GECOS (CVE-2015-3245, Moderate)
La funzione chfn
dell'utilità userhelper
non filtrava correttamente i caratteri di nuova riga. La funzione chfn
implementata da userhelper
, verificava la validità dei campi presenti sulla riga di comando (assenza di caratteri proibiti). Sfortunatamente questi caratteri (:,=
) non includevano il carattere \n
e permettevano così a utenti maliziosi locali, di inserire caratteri di nuova riga nel file /etc/passwd
alterandolo in modo inaspettato.
Un utente malizioso poteva sfruttare questa falla per corrompere il file /etc/passwd
dando luogo a un attacco denial-of-service.
Nota: Questo problema anche se inizialmente attribuito al pacchetto usermode
, è stato corretto con un aggiornamento a libuser
poichè era necessario correggere la vulnerabilità CVE-2015-3246.
Security Advisory
Tutte le versioni di libuser
incluse con Red Hat Enterprise Linux 6 e 7 sono interessate da questo tipo di vulnerabilità. Consultare la tabella di seguito indicata per i security advisory idonei a risolvere questo tipo di problema:
Product | Advisory |
---|---|
Red Hat Enterprise Linux 6 | RHSA-2015:1482 |
Red Hat Enterprise Linux 7 | RHSA-2015:1483 |
Questa vulnerabilità riguarda anche Red Hat Enterprise Linux 5, il quale è in Fase 3 di produzione per il supporto e gestione del ciclo di vita. Attualmente non è previsto l'inclusione di questo problema in aggiornamenti futuri di Red Hat Enterprise Linux 5. Per informazioni aggiuntive consultare la Red Hat Enterprise Linux Life Cycle.
Atomic Host & Containers
Tutte le immagini dei container ufficiali rese disponibili da Red Hat includono una versione vulnerabile della libreria libuser
. Gli utenti interessati possono utilizzare yum per un aggiornamento alla versione corretta (Consultare la 'Soluzione' di seguito riportata). Così facendo risolverete questa vulnerabilità. Le compilazioni aggiornate dei container che riflettono questi aggiornamenti verranno pubblicate appena possibile.
Atomic Host include una versione vulnerabile della libreria libuser
. È possibile aggiornare qualsiasi container di Atomic alla versione corretta dei pacchetti mediante la funzione interna yum. Non è possibile sfruttare Atomic host da un container usando questo tipo di vulnerabilità. Un futuro aggiornamento completo per Atomic host risolverà questo problema.
Immagini cloud e Dispositivi
Tutte le immagini dei dispositivi ufficiali e cloud resi disponibili da Red Hat includono una versione vulnerabile della libreria libuser
. Gli utenti interessati possono utilizzare yum per un aggiornamento alla versione corretta (Consultare la 'Soluzione' di seguito riportata). Così facendo risolverete questa vulnerabilità. Le compilazioni aggiornate dei container che riflettono questi aggiornamenti verranno pubblicate appena possibile.
Amazon Web Services
Red Hat Enterprise Linux Amazon Machine Instances include una versione vulnerabile della libreria libuser
. È possibile aggiornare qualsiasi sistema alla versione corretta dei pacchetti usando la funzione yum interna (consultare la 'Soluzione' di seguito riportata).
Immagini RHEV-H
Le immagini del dispositivo di Red Hat Enterprise Virtualization Hypervisor includono una versione vulnerabile della libreria libuser
. Queste immagini non devono essere utilizzate con macchine virtuali e non devono avere utenti non fidati.
Non è possibile attaccare gli host RHEV-H da una macchina virtuale sfruttando questo tipo di vulnerabilità. Un aggiornamento futuro dell'immagine RHEV-H correggerà questo tipo di problema.
Soluzione
Per eliminare il verificarsi di questo tipo di vulnerabilità installare i pacchetti libuser
aggiornati, disponibili attraverso le advisory presenti nell'elenco sopra indicato.
Per installare gli aggiornamenti usare il gestore dei pacchetti yum nel modo seguente:
yum update
Per aggiornare solo il pacchetto libuser
e le relative dipendenze, usare:
yum update libuser
Come minimizzare i rischi
A causa del tipo di funzionamento di libuser
solo gli utenti con un account presente in /etc/passwd
possono sfruttare questa vulnerabilità. L'utente dovrà fornire la password dell'account come parte del processo usato per un attacco. Ciò significa che i requisiti necessari per un attacco utilizzando account elencati solo in LDAP (o altri sorgenti di dati NSS), o tramite account del sistema sprovvisti di una password valida, non sono possibili.
Sui sistemi dove non è possibile aggiornare libuser
, gli amministratori potranno aggiungere regole pam_warn
e pam_deny
ai due file, /etc/pam.d/chfn
e /etc/pam.d/chsh
, per impedire a utenti non-root l'uso di servizi vulnerabili. Con queste modifiche i file dovrebbero contenere:
#%PAM-1.0
auth sufficient pam_rootok.so
auth required pam_warn.so
auth required pam_deny.so
auth include system-auth
account include system-auth
password include system-auth
session include system-auth
Dopo queste modifiche eventuali tentativi di utenti non privilegiati di usare chfn
e chsh
(e rispettive funzioni nel programma userhelper
) fallirà. Questi tentativi verranno registrati (per impostazione predefinita in /var/log/secure
).
Comments