Пре неколико дана је објављено информације о безбедносној ревизији који је открио пет критичних рањивости у популарном терминалном мултиплексеру ГНУ екран, користи се за управљање више конзолних сесија на једном терминалу.
Једна од њих (CVE-2025-23395, најопаснија рањивост) омогућава нападачу да добије root привилегије на погођеним системима (рањивост утиче само на верзију 5.0.0 ГНУ Скрина), укључујући дистрибуције као што су Федора, Арч Линукс, НетБСД, између осталих. Међутим, друге верзије као што су Дебијан, Убунту и РХЕЛ и даље користе грану 4.x, која није рањива на ову посебну грешку.
CVE-2025-23395: Ескалација критичних привилегија
Наводи се да се проблем јавља када се GNU Screen покрене са setuid root битом (случај Arch-а и NetBSD-а), од тадаи функција logfile_reopen() се извршава пре снижавања привилегија, што омогућава кориснику да манипулише регистром како би уписивао произвољне датотеке као root. На типичној фарми, иНападач брише оригиналну датотеку дневника и замењује је симболичком везом. у системску датотеку. Када поново отворите датотеку, Screen је записује са root дозволама, омогућавајући улазак злонамерног садржаја.
Овај проблем утиче на Screen 5.0.0 када се покреће са setuid-root привилегијама. Функција logfile_reopen() не уклања привилегије када ради на путањи коју је навео корисник. Ово омогућава непривилегованим корисницима да креирају датотеке на произвољним локацијама са root власништвом, (стварним) групним власништвом корисника који позива и режимом датотеке 0644. Сви подаци записани у Screen PTY биће забележени у ову датотеку. Постојеће датотеке се такође могу користити за регистрацију на овај начин: подаци ће бити додати дотичној датотеци, али ће режим датотеке и власништво остати непромењени.
Овај напад може довести до потпуне контроле над системом ако се правилно користи, јер вам омогућава да мењате осетљиве датотеке или скрипте за покретање. Федора је делимично заштићена јер је Screen инсталиран са setgid битом, што ограничава површину напада.
Остале релевантне рањивости
Ревизију, коју је спровео безбедносни тим SUSE Linux-а, такође је идентификовао и друге важне недостатке:
- ЦВЕ-2025-46802: У сесијама са више корисника, нападач може добити глобалне дозволе за читање и писање на TTY уређајима као што је /dev/pts/1, што утиче и на 4.x и на 5.x гране.
- ЦВЕ-2025-46803: Грана 5.0 поставља небезбедне дозволе (0622) на PTY уређајима, дозвољавајући писање било ком кориснику.
- ЦВЕ-2025-46804: Цурење информација омогућава да се закључи о постојању датотека или директоријума коришћењем порука о грешкама приликом дефинисања променљиве SCREENDIR.
- ЦВЕ-2025-46805: Услов трке при слању SIGCONT и SIGHUP сигнала може довести до ускраћивања услуге.
Такође је откривена злоупотреба strncpy-ја, што може изазвати падове система приликом извршавања команди са посебним форматирањем, проблем који је ексклузиван за грану 5.0.
Недостатак одржавања и подршке од стране SUSE-а
Откриће ових рањивости открило је дубље проблеме у одржавању ГНУ екрана. Према речима SUSE тима, Тренутни одржаваоци пројекта не разумеју у потпуности базу кода нити безбедносни проблеми, што их је приморало да сами развију закрпе за неке од откривених недостатака. Извештај је послат програмерима 7. фебруара, али цео скуп рањивости није могао бити поправљен у договореном грејс периоду од 90 дана.
Шта да радите ако користите ГНУ екран?
Корисници система који укључују Screen 5.0.0 са setuid root треба одмах ажурирати на верзију 5.0.1 или привремено вратите се на верзију 4.x ако нема доступних пакета. Као мера ублажавања, setuid бит се такође може уклонити из извршне датотеке екрана:
sudo chmod u-s /usr/bin/screen
Међутим, Ово може утицати на функционалност као што је дељење сесије између корисника. На крају, вреди поменути да недавно објављена верзија 5.0.1 исправља ову и друге грешке и сада је доступна на дистрибуцијама као што су Arch Linux и FreeBSD.
Ако јесте заинтересовани да сазнају више о томе, детаље можете погледати у следећи линк.