A GNU screen, amely egy többablakos konzolkezelő (terminálmultiplexor), 5 sebezhetőséget tár fel. A legveszélyesebb probléma (CVE-2025-23395) lehetővé teszi a root jogosultságok megszerzését a rendszeren. A javítás ma megjelent screen 5.0.1 verzióba beépítve került.
A CVE-2025-23395 sebezhetőség csak a Fedora Linux, Arch Linux, NetBSD, OpenBSD és Alpine rendszerekben elérhető screen 5.0.0 ágon jelentkezik. A Debian, Ubuntu, RHEL (EPEL 9), Gentoo, FreeBSD, SUSE/openSUSE és OpenWrt rendszerben továbbra is a 4.x ágat használják. A sebezhetőség kihasználása lehetséges olyan rendszereken, ahol a screen végrehajtható fájl setuid root zászlóval van telepítve, például Arch Linux és NetBSD alatt. A Fedora esetében a segédprogram setgid zászlóval van telepítve, amely lehetővé teszi a screen csoport jogainak megszerzését, így a socketek elhelyezhetők a /run/screen rendszerkönyvtárban, ami korlátozza a szolgáltatásmegtagadásos támadás lehetőségeit.
A sebezhetőség abból adódik, hogy root jogosultságokkal történő indításkor a logfile_reopen() funkció a jogosultságok visszaállítása előtt hajtódik végre, de a nem privilégizált felhasználó, aki elindította a screen-t, aktuális könyvtárainak kontextusában dolgozik fel adatokat. Érdekes, hogy a napló kezdeti megnyitása megfelelő jogosultság-visszaállítással történik, de amikor a naplófájlt újra megnyitják, a jogosultság-visszaállítás nem történik meg.
A naplózási üzemmód bekapcsolásával a felhasználó elérheti, hogy adatok kerüljenek írásra a root jogosultságú fájlba, míg maga a fájl a felhasználó otthoni könyvtárában kerül elhelyezésre. A támadás arra korlátozódik, hogy eltávolítja a létrehozott naplófájlt, és helyettesíti egy olyan szimbolikus hivatkozással, amely a rendszer bármely fájljára mutat. Ha a fájl már létezik, akkor a screen sesszióban látható tartalom adatai a tulajdonos megváltoztatása nélkül kerülnek hozzáadásra. Ha a fájl nem létezik, akkor 0644 jogosultságokkal, root tulajdonban és a jelenlegi felhasználó csoportjával kerül létrehozásra.
A támadás algoritmusa, amely létrehoz egy fájlt az /etc/profile.d/exploit.sh címen a «chown $USER /root» paranccsal:
- Screen sesszió létrehozása naplózás engedélyezésével $ screen -Logfile $HOME/screen.log
- A Ctrl-a-H billentyűkombináció megnyomása a napló bekapcsolásához.
- A naplófájl eltávolítása és egy szimbolikus hivatkozásra való cseréje, amely létrehozza az /etc/profile.d/exploit.sh fájlt $ rm $HOME/screen.log; ln -s /etc/profile.d/exploit.sh $HOME/screen.log
- Visszatérés a screen sesszióba és a naplófájlba írandó adatok megjelenítése. $ echo -e «\nchown $USER /root;»
- Miután a rendszerhez csatlakozik egy valódi root, elindul a szkript /etc/profile.d/exploit.sh, amely megváltoztatja a /root mappa tulajdonosát. $ ls -lhd /root drwxr-x— 5 user root 4.0K 2020. dec. 30.
- Hasonló módon létrehozhatjuk a sudo konfigurációs fájlokat, vagy hozzáadhatunk parancsokat a rendszer szkriptek végéhez.
Kevésbé veszélyes sebezhetőségek a screen-ben:
- CVE-2025-46802 — TTY eszköz elfogása több felhasználós session-ökben (a felhasználó jogokat állíthat be az /dev/pts/1 eszközre crw-rw-rw- jogosultságokkal). A probléma a screen 4.x és 5.x ágakban jelentkezik.
- CVE-2025-46803 — Alapértelmezett 0622 jogosultságok beállítása a PTY eszközön, amelyek lehetővé teszik bármely felhasználó számára a írást. A probléma csak a screen 5.0 ágban jelentkezik.
- CVE-2025-46804 — Információszivárgás a zárt mappákban lévő fájlok és mappák jelenlétéről (a SCREENDIR környezeti változó megadásával, a socketekhez megadott mappa alapján az eszköz eltérő hibaüzeneteket ad vissza, amelyek a fájlok és mappák létezésére utalnak). A probléma a screen 4.x és 5.x ágakban jelentkezik.
- CVE-2025-46805 — Versenyhelyzet a SIGCONT és SIGHUP jelek küldésekor, ami szolgáltatásmegtagadáshoz vezet. A probléma a screen 4.x és 5.x ágakban jelentkezik.
- A strncpy funkció nem megfelelő használata (az strcpy-t strncpy-re cserélik a null karakterek "\0" kezelésének figyelembevételé nélkül), ami felfüggesztett végrehajtáshoz vezet speciálisan kidolgozott parancsok végrehajtásakor. A probléma csak a screen 5.0 ágban jelentkezik.
A sebezhetőségeket a GNU screen kódalap auditja során fedezték fel, amelyet a SUSE Linux disztribúció biztonságáért felelős csapat végzett. A screen fejlesztőinek a sebezhetőségekről február 7-én küldtek értesítést, de a rendelkezésre álló 90 napon belül nem tudták mindegyik sebezhetőségre kiadni a javítást, így a SUSE munkatársainak néhány javítást maguknak kellett elkészíteniük. Az auditot végző kutatók véleménye szerint a GNU screen jelenlegi fenntartói nem bírnak elégséges ismeretekkel a projekt kódalapjáról, és nem képesek teljes mértékben megoldani a felfedezett biztonsági problémákat.
Forrás: opennet.ru
