For noen dager siden ble det annonsert informasjon om en sikkerhetsrevisjon som avslørte fem kritiske sårbarheter i den populære terminalmultiplekseren GNU-skjerm, brukes til å administrere flere konsolløkter på én terminal.
En av dem (CVE-2025-23395, den farligste sårbarheten) lar en angriper få rotrettigheter på berørte systemer (sårbarheten påvirker bare versjon 5.0.0 av GNU Screen), inkludert i distribusjoner som Fedora, Arch Linux, NetBSD, blant andre. Andre versjoner som Debian, Ubuntu og RHEL bruker imidlertid fortsatt 4.x-grenen, som ikke er sårbar for denne feilen.
CVE-2025-23395: Eskalering av kritiske privilegier
Det nevnes at problemet oppstår når GNU Screen kjøres med setuid-rotbiten (tilfellet med Arch og NetBSD), sidenog logfile_reopen()-funksjonen utføres før rettighetene senkes, som lar brukeren manipulere registeret til å skrive vilkårlige filer som root. På en typisk gård, ogAngriperen sletter den opprinnelige loggfilen og erstatter den med en symbolsk lenke. til en systemfil. Når du åpner filen på nytt, skriver Screen den med rotrettigheter, slik at det skadelige innholdet kan komme inn.
Dette problemet påvirker Screen 5.0.0 når den kjører med setuid-root-rettigheter. Funksjonen logfile_reopen() fjerner ikke rettigheter når man opererer på en brukerangitt bane. Dette lar ikke-privilegerte brukere opprette filer på vilkårlige steder med rot-eierskap, (det reelle) gruppeeierskapet til den påkallende brukeren og filmodus 0644. Alle data som skrives til skjerm-PTY-en vil bli logget til denne filen. Eksisterende filer kan også brukes til registrering på denne måten: dataene vil bli lagt til den aktuelle filen, men filmodus og eierskap vil forbli uendret.
Dette angrepet kan føre til full kontroll over systemet hvis det utnyttes riktig, siden det lar deg endre sensitive filer eller oppstartsskript. Fedora er delvis beskyttet fordi Screen er installert med setgid-biten, noe som begrenser angrepsflaten.
Andre relevante sårbarheter
Revisjonen, utført av SUSE Linux-sikkerhetsteamet, identifiserte også andre viktige feil:
- CVE-2025-46802: I flerbrukerøkter kan en angriper få globale lese- og skrivetillatelser på TTY-enheter som /dev/pts/1, noe som påvirker både 4.x- og 5.x-grenene.
- CVE-2025-46803: 5.0-grenen setter usikre tillatelser (0622) på PTY-enheter, slik at alle brukere kan skrive.
- CVE-2025-46804: En informasjonslekkasje gjør det mulig å utlede eksistensen av filer eller mapper ved hjelp av feilmeldinger når SCREENDIR-variabelen defineres.
- CVE-2025-46805: En kappløpstilstand når du sender SIGCONT- og SIGHUP-signaler kan føre til tjenestenekt.
Misbruk av strncpy ble også oppdaget, noe som kan forårsake krasj når kommandoer med spesiell formatering utføres, et problem som er eksklusivt for 5.0-grenen.
Mangel på vedlikehold og støtte fra SUSE
Oppdagelsen av disse sårbarhetene har avdekket dypere problemer i vedlikeholdet av GNU Screen. Ifølge SUSE-teamet, De nåværende prosjektvedlikeholderne forstår ikke kodebasen fullt ut heller ikke sikkerhetsproblemer, som tvang dem til å utvikle oppdateringer for noen av de oppdagede feilene på egenhånd. Rapporten ble sendt til utviklerne 7. februar, men hele settet med sårbarheter kunne ikke fikses innen den avtalte fristen på 90 dager.
Hva skal man gjøre hvis man bruker GNU Screen?
Brukere av systemer som inkluderer Screen 5.0.0 med setuid root bør umiddelbart oppdatere til versjon 5.0.1 eller midlertidig tilbake til en 4.x-versjon hvis ingen pakker er tilgjengelige. Som et avbøtende tiltak kan setuid-biten også fjernes fra den kjørbare filen Screen:
sudo chmod u-s /usr/bin/screen
Imidlertid Dette kan påvirke funksjonaliteten som for eksempel øktdeling mellom brukere. Til slutt er det verdt å nevne at den nylig utgitte versjonen 5.0.1 fikser denne og andre feil, og er nå tilgjengelig på distribusjoner som Arch Linux og FreeBSD.
Lur interessert i å vite mer om det, kan du sjekke detaljene i følgende lenke.