CVE-2019-5736 è l'ennesima vulnerabilità Linux scoperto nel nucleo Runc codice del contenitore. Lo strumento Runc è descritto come un peso leggero, implementazione portatile del formato Open Container (OCF) che fornisce runtime contenitore.
CVE-2019-5736 Dettagli tecnici
La falla di sicurezza interessa potenzialmente diversi sistemi di gestione container open-source. Poco detto, la falla consente agli aggressori di ottenere non autorizzata, accesso root al sistema operativo host, sfuggendo così contenitore Linux.
In termini più tecnici, la vulnerabilità:
consente agli aggressori di sovrascrivere il file binario Runc ospite (e di conseguenza ottenere accesso root ospitante) sfruttando la possibilità di eseguire un comando come root all'interno di uno di questi tipi di contenitori: (1) un nuovo contenitore con un'immagine attaccante controllato, o (2) un contenitore esistente, a cui l'attaccante aveva in precedenza l'accesso in scrittura, che può essere attaccato con docker exec. Ciò si verifica a causa di cattiva gestione dei descrittori di file, relative al / proc / self / exe, come spiegato nella consulenza ufficiale.
La vulnerabilità CVE-2019-5736 è stato portato alla luce dai ricercatori di sicurezza open source Adam Iwaniuk e Borys Poplawski. Tuttavia, è stata divulgata pubblicamente da Aleksa Sarai, un ingegnere del software senior e Runc manutentore a SUSE Linux GmbH il Lunedi.
“Sono uno dei manutentori di Runc (il sottostante contenitore runtime sotto Docker, creduto, containerd, kubernetes, e così via). Recentemente abbiamo avuto una vulnerabilità segnalata che abbiamo verificato e avere una
patch per,” Sarai ha scritto.
Il ricercatore ha anche detto che un utente malintenzionato potrebbe essere in grado di eseguire qualsiasi comando (non importa se il comando non è attaccante controllato) come root all'interno di un contenitore in uno di questi contesti:
– La creazione di un nuovo contenitore utilizzando un'immagine attaccante controllato.
– Collegamento (finestra mobile exec) in un contenitore esistente, che l'attaccante aveva precedente accesso in scrittura.
Va inoltre notato che CVE-2019-5736 non è bloccato dal criterio predefinito AppArmor, né
dalla policy SELinux di default su Fedora[++], a causa del fatto che i processi contenitori sembrano funzionare come container_runtime_t.
Ciò nonostante, il difetto viene bloccato mediante un uso corretto del namespace utente dove la radice ospitante non è mappato in namespace utenti del contenitore.
CVE-2019-5736 Patch e Mitigazione
Red Hat afferma che la falla può essere attenuato quando SELinux è attivato in modalità enforcing mirato, una condizione che viene fornito di default su RedHat Enterprise Linux, CentOS, e Fedora.
C'è anche una patch rilasciata dai gestori del Runc disponibili su GitHub. Si prega di notare che tutti i progetti che si basano su Runc dovrebbero applicare le patch stessi.
Chi è interessato?
Debian e Ubuntu sono vulnerabili alla vulnerabilità, nonché sistemi di contenitori eseguono LXC, uno strumento di containerizzazione Linux prima di Docker. Apache Mesos codice del contenitore è influenzato anche.
Aziende come Google, Amazon, docker, e kubernetes sono hanno rilasciato anche le correzioni per la falla.