Dui vulnerabilità sò state scuperte in u kernel Linux. Queste vulnerabilità sò simili in natura à a vulnerabilità Copy Fail divulgata parechji ghjorni fà, ma affettanu diversi sottosistemi - xfrm-ESP è RxRPC. Sta seria di vulnerabilità hè stata chjamata in codice Dirty Frag (chjamata ancu Copy Fail 2). Queste vulnerabilità permettenu à un utilizatore senza privilegi di ottene privilegi di root sovrascrivendu i dati di prucessu in a cache di a pagina. Un exploit hè dispunibule chì funziona nantu à tutte e distribuzioni Linux attuali. A vulnerabilità hè stata divulgata prima di a publicazione di e patch, ma una soluzione alternativa hè dispunibule.
Dirty Frag copre duie vulnerabilità diverse: a prima in u modulu xfrm-ESP, utilizatu per accelerà l'operazioni di crittografia IPsec utilizendu u protocolu ESP (Encapsulating Security Payload), è a seconda in u driver RxRPC, chì implementa a famiglia di socket AF_RXRPC è u protocolu RPC di u listessu nome, chì funziona nantu à UDP. Ogni vulnerabilità, presa separatamente, permette i privilegi di root. A vulnerabilità xfrm-ESP hè presente in u kernel Linux dapoi ghjennaghju 2017, è a vulnerabilità RxRPC hè presente dapoi ghjugnu 2023. Tramindui i prublemi sò causati da ottimisazioni chì permettenu scritture dirette in a cache di a pagina.
Per sfruttà a vulnerabilità xfrm-ESP, l'utilizatore deve avè u permessu di creà spazii di nomi, è per sfruttà a vulnerabilità RxRPC, u modulu di u kernel rxrpc.ko deve esse caricatu. Per esempiu, in Ubuntu, e regule AppArmor impediscenu à l'utilizatori senza privilegi di creà spazii di nomi, ma u modulu rxrpc.ko hè caricatu per difettu. Alcune distribuzioni ùn anu micca u modulu rxrpc.ko ma ùn bloccanu micca a creazione di spazii di nomi. U ricercatore chì hà scupertu u prublema hà sviluppatu un exploit cumminatu capace di attaccà u sistema attraversu e duie vulnerabilità, rendendu pussibule di sfruttà u prublema in tutte e principali distribuzioni. Hè statu cunfirmatu chì l'exploit funziona nantu à Ubuntu 24.04.4 cù u kernel 6.17.0-23, RHEL 10.1 cù u kernel 6.12.0-124.49.1, openSUSE Tumbleweed cù u kernel 7.0.2-1, CentOS Stream 10 cù u kernel 6.12.0-224, AlmaLinux 10 cù u kernel 6.12.0-124.52.3, è Fedora 44 cù u kernel 6.19.14-300.
Cum'è cù a vulnerabilità Copy Fail, i prublemi in xfrm-ESP è RxRPC sò causati da a decrittazione di dati in situ utilizendu a funzione splice(), chì trasferisce dati trà descrittori di file è pipe senza copià, passendu riferimenti à elementi in a cache di pagina. L'offset di scrittura sò stati calculati senza verifiche adatte per tene contu di l'usu di riferimenti diretti à elementi in a cache di pagina, permettendu à richieste appositamente cuncepite di sovrascrivere 4 byte à un offset datu è mudificà u cuntenutu di qualsiasi file in a cache di pagina.
Tutte l'operazioni di lettura di file recuperanu prima u cuntenutu da a cache di pagina. Se i dati in a cache di pagina sò mudificati, l'operazioni di lettura di file restituiranu dati sustituiti, micca l'infurmazioni effettive almacenate nantu à u discu. U sfruttamentu di a vulnerabilità si riduce à mudificà a cache di pagina per un file eseguibile cù a bandiera root suid. Per esempiu, per ottene privilegi di root, si puderia leghje u file eseguibile /usr/bin/su per piazzallu in a cache di pagina, è dopu sustituisce u so propiu codice in u cuntenutu di stu file caricatu in a cache di pagina. L'esecuzione successiva di l'utilità "su" farà chì a copia mudificata da a cache di pagina sia caricata in memoria, micca u file eseguibile originale da u discu.
A divulgazione di vulnerabilità è a liberazione coordinata di i patch eranu previsti per u 12 di maghju, ma per via di una fuga di dati, l'infurmazioni nantu à a vulnerabilità anu avutu à esse publicate prima di a liberazione di i patch. À a fine d'aprile, i patch per rxrpc, ipsec è xfrm sò stati publicati nantu à a lista di mailing publica di netdev senza menziunà ch'elli eranu ligati à a vulnerabilità. U 5 di maghju, u mantenitore di u sottosistema IPsec hà accettatu una mudificazione à u repositoriu Git di netdev cù una pruposta di correzione in u modulu xfrm-esp. A descrizzione di a mudificazione era in gran parte identica à a descrizzione di u prublema chì hà purtatu à a vulnerabilità Copy Fail in u modulu algif_aead. Un ricercatore di sicurezza s'hè interessatu à sta correzione, hè riesciutu à creà un exploit funzionale è l'hà publicatu, senza sapè chì un embargo era statu impostu nantu à a divulgazione di informazioni nantu à u prublema finu à u 12 di maghju.
L'aghjurnamenti cù correzioni per u kernel Linux è i pacchetti di u kernel in e distribuzioni ùn sò ancu stati publicati, ma sò dispunibili patch chì risolvenu i prublemi - xfrm-esp è rxrpc. L'identificatori CVE ùn sò micca stati assignati, ciò chì complica u seguimentu di l'aghjurnamenti di i pacchetti in e distribuzioni. Cum'è una suluzione, pudete bluccà u caricamentu di i moduli di u kernel esp4, esp6 è rxrpc: sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"
Source: opennet.ru
