Adskillige sårbarheder blev opdaget i GNU Screen, som tillod opnåelse af root-rettigheder.

sårbarhed

For et par dage siden blev det annonceret information om en sikkerhedsrevision som afslørede fem kritiske sårbarheder i den populære terminalmultiplekser GNU-skærm, bruges til at administrere flere konsolsessioner på en enkelt terminal.

En af dem (CVE-2025-23395, den farligste sårbarhed) tillader en angriber at få root-rettigheder på berørte systemer (sårbarheden påvirker kun version 5.0.0 af GNU Screen), herunder i distributioner som Fedora, Arch Linux, NetBSD, blandt andre. Andre versioner som Debian, Ubuntu og RHEL bruger dog stadig 4.x-grenen, som ikke er sårbar over for denne specifikke fejl.

CVE-2025-23395: Eskalering af kritiske rettigheder

Det nævnes, at problemet opstår når GNU Screen køres med setuid root-bitten (tilfældet med Arch og NetBSD), daog funktionen logfile_reopen() udføres, før privilegier sænkes, som tillader brugeren at manipulere registreringsdatabasen til at skrive vilkårlige filer som root. På en typisk gård, ogAngriberen sletter den originale logfil og erstatter den med et symbolsk link. til en systemfil. Når du genåbner filen, skriver Screen til den med root-rettigheder, hvilket tillader det skadelige indhold at komme ind.

Dette problem påvirker Screen 5.0.0, når den kører med setuid-root-rettigheder. Funktionen logfile_reopen() fjerner ikke rettigheder, når der arbejdes på en brugerdefineret sti. Dette giver ikke-privilegerede brugere mulighed for at oprette filer på vilkårlige placeringer med root-ejerskab, den kaldende brugers (faktiske) gruppeejerskab og filtilstand 0644. Alle data, der skrives til Screen PTY, vil blive logget til denne fil. Eksisterende filer kan også bruges til registrering på denne måde: dataene vil blive tilføjet til den pågældende fil, men filtilstanden og ejerskabet forbliver uændret.

Dette angreb kan føre til total kontrol over systemet, hvis det udnyttes korrekt, da det giver dig mulighed for at ændre følsomme filer eller opstartsskripter. Fedora er delvist beskyttet, fordi Screen er installeret med setgid-bitten, hvilket begrænser angrebsfladen.

Andre relevante sårbarheder

Revisionen, udført af SUSE Linux-sikkerhedsteamet, identificerede også andre vigtige fejl:

  • CVE-2025-46802: I flerbrugersessioner kan en angriber opnå globale læse- og skrivetilladelser på TTY-enheder såsom /dev/pts/1, hvilket påvirker både 4.x- og 5.x-grenene.
  • CVE-2025-46803: 5.0-grenen sætter usikre tilladelser (0622) på PTY-enheder, hvilket tillader skrivning af enhver bruger.
  • CVE-2025-46804: En informationslækage gør det muligt at udlede eksistensen af ​​filer eller mapper ved hjælp af fejlmeddelelser, når SCREENDIR-variablen defineres.
  • CVE-2025-46805: En kapløbstilstand ved afsendelse af SIGCONT- og SIGHUP-signaler kan resultere i en denial of service.

Der blev også opdaget misbrug af strncpy, hvilket kan forårsage nedbrud ved udførelse af kommandoer med speciel formatering, et problem eksklusivt for 5.0-grenen.

Manglende vedligeholdelse og support fra SUSE

Opdagelsen af ​​disse sårbarheder har afsløret dybere problemer i vedligeholdelsen af ​​GNU Screen. Ifølge SUSE-teamet, De nuværende projektvedligeholdere forstår ikke fuldt ud kodebasen heller ikke sikkerhedsproblemer, hvilket tvang dem til selv at udvikle programrettelser til nogle af de opdagede fejl. Rapporten blev sendt til udviklerne den 7. februar, men alle sårbarheder kunne ikke rettes inden for den aftalte frist på 90 dage.

Hvad skal man gøre, hvis man bruger GNU Screen?

Brugere af systemer, der inkluderer Screen 5.0.0 med setuid root bør straks opdatere til version 5.0.1 eller midlertidigt tilbage til en 4.x-version, hvis der ikke er pakker tilgængelige. Som en afhjælpende foranstaltning kan setuid-bitten også fjernes fra den eksekverbare fil Screen:

sudo chmod u-s /usr/bin/screen

Imidlertid Dette kan påvirke funktionaliteten såsom sessionsdeling mellem brugere. Endelig er det værd at nævne, at den nyligt udgivne version 5.0.1 retter denne og andre fejl og nu er tilgængelig på distributioner som Arch Linux og FreeBSD.

Hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne i følgende link.