Prije nekoliko dana, objavljeno je informacije o sigurnosnoj reviziji koji je otkrio pet kritičnih ranjivosti u popularnom terminalnom multiplekseru GNU ekran, koristi se za upravljanje više konzolnih sesija na jednom terminalu.
Jedna od njih (CVE-2025-23395, najopasnija ranjivost) omogućava napadaču da dobije root privilegije na pogođenim sistemima (ranjivost utiče samo na verziju 5.0.0 GNU Screen-a), uključujući i distribucije kao što su Fedora, Arch Linux, NetBSD, između ostalih. Druge verzije poput Debiana, Ubuntua i RHEL-a, međutim, i dalje koriste granu 4.x, koja nije ranjiva na ovu konkretnu manu.
CVE-2025-23395: Eskalacija kritičnih privilegija
Navodi se da se problem javlja kada se GNU Screen pokrene sa setuid root bitom (slučaj Archa i NetBSD-a), budući dai funkcija logfile_reopen() se izvršava prije snižavanja privilegija, što korisniku omogućava manipulisanje registrom kako bi upisivao proizvoljne datoteke kao root. Na tipičnoj farmi, iNapadač briše originalnu datoteku dnevnika i zamjenjuje je simboličkom vezom. u sistemsku datoteku. Kada ponovo otvorite datoteku, Screen je zapisuje s root dozvolama, omogućavajući ulazak zlonamjernog sadržaja.
Ovaj problem utiče na Screen 5.0.0 kada se pokreće sa setuid-root privilegijama. Funkcija logfile_reopen() ne uklanja privilegije prilikom rada na putanji koju je unio korisnik. Ovo omogućava neprivilegovanim korisnicima da kreiraju datoteke na proizvoljnim lokacijama sa root vlasništvom, (pravim) grupnim vlasništvom pozivajućeg korisnika i modom datoteke 0644. Svi podaci zapisani u Screen PTY će biti zabilježeni u ovoj datoteci. Postojeće datoteke se također mogu koristiti za registraciju na ovaj način: podaci će biti dodani dotičnoj datoteci, ali će način rada datoteke i vlasništvo ostati nepromijenjeni.
Ovaj napad može dovesti do potpune kontrole nad sistemom ako se pravilno iskoristi, jer vam omogućava da mijenjate osjetljive datoteke ili skripte za pokretanje. Fedora je djelimično zaštićena jer je Screen instaliran sa setgid bitom, što ograničava površinu napada.
Druge relevantne ranjivosti
Reviziju, koju je sproveo sigurnosni tim SUSE Linuxa, također je identificirao i druge važne propuste:
- CVE-2025-46802: U sesijama s više korisnika, napadač može dobiti globalne dozvole za čitanje i pisanje na TTY uređajima kao što je /dev/pts/1, što utiče na obje grane, 4.x i 5.x.
- CVE-2025-46803: Grana 5.0 postavlja nesigurne dozvole (0622) na PTY uređaje, omogućavajući pisanje bilo kojem korisniku.
- CVE-2025-46804: Curenje informacija omogućava da se zaključi o postojanju datoteka ili direktorija korištenjem poruka o grešci prilikom definiranja varijable SCREENDIR.
- CVE-2025-46805: Uslov trke prilikom slanja SIGCONT i SIGHUP signala može rezultirati uskraćivanjem usluge.
Također je otkrivena zloupotreba strncpy-ja, koja može uzrokovati pad sistema prilikom izvršavanja naredbi sa posebnim formatiranjem, što je problem koji je prisutan isključivo u verziji 5.0.
Nedostatak održavanja i podrške od strane SUSE-a
Otkriće ovih ranjivosti otkrilo je dublje probleme u održavanju GNU Screen-a. Prema SUSE timu, Trenutni održavatelji projekta ne razumiju u potpunosti bazu koda niti sigurnosni problemi, što ih je prisililo da sami razviju zakrpe za neke od otkrivenih nedostataka. Izvještaj je poslan programerima 7. februara, ali cijeli set ranjivosti nije mogao biti ispravljen u dogovorenom periodu od 90 dana.
Šta učiniti ako koristite GNU Screen?
Korisnici sistema koji uključuju Screen 5.0.0 sa setuid root treba odmah ažurirati na verziju 5.0.1 ili privremeno se vratite na verziju 4.x ako nema dostupnih paketa. Kao mjera ublažavanja, setuid bit se također može ukloniti iz izvršne datoteke Screen:
sudo chmod u-s /usr/bin/screen
Međutim, Ovo može uticati na funkcionalnost kao što je dijeljenje sesije između korisnika. Konačno, vrijedi spomenuti da nedavno objavljena verzija 5.0.1 ispravlja ovu i druge greške i sada je dostupna na distribucijama kao što su Arch Linux i FreeBSD.
Naps zainteresovani da saznaju više o tome, detalje možete provjeriti u sljedeći link.