Před pár dny bylo oznámeno informace o bezpečnostním auditu který odhalil pět kritických zranitelností v populárním terminálovém multiplexeru Obrazovka GNU, používá se ke správě více konzolových relací na jednom terminálu.
Jedna z nich (CVE-2025-23395, nejnebezpečnější zranitelnost) umožňuje útočníkovi získat root oprávnění na postižených systémech (zranitelnost se týká pouze verze 5.0.0 GNU Screen), a to i v distribucích, jako jsou mimo jiné Fedora, Arch Linux, NetBSD. Jiné verze, jako například Debian, Ubuntu a RHEL, však stále používají větev 4.x, která není vůči této konkrétní chybě zranitelná.
CVE-2025-23395: Eskalace kritických oprávnění
Uvádí se, že k problému dochází když je GNU Screen spuštěn s kořenovým bitem setuid (případ Archu a NetBSD), od té dobya funkce logfile_reopen() se provede před snížením oprávnění, což uživateli umožňuje manipulovat s registrem a zapisovat libovolné soubory jako root. Na typické farmě aÚtočník smaže původní soubor protokolu a nahradí ho symbolickým odkazem. do systémového souboru. Když soubor znovu otevřete, Screen jej zapíše s oprávněními root, což umožní vstup škodlivého obsahu.
Tento problém se týká verze Screen 5.0.0 při spuštění s oprávněními setuid-root. Funkce logfile_reopen() neodebírá oprávnění při práci s cestou zadanou uživatelem. To umožňuje neprivilegovaným uživatelům vytvářet soubory v libovolných umístěních s vlastnictvím uživatele root, (skutečným) vlastnictvím skupiny volajícího uživatele a režimem souboru 0644. Všechna data zapsaná do Screen PTY budou zaznamenána do tohoto souboru. Existující soubory lze také použít k registraci tímto způsobem: data budou připojena k danému souboru, ale režim souboru a vlastnictví zůstanou nezměněny.
Tento útok může vést k úplné kontrole systému, pokud je správně využíván, protože vám umožňuje upravovat citlivé soubory nebo měnit spouštěcí skripty. Fedora je částečně chráněna, protože Screen je nainstalován s bitem setgid, což omezuje oblast útoku.
Další relevantní zranitelnosti
Audit, který provedl bezpečnostní tým SUSE Linux, také identifikoval další důležité nedostatky:
- CVE-2025-46802: V relacích s více uživateli může útočník získat globální oprávnění pro čtení a zápis na zařízeních TTY, jako je /dev/pts/1, což ovlivní větve 4.x i 5.x.
- CVE-2025-46803: Větev 5.0 nastavuje nezabezpečená oprávnění (0622) na zařízeních PTY, což umožňuje zápis libovolnému uživateli.
- CVE-2025-46804: Únik informací umožňuje odvodit existenci souborů nebo adresářů pomocí chybových zpráv při definování proměnné SCREENDIR.
- CVE-2025-46805: Souboj při odesílání signálů SIGCONT a SIGHUP může vést k odmítnutí služby.
Bylo také zjištěno zneužití strncpy, které může způsobit pády při provádění příkazů se speciálním formátováním, což je problém dostupný výhradně pro větev 5.0.
Nedostatečná údržba a podpora od SUSE
Objev těchto zranitelností odhalil hlubší problémy v údržbě GNU Screen. Podle týmu SUSE, Současní správci projektu plně nerozumí kódové základně. ani bezpečnostní problémy, což je donutilo k tomu, aby si sami vyvinuli záplaty pro některé z objevených nedostatků. Zpráva byla vývojářům zaslána 7. února, ale celou sadu zranitelností se nepodařilo opravit v dohodnuté 90denní lhůtě.
Co dělat, když používáte GNU Screen?
Uživatelé systémů, které zahrnují Screen 5.0.0 s root ID setuid by měl okamžitě aktualizovat na verzi 5.0.1 nebo dočasně se vrátit k verzi 4.x, pokud nejsou k dispozici žádné balíčky. Jako zmírňující opatření lze ze spustitelného souboru Screen také odstranit bit setuid:
sudo chmod u-s /usr/bin/screen
Nicméně, To může ovlivnit funkčnost například sdílení relací mezi uživateli. Nakonec stojí za zmínku, že nedávno vydaná verze 5.0.1 tuto a další chyby opravuje a je nyní k dispozici na distribucích, jako je Arch Linux a FreeBSD.
Pokud zájem dozvědět se o tom více, můžete zkontrolovat podrobnosti v následující odkaz.