För några dagar sedan tillkännagavs det information om en säkerhetsgranskning som avslöjade fem kritiska sårbarheter i den populära terminalmultiplexern GNU-skärm, används för att hantera flera konsolsessioner på en enda terminal.
En av dem (CVE-2025-23395, den farligaste sårbarheten) låter en angripare få root-rättigheter på berörda system (sårbarheten påverkar endast version 5.0.0 av GNU Screen), inklusive i distributioner som Fedora, Arch Linux, NetBSD, bland andra. Andra versioner som Debian, Ubuntu och RHEL använder dock fortfarande 4.x-grenen, som inte är sårbar för just denna brist.
CVE-2025-23395: Eskalering av kritiska privilegier
Det nämns att problemet uppstår när GNU Screen körs med setuid-rotbiten (fallet med Arch och NetBSD), eftersomoch funktionen logfile_reopen() körs innan behörigheterna sänks, vilket tillåter användaren att manipulera registret för att skriva godtyckliga filer som root. På en typisk gård, ochAngriparen tar bort den ursprungliga loggfilen och ersätter den med en symbolisk länk. till en systemfil. När du öppnar filen igen skriver Screen till den med root-behörigheter, vilket gör att skadligt innehåll kan komma in.
Det här problemet påverkar Screen 5.0.0 när den körs med setuid-root-behörighet. Funktionen logfile_reopen() tar inte bort behörigheter när man arbetar på en användardefinierad sökväg. Detta tillåter oprivilegierade användare att skapa filer på godtyckliga platser med root-ägarskap, den anropande användarens (verkliga) gruppägarskap och filläge 0644. All data som skrivs till skärm-PTY:n loggas till den här filen. Befintliga filer kan också användas för registrering på detta sätt: informationen läggs till i den aktuella filen, men filläget och ägarskapet förblir oförändrade.
Denna attack kan leda till total kontroll över systemet om det utnyttjas på rätt sätt, eftersom det låter dig ändra känsliga filer eller startskript. Fedora är delvis skyddad eftersom Screen installeras med setgid-biten, vilket begränsar attackytan.
Andra relevanta sårbarheter
Granskningen, utförd av SUSE Linux säkerhetsteam, identifierade även andra viktiga brister:
- CVE-2025-46802: I fleranvändarsessioner kan en angripare få globala läs- och skrivbehörigheter på TTY-enheter som /dev/pts/1, vilket påverkar både 4.x- och 5.x-grenarna.
- CVE-2025-46803: 5.0-grenen anger osäkra behörigheter (0622) på PTY-enheter, vilket tillåter skrivning av vilken användare som helst.
- CVE-2025-46804: En informationsläcka gör det möjligt att härleda förekomsten av filer eller kataloger med hjälp av felmeddelanden när variabeln SCREENDIR definieras.
- CVE-2025-46805: Ett kapplöpningsvillkor när SIGCONT- och SIGHUP-signaler skickas kan resultera i en överbelastningsattack.
Missbruk av strncpy upptäcktes också, vilket kan orsaka krascher vid körning av kommandon med speciell formatering, ett problem exklusivt för 5.0-grenen.
Brist på underhåll och support från SUSE
Upptäckten av dessa sårbarheter har blottlagt djupare problem i underhållet av GNU Screen. Enligt SUSE-teamet, De nuvarande projektansvariga förstår inte kodbasen helt inte heller säkerhetsproblem, vilket tvingade dem att själva utveckla patchar för några av de upptäckta bristerna. Rapporten skickades till utvecklarna den 7 februari, men alla sårbarheter kunde inte åtgärdas inom den överenskomna respitperioden på 90 dagar.
Vad ska man göra om man använder GNU Screen?
Användare av system som inkluderar Screen 5.0.0 med setuid root bör omedelbart uppdatera till version 5.0.1 eller återgå tillfälligt till en 4.x-version om inga paket är tillgängliga. Som en mildrande åtgärd kan setuid-biten också tas bort från den körbara filen Screen:
sudo chmod u-s /usr/bin/screen
Sin embargo, Detta kan påverka funktionaliteten såsom sessionsdelning mellan användare. Slutligen är det värt att nämna att den nyligen släppta versionen 5.0.1 åtgärdar detta och andra buggar och nu är tillgänglig på distributioner som Arch Linux och FreeBSD.
Om du är det intresserad av att veta mer om detkan du kontrollera detaljerna i följande länk.