Számos olyan sebezhetőséget fedeztek fel a GNU Screenben, amelyek lehetővé tették a root jogosultságok megszerzését.

sebezhetőség

Néhány nappal ezelőtt bejelentették, információk a biztonsági auditról amely öt kritikus sebezhetőséget tárt fel a népszerű terminál multiplexerben GNU képernyő, több konzol-munkamenet kezelésére szolgál egyetlen terminálon.

Az egyik (CVE-2025-23395, a legveszélyesebb sebezhetőség) lehetővé teszi a támadó számára, hogy root jogosultságokat szerezzen az érintett rendszereken (a sebezhetőség csak a GNU Screen 5.0.0 verzióját érinti), beleértve olyan disztribúciókat is, mint a Fedora, az Arch Linux és a NetBSD. Más verziók, mint például a Debian, az Ubuntu és az RHEL, azonban továbbra is a 4.x ágat használják, amely nem sebezhető ezzel a konkrét hibával szemben.

CVE-2025-23395: Kritikus jogosultságok eszkalációja

Megemlítik, hogy a probléma felmerül amikor a GNU Screen a setuid root bittel fut (az Arch és a NetBSD esetében), mivelés a logfile_reopen() függvény a jogosultságok csökkentése előtt végrehajtásra kerül, amely lehetővé teszi a felhasználó számára, hogy a rendszerleíró adatbázist úgy manipulálja, hogy root felhasználóként tetszőleges fájlokat írjon. Egy tipikus farmon, ésA támadó törli az eredeti naplófájlt, és egy szimbolikus hivatkozással helyettesíti azt. egy rendszerfájlba. Amikor újra megnyitod a fájlt, a Screen root jogosultságokkal írja be, lehetővé téve a rosszindulatú tartalom bejutását.

Ez a probléma a Screen 5.0.0 verzióját érinti, ha setuid-root jogosultságokkal fut. A logfile_reopen() függvény nem távolítja el a jogosultságokat, ha felhasználó által megadott elérési úton működik. Ez lehetővé teszi a jogosultság nélküli felhasználók számára, hogy tetszőleges helyeken fájlokat hozzanak létre root tulajdonjoggal, a meghívó felhasználó (valós) csoporttulajdonjogával és 0644 fájlmóddal. A Screen PTY-ra írt összes adat ebbe a fájlba kerül naplózásra. A meglévő fájlok is felhasználhatók regisztrációhoz ilyen módon: az adatok hozzáfűződnek a szóban forgó fájlhoz, de a fájl módja és tulajdonjoga változatlan marad.

Ez a támadás megfelelő kihasználás esetén a rendszer teljes irányítását eredményezheti, mivel lehetővé teszi az érzékeny fájlok módosítását vagy az indítási szkriptek megváltoztatását. A Fedora részlegesen védett, mivel a Screen a setgid bittel van telepítve, ami korlátozza a támadási felületet.

Egyéb releváns sebezhetőségek

A SUSE Linux biztonsági csapata által végzett audit, további fontos hiányosságokat is azonosított:

  • CVE-2025-46802: Többfelhasználós munkamenetekben a támadó globális olvasási és írási jogosultságokat szerezhet olyan TTY-eszközökön, mint például a /dev/pts/1, ami mind a 4.x, mind az 5.x ágat érinti.
  • CVE-2025-46803: Az 5.0-s ág nem biztonságos engedélyeket (0622) állít be a PTY-eszközökön, lehetővé téve bármely felhasználó számára az írást.
  • CVE-2025-46804: Egy információszivárgás lehetővé teszi fájlok vagy könyvtárak létezésének kikövetkeztetését hibaüzenetek segítségével a SCREENDIR változó definiálásakor.
  • CVE-2025-46805: A SIGCONT és SIGHUP jelek küldésekor fellépő versenyhelyzet szolgáltatásmegtagadást eredményezhet.

A strncpy helytelen használatát is észlelték, ami összeomlásokat okozhat speciális formázású parancsok végrehajtásakor – ez a probléma kizárólag az 5.0-s ágra jellemző.

A SUSE karbantartásának és támogatásának hiánya

Ezen sebezhetőségek felfedezése mélyebb problémákat tárt fel a GNU Screen karbantartásában. A SUSE csapata szerint A jelenlegi projekt karbantartói nem értik teljesen a kódbázist sem biztonsági problémák, amelyek miatt saját maguknak kellett javításokat fejleszteniük a felfedezett hibák némelyikére. A jelentést február 7-én küldték el a fejlesztőknek, de a sebezhetőségek teljes készletét nem sikerült kijavítani a megállapodás szerinti 90 napos türelmi időszakon belül.

Mi a teendő, ha GNU Screen-t használ?

A setuid roottal rendelkező Screen 5.0.0-t tartalmazó rendszerek felhasználói azonnal frissíteni kell az 5.0.1-es verzióra, vagy ideiglenesen visszaáll a 4.x verzióra, ha nincsenek elérhető csomagok. Enyhítő intézkedésként a setuid bit is eltávolítható a Screen futtatható fájlból:

sudo chmod u-s /usr/bin/screen

Azonban, Ez befolyásolhatja a funkcionalitást például a munkamenetek megosztása a felhasználók között. Végül érdemes megemlíteni, hogy a nemrég megjelent 5.0.1-es verzió ezt és más hibákat is kijavít, és mostantól elérhető olyan disztribúciókon, mint az Arch Linux és a FreeBSD.

Ha érdekelne többet megtudni róla, ellenőrizheti a részleteket a következő link.