Een paar dagen geleden werd het aangekondigd informatie over een beveiligingsaudit die vijf kritieke kwetsbaarheden in de populaire terminalmultiplexer onthulde GNU-scherm, gebruikt om meerdere consolesessies op één terminal te beheren.
Eén daarvan (CVE-2025-23395, de gevaarlijkste kwetsbaarheid) stelt een aanvaller in staat root-rechten te verkrijgen op de getroffen systemen (de kwetsbaarheid betreft alleen versie 5.0.0 van GNU Screen), inclusief distributies zoals Fedora, Arch Linux, NetBSD, en andere. Andere versies, zoals Debian, Ubuntu en RHEL, gebruiken echter nog steeds de 4.x-branch, die niet kwetsbaar is voor dit specifieke gebrek.
CVE-2025-23395: Kritieke privilege-escalatie
Er wordt vermeld dat het probleem zich voordoet wanneer GNU Screen wordt uitgevoerd met de setuid root-bit (geval van Arch en NetBSD), aangezienen de logfile_reopen()-functie wordt uitgevoerd voordat de privileges worden verlaagd, waarmee de gebruiker het register kan manipuleren om willekeurige bestanden als root weg te schrijven. Op een typische boerderij, enDe aanvaller verwijdert het originele logbestand en vervangt het door een symbolische link. naar een systeembestand. Wanneer u het bestand opnieuw opent, schrijft Screen het bestand met root-rechten, waardoor de schadelijke inhoud binnen kan dringen.
Dit probleem doet zich voor in Scherm 5.0.0 wanneer u met setuid-root-rechten werkt. De functie logfile_reopen() verwijdert geen rechten wanneer er wordt gewerkt op een door de gebruiker opgegeven pad. Hierdoor kunnen onbevoegde gebruikers bestanden aanmaken op willekeurige locaties met root-eigendom, het (echte) groepseigendom van de aanroepende gebruiker en de bestandsmodus 0644. Alle gegevens die naar de Screen PTY worden geschreven, worden in dit bestand vastgelegd. Ook bestaande bestanden kunnen op deze manier voor registratie gebruikt worden. De gegevens worden aan het betreffende bestand toegevoegd, maar de bestandsmodus en het eigenaarschap blijven ongewijzigd.
Deze aanval kan leiden tot totale controle over het systeem als het op de juiste manier wordt benut, omdat u hiermee gevoelige bestanden kunt wijzigen of opstartscripts kunt aanpassen. Fedora is gedeeltelijk beschermd omdat Screen is geïnstalleerd met de setgid-bit, waardoor het aanvalsoppervlak wordt beperkt.
Andere relevante kwetsbaarheden
De audit, uitgevoerd door het SUSE Linux-beveiligingsteam, identificeerde ook andere belangrijke tekortkomingen:
- CVE-2025-46802: Bij sessies met meerdere gebruikers kan een aanvaller algemene lees- en schrijfmachtigingen verkrijgen op TTY-apparaten zoals /dev/pts/1, wat gevolgen heeft voor zowel de 4.x- als de 5.x-branche.
- CVE-2025-46803: Branch 5.0 stelt onveilige machtigingen (0622) in op PTY-apparaten, waardoor elke gebruiker kan schrijven.
- CVE-2025-46804: Door een informatielek kan het bestaan ​​van bestanden of mappen worden afgeleid uit foutmeldingen bij het definiëren van de variabele SCREENDIR.
- CVE-2025-46805: Een raceconditie bij het verzenden van SIGCONT- en SIGHUP-signalen kan leiden tot een denial-of-service.
Er werd ook een misbruik van strncpy vastgesteld, wat crashes kan veroorzaken bij het uitvoeren van opdrachten met een speciale opmaak. Dit is een probleem dat alleen voorkomt in de 5.0-branch.
Gebrek aan onderhoud en ondersteuning van SUSE
De ontdekking van deze kwetsbaarheden heeft dieperliggende problemen in het onderhoud van GNU Screen blootgelegd. Volgens het SUSE-team, De huidige projectbeheerders begrijpen de codebasis niet volledig noch beveiligingsproblemen, waardoor ze zelf patches moesten ontwikkelen voor een aantal van de ontdekte fouten. Het rapport werd op 7 februari naar de ontwikkelaars gestuurd, maar niet alle kwetsbaarheden konden binnen de overeengekomen respijtperiode van 90 dagen worden opgelost.
Wat moet u doen als u GNU Screen gebruikt?
Gebruikers van systemen die Screen 5.0.0 met setuid root bevatten moet onmiddellijk worden geüpdatet naar versie 5.0.1 of tijdelijk teruggaan naar een 4.x-versie als er geen pakketten beschikbaar zijn. Als verzachtende maatregel kan het setuid-bit ook uit het uitvoerbare bestand Screen worden verwijderd:
sudo chmod u-s /usr/bin/screen
Echter Dit kan de functionaliteit beïnvloeden zoals het delen van sessies tussen gebruikers. Ten slotte is het de moeite waard om te vermelden dat de onlangs uitgebrachte versie 5.0.1 deze en andere bugs verhelpt en nu beschikbaar is op distributies zoals Arch Linux en FreeBSD.
Wanneer je geïnteresseerd om er meer over te wetenkunt u de details in het volgende link.