Prije nekoliko dana objavljeno je informacije o sigurnosnoj reviziji koji je otkrio pet kritičnih ranjivosti u popularnom terminalnom multiplekseru GNU zaslon, koristi se za upravljanje više konzolnih sesija na jednom terminalu.
Jedan od njih (CVE-2025-23395, najopasnija ranjivost) omogućuje napadaču dobivanje root privilegija na pogođenim sustavima (ranjivost utječe samo na verziju 5.0.0 GNU Screena), 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 s 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ćuje manipuliranje registrom kako bi zapisivao proizvoljne datoteke kao root. Na tipičnoj farmi iNapadač briše izvornu datoteku dnevnika i zamjenjuje je simboličkom vezom. u sistemsku datoteku. Kada ponovno otvorite datoteku, Screen je zapisuje s root dozvolama, što omogućuje ulazak zlonamjernog sadržaja.
Ovaj problem utječe na Screen 5.0.0 kada se pokreće s privilegijama setuid-root. Funkcija logfile_reopen() ne uklanja privilegije prilikom rada na putanji koju je naveo korisnik. To omogućuje neprivilegiranim korisnicima stvaranje datoteka na proizvoljnim lokacijama s root vlasništvom, (stvarnim) grupnim vlasništvom pozivajućeg korisnika i načinom rada datoteke 0644. Svi podaci zapisani u Screen PTY bit će zabilježeni u ovoj datoteci. Postojeće datoteke također se mogu koristiti za registraciju na ovaj način: podaci će biti dodani dotičnoj datoteci, ali način rada datoteke i vlasništvo ostat će nepromijenjeni.
Ovaj napad može dovesti do potpune kontrole nad sustavom ako se pravilno iskoristi, jer vam omogućuje izmjenu osjetljivih datoteka ili promjenu skripti za pokretanje. Fedora je djelomično zaštićena jer je Screen instaliran s setgid bitom, što ograničava površinu napada.
Druge relevantne ranjivosti
Reviziju je proveo sigurnosni tim SUSE Linuxa, također je identificirao 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 utječe na obje grane, 4.x i 5.x.
- CVE-2025-46803: Grana 5.0 postavlja nesigurna dopuštenja (0622) na PTY uređaje, dopuštajući pisanje bilo kojem korisniku.
- CVE-2025-46804: Curenje informacija omogućuje zaključivanje o postojanju datoteka ili direktorija pomoću poruka o pogrešci prilikom definiranja varijable SCREENDIR.
- CVE-2025-46805: Uvjet utrke prilikom slanja SIGCONT i SIGHUP signala može rezultirati uskraćivanjem usluge.
Također je otkrivena zlouporaba strncpyja, što može uzrokovati pad sustava 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 razotkrilo je dublje probleme u održavanju GNU Screena. Prema SUSE timu, Trenutni održavatelji projekta ne razumiju u potpunosti kodnu bazu niti sigurnosni problemi, što ih je prisililo da sami razviju zakrpe za neke od otkrivenih nedostataka. Izvješće je poslano programerima 7. veljače, ali cijeli skup ranjivosti nije mogao biti ispravljen unutar dogovorenog 90-dnevnog roka.
Što učiniti ako koristite GNU Screen?
Korisnici sustava koji uključuju Screen 5.0.0 s root postavkom setuid 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, To može utjecati na funkcionalnost kao što je dijeljenje sesije između korisnika. Konačno, vrijedi spomenuti da nedavno objavljena verzija 5.0.1 ispravlja ovaj i druge greške te je sada dostupna na distribucijama poput Arch Linuxa i FreeBSD-a.
Naps zainteresiran za saznanje više o tome, detalje možete provjeriti u sljedeći link.