Pred pár dňami bolo oznámené informácie o bezpečnostnom audite ktorý odhalil päť kritických zraniteľností v populárnom terminálovom multiplexore Obrazovka GNU, používa sa na správu viacerých konzolových relácií na jednom termináli.
Jedna z nich (CVE-2025-23395, najnebezpečnejšia zraniteľnosť) umožňuje útočníkovi získať root privilégiá na postihnutých systémoch (zraniteľnosť postihuje iba verziu 5.0.0 GNU Screen), a to aj v distribúciách ako Fedora, Arch Linux, NetBSD a ďalších. Iné verzie ako Debian, Ubuntu a RHEL však stále používajú vetvu 4.x, ktorá nie je voči tejto konkrétnej chybe zraniteľná.
CVE-2025-23395: Zvýšenie kritických privilégií
Uvádza sa, že problém sa vyskytuje keď sa GNU Screen spustí s koreňovým bitom setuid (prípad Arch a NetBSD), odkedya funkcia logfile_reopen() sa vykoná pred znížením privilégií, čo umožňuje používateľovi manipulovať s registrom a zapisovať ľubovoľné súbory ako root. Na typickej farme aÚtočník vymaže pôvodný súbor protokolu a nahradí ho symbolickým odkazom. do systémového súboru. Keď súbor znova otvoríte, Screen ho zapíše s oprávneniami root, čo umožní vstup škodlivého obsahu.
Tento problém ovplyvňuje obrazovku 5.0.0 pri spustení s oprávneniami setuid-root. Funkcia logfile_reopen() neodstraňuje privilégiá pri práci s cestou zadanou používateľom. Toto umožňuje neprivilegovaným používateľom vytvárať súbory na ľubovoľných miestach s vlastníctvom root, (skutočným) vlastníctvom skupiny volajúceho používateľa a režimom súboru 0644. Všetky údaje zapísané do Screen PTY budú zaznamenané do tohto súboru. Existujúce súbory je možné použiť aj na registráciu týmto spôsobom: údaje sa pridajú k príslušnému súboru, ale režim súboru a vlastníctvo zostanú nezmenené.
Tento útok pri správnom využití môže viesť k úplnej kontrole systému, pretože vám umožňuje upravovať citlivé súbory alebo meniť spúšťacie skripty. Fedora je čiastočne chránená, pretože Screen je nainštalovaný s bitom setgid, čo obmedzuje oblasť útoku.
Ďalšie relevantné zraniteľnosti
Audit, ktorý vykonal bezpečnostný tím SUSE Linux, identifikoval aj ďalšie dôležité zlyhania:
- CVE-2025-46802: V reláciách s viacerými používateľmi môže útočník získať globálne oprávnenia na čítanie a zápis na zariadeniach TTY, ako napríklad /dev/pts/1, čo ovplyvní vetvy 4.x aj 5.x.
- CVE-2025-46803: Vetva 5.0 nastavuje nezabezpečené oprávnenia (0622) na zariadeniach PTY, čo umožňuje zápis ľubovoľnému používateľovi.
- CVE-2025-46804: Únik informácií umožňuje odvodiť existenciu súborov alebo adresárov pomocou chybových hlásení pri definovaní premennej SCREENDIR.
- CVE-2025-46805: Súbeh pri odosielaní signálov SIGCONT a SIGHUP môže viesť k odmietnutiu služby.
Zistilo sa aj zneužitie strncpy, ktoré môže spôsobiť pády pri vykonávaní príkazov so špeciálnym formátovaním, čo je problém exkluzívny pre vetvu 5.0.
Nedostatočná údržba a podpora od spoločnosti SUSE
Objav týchto zraniteľností odhalil hlbšie problémy v údržbe GNU Screen. Podľa tímu SUSE, Súčasní správcovia projektu úplne nerozumejú kódovej základni. ani bezpečnostné problémy, čo ich prinútilo samostatne vyvíjať záplaty pre niektoré z objavených nedostatkov. Správa bola vývojárom odoslaná 7. februára, ale celú sadu zraniteľností sa nepodarilo opraviť v rámci dohodnutej 90-dňovej lehoty.
Čo robiť, ak používate GNU Screen?
Používatelia systémov, ktoré zahŕňajú Screen 5.0.0 s root ID setuid by mal okamžite aktualizovať na verziu 5.0.1 alebo dočasne sa vrátiť k verzii 4.x, ak nie sú k dispozícii žiadne balíky. Ako zmierňujúce opatrenie je možné z spustiteľného súboru Screen odstrániť aj bit setuid:
sudo chmod u-s /usr/bin/screen
Avšak, Toto môže ovplyvniť funkčnosť ako napríklad zdieľanie relácií medzi používateľmi. Na záver stojí za zmienku, že nedávno vydaná verzia 5.0.1 opravuje túto a ďalšie chyby a je teraz dostupná na distribúciách ako Arch Linux a FreeBSD.
Ak ste záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti v nasledujúci odkaz.