Vulnerabilità in Glibc ld.so che consente di ottenere diritti di root nel sistema.

L'azienda Qualys ha identificato una vulnerabilità critica (CVE-2023-4911) nel linker ld.so, fornito con la libreria C di sistema Glibc (GNU libc). Questa vulnerabilità consente a un utente locale di elevare i propri privilegi di sistema mediante l'impostazione di dati opportunamente formattati nella variabile d'ambiente GLIBC_TUNABLES prima di eseguire un file eseguibile con il flag suid root, ad esempio, /usr/bin/su.

È stata dimostrata la possibilità di sfruttare con successo la vulnerabilità su Fedora 37 e 38, Ubuntu 22.04 e 23.04, Debian 12 e 13. Si presume che la vulnerabilità possa manifestarsi anche su altre distribuzioni che utilizzano Glibc. Le distribuzioni basate sulla libreria di sistema Musl, come Alpine Linux, non sono vulnerabili. La vulnerabilità è stata corretta con un patch rilasciato il 2 ottobre. È possibile monitorare il rilascio di aggiornamenti delle librerie sulle pagine di Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, Gentoo, ALT Linux.

La vulnerabilità è stata causata da una modifica apportata nell'aprile del 2021, inclusa nella versione glibc 2.34. A causa di un errore nel codice di analisi della stringa specificata nella variabile d'ambiente GLIBC_TUNABLES, una combinazione errata di parametri in questa variabile porta alla scrittura del valore analizzato oltre il buffer allocato. Il problema si verifica quando, invece delle normali sequenze "name=val", i parametri sono impostati in forma di doppio assegnamento "name=name=val". In questo caso, l'assegnamento viene elaborato due volte, prima come "name=name=val", e poi come "name=val". A causa di tale doppia elaborazione si genera il risultato "name=name=val:name=val", la cui dimensione supera quella del buffer tunestr.

Исследователями подготовлен стабильно работающий эксплоит, который позволяет получить права root при применении практически с любой программой с флагом suid root. Исключение составляют утилита sudo (меняет значение ELF RUNPATH), утилиты chage и passwd в Fedora (защищены отдельными правилами SELinux) и утилита snap-confine в Ubuntu (защищена отдельными правилами AppArmor). Предложенный метод эксплуатации также не работает в RHEL 8 и RHEL 9, хотя данные ветки и подвержены уязвимости (для атаки требуется создание иного эксплоита). Код эксплоита будет опубликован позднее после повсеместного устранения уязвимости. Проверить подверженность своей системы уязвимости можно ниже указанной командой, которая в случае наличия проблемы завершиться крахом: env -i «GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=A» «Z=`printf ‘%08192x’ 1`» /usr/bin/su —help

Viene inoltre segnalata la correzione di altre due vulnerabilità in Glibc:

  • CVE-2023-4806 — accesso a un'area di memoria già liberata (use-after-free) nella funzione getaddrinfo(), che si manifesta quando il plugin NSS implementa solo le chiamate di callback "_gethostbyname2_r" e "_getcanonname_r", ma non supporta la chiamata "_gethostbyname3_r". Per sfruttare questa vulnerabilità, il server DNS deve restituire un gran numero di indirizzi IPv6 e IPv4 per l'host richiesto, il che porterà al crash del processo che ha chiamato la funzione getaddrinfo per la famiglia AF_INET6 con i flag AI_CANONNAME, AI_ALL e AI_V4MAPPED.
  • CVE-2023-5156 — fuga di contenuto di memoria nella chiamata della funzione getaddrinfo per la famiglia di indirizzi AF_INET6 con i flag AI_CANONNAME, AI_ALL e AI_V4MAPPED.

Fonte: opennet.ru

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