V GNU Screen bylo zjištěno několik zranitelností, které umožňovaly získání root oprávnění.

zranitelnost

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.