I terminalfönsterhanteraren (multiplexer) GNU screen, som erbjuder ett flervalsgrÀnssnitt i konsolen, har 5 sÄrbarheter identifierats. Det mest allvarliga problemet (CVE-2025-23395) möjliggör att fÄ root-rÀttigheter i systemet. à tgÀrden Àr inaktiverad i dagens utgÄva av screen 5.0.1.
SÄrbarheten CVE-2025-23395 upptrÀder endast i versionen screen 5.0.0, som levereras med Fedora Linux, Arch Linux, NetBSD, OpenBSD och Alpine. I Debian, Ubuntu, RHEL (EPEL 9), Gentoo, FreeBSD, SUSE/openSUSE och OpenWrt fortsÀtter man att leverera versionen screen 4.x. Utnyttjande av sÄrbarheten Àr möjligt i system som installerar exekverbara filer av screen med setuid-root-flagga, som i Arch Linux och NetBSD. I Fedora installeras verktyget med setgid-flagga för att fÄ rÀttigheter för screen-gruppen, vilket gör det möjligt att placera sockets i systemkatalogen /run/screen, vilket begrÀnsar möjligheterna för en denial-of-service-attack.
SÄrbarheten orsakas av att funktionen logfile_reopen() körs med root-rÀttigheter innan privilegierna har avbrutits, men hanterar data i kontexten av kataloger för den nuvarande oprivilegierade anvÀndaren som körde screen. Det Àr vÀrt att notera att den initiala öppningen av loggen görs med korrekt privilegieborttagning, men vid Äteröppning av loggfiler sker ingen privilegieborttagning.
Genom att manipulera aktiveringen av loggningen av sessioninnehÄll kan anvÀndaren Ästadkomma att data skrivs till en fil med root-rÀttigheter, Àven om filen kan sparas i anvÀndarens hemkatalog. Attacken innebÀr att den skapade loggfilen tas bort och ersÀtts med en symbolisk lÀnk som pekar pÄ valfri fil i systemet. Om filen redan existerar kommer data med innehÄllet frÄn screen-sessionen att lÀggas till utan att byta Àgare. Om filen inte existerar kommer den att skapas med rÀttigheter 0644, Àgare root och grupp som den nuvarande anvÀndaren.
Attackalgoritm för att skapa filen /etc/profile.d/exploit.sh med kommandot "chown $USER /root":
- Skapa en screen-session med aktiverad loggning $ screen -Logfile $HOME/screen.log
- Tryck pÄ tangentkombinationen Ctrl-a-H för att aktivera loggningen.
- Ta bort loggfilen och ersÀtt den med en symbolisk lÀnk som leder till skapandet av filen /etc/profile.d/exploit.sh $ rm $HOME/screen.log; ln -s /etc/profile.d/exploit.sh $HOME/screen.log
- à tergÄ till screen-sessionen och skriv ut data som kommer att skrivas till loggfilen. $ echo -e "\nchown $USER /root;"
- NĂ€r det riktiga root-kontot kopplas till systemet kommer skriptet /etc/profile.d/exploit.sh att köras, vilket förĂ€ndrar Ă€garen för katalogen /root. $ ls -lhd /root drwxr-xâ 5 user root 4.0K Dec 30 2020 .
- PÄ liknande sÀtt kan konfigurationsfiler för sudo skapas eller kommandon lÀggas till i slutet av systemskrifterna.
Mindre farliga sÄrbarheter i screen:
- CVE-2025-46802 â avlyssning av TTY-enheten i flersessioner (anvĂ€ndaren kan fĂ„ en behörighet för enheten /dev/pts/1 med crw-rw-rw- rĂ€ttigheter). Problemet förekommer i screen-versioner 4.x och 5.x.
- CVE-2025-46803 â standardinstĂ€llning av rĂ€ttigheter 0622 för PTY-enheten, vilket tillĂ„ter skrivĂ„tkomst av alla anvĂ€ndare. Problemet förekommer endast i version 5.0 av screen.
- CVE-2025-46804 â lĂ€ckage av information om existensen av filer och kataloger i stĂ€ngda kataloger (nĂ€r du angiver katalogen för sockets, med hjĂ€lp av miljövariabeln SCREENDIR, ger verktyget olika felmeddelanden som avslöjar existensen av filer och kataloger med detta namn). Problemet finns i versionerna 4.x och 5.x av screen.
- CVE-2025-46805 â ett race conditions vid sĂ€ndning av SIGCONT och SIGHUP signaler, vilket leder till en denial-of-service. Problemet finns i versionerna 4.x och 5.x av screen.
- Felaktig anvÀndning av funktionen strncpy (ersÀtter strcpy med strncpy utan att ta hÀnsyn till skillnaden i hantering av nolltecken "\0"), vilket leder till en krasch vid körning av specialformulerade kommandon. Problemet förekommer endast i version 5.0 av screen.
SÄrbarheterna upptÀcktes under en granskning av kodbasen för GNU screen, utförd av teamet som ansvarar för sÀkerheten i SUSE Linux-distributionen. Informationen om sÄrbarheterna skickades till utvecklarna av screen den 7 februari, men under de tilldelade 90 dagarna kunde de inte förbereda korrigeringar för alla sÄrbarheter, vilket tvingade SUSE:s anstÀllda att förbereda vissa patchar sjÀlva. Enligt forskarna som genomförde granskningen har de nuvarande underhÄllarna av GNU screen inte tillrÀcklig kÀnnedom om kodbasen för projektet och kan inte helt förstÄ de identifierade sÀkerhetsproblemen.
KĂ€lla: opennet.ru
