I GNU screen, en terminal multiplex-manager som tilbyder et flervinduesinterface i konsollen, er der opdaget 5 sårbarheder. Det mest alvorlige problem (CVE-2025-23395) giver adgang til root-rettigheder i systemet. Rettelsen er inkluderet i den nuværende udgave af screen 5.0.1.
Sårbarheden CVE-2025-23395 optræder kun i version 5.0.0 af screen, som leveres med Fedora Linux, Arch Linux, NetBSD, OpenBSD og Alpine. I Debian, Ubuntu, RHEL (EPEL 9), Gentoo, FreeBSD, SUSE/openSUSE og OpenWrt leveres version 4.x fortsat. Udnyttelse af sårbarheden er mulig i systemer, der installerer den udførelsesfil screen med setuid root-flagget, som det er tilfældet med Arch Linux og NetBSD. I Fedora installeres værktøjet med setgid-flag for at opnå gruppen screen-rettigheder, hvilket muliggør placering af sockets i systemkataloget /run/screen, hvilket begrænser mulighederne for en denial-of-service-attack.
Sårbarheden skyldes, at når screen kører med root-rettigheder, udføres funktionen logfile_reopen() før privilegierne fjernes, men behandler data i konteksten af de aktuelle ikke-privilegerede brugeres kataloger, der har startet screen. Bemærk, at den oprindelige åbning af loggen udføres med korrekt løftning af privilegierne, men ved genåbning af logfilen fjernes privilegierne ikke.
Gennem manipulation af aktiveringen af session loggings tilstand kan brugeren opnå at skrive data til en fil med root-rettigheder, selvom selve filen kan gemmes i brugerens hjemmekatalog. Angrebet involverer at slette den oprettede logfil og erstatte den med et symbolsk link, der peger på en hvilken som helst fil i systemet. Hvis filen allerede findes, tilføjes data med indholdet fra screen-sessionen uden at ændre ejerforholdene. Hvis filen ikke findes, oprettes den med rettighederne 0644, ejer som root og gruppe som den aktuelle bruger.
Angrebsalgoritmen, der opretter filen /etc/profile.d/exploit.sh med kommandoen "chown $USER /root":
- Opretter en screen-session med aktiveret logføring $ screen -Logfile $HOME/screen.log
- Tryk på tastaturkombinationen Ctrl-a-H for at aktivere logningen.
- Slettelse af logfilen og dens erstatning med et symbolsk link, der vil føre til oprettelsen af filen /etc/profile.d/exploit.sh $ rm $HOME/screen.log; ln -s /etc/profile.d/exploit.sh $HOME/screen.log
- Gå tilbage til screen-sessionen og vis data, som vil blive skrevet til logfilen. $ echo -e "\nchown $USER /root;"
- Når systemet er tilsluttet en rigtig root, vil scriptet /etc/profile.d/exploit.sh blive kørt, som ændrer ejerskabet af mappen /root. $ ls -lhd /root drwxr-x— 5 user root 4.0K Dec 30 2020 .
- På samme måde kan man oprette konfigurationsfiler til sudo eller tilføje kommandoer til slutningen af systemscriptterne.
Mindre farlige sårbarheder i screen:
- CVE-2025-46802 — aflytning af TTY-enhed i multiplayer-sessioner (brugeren kan få tildelt rettigheder for enheden /dev/pts/1 crw-rw-rw-). Problemet opstår i screen versioner 4.x og 5.x.
- CVE-2025-46803 — standardtildeling af rettigheder 0622 på PTY-enhed, der tillader skrivning fra alle brugere. Problemet optræder kun i version 5.0 af screen.
- CVE-2025-46804 — lækage af information om eksisterende filer og mapper i lukkede mapper (når man angiver en mappe til sockets, bruger variablen SCREENDIR, vil værktøjet returnere forskellige fejlmeddelelser, som afslører eksistensen af filer og mapper med dette navn). Problemet optræder i screen versioner 4.x og 5.x.
- CVE-2025-46805 — race condition ved sending af signaler SIGCONT og SIGHUP, hvilket medfører tjenesteafbrydelse. Problemet optræder i screen versioner 4.x og 5.x.
- Fejlbehæftet brug af funktionen strncpy (erstatning af strcpy med strncpy uden hensyntagen til forskellen i håndtering af nul-tegn «\0»), hvilket fører til en nedbrud ved udførelse af specielt udformede kommandoer. Problemet optræder kun i version 5.0 af screen.
Sårbarhederne blev opdaget under en audit af koden i GNU screen, udført af et team ansvarligt for sikkerheden i SUSE Linux-distributionen. Oplysninger om sårbarheden blev sendt til udviklerne af screen den 7. februar, men i løbet af de tildelte 90 dage kunne de ikke forberede rettelser til alle sårbarheder, og medarbejderne hos SUSE måtte forberede nogle patches selv. Ifølge forskerne, der udførte audit, har de nuværende vedligeholdere af GNU screen ikke tilstrækkelig viden om kodebasen og er ikke i stand til helt at forstå de identificerede sikkerhedsproblemer.
Kilde: opennet.ru
