Fa pocs dies, es va donar a conèixer informació sobre una auditoria de seguretat que va revelar cinc vulnerabilitats crítiques al popular multiplexor de terminal Pantalla GNU, utilitzat per gestionar múltiples sessions de consola en una única terminal.
Una de les quals (CVE-2025-23395, la vulnerabilitat més perillosa) permet a un atacant obtenir privilegis de root en sistemes afectats (la vulnerabilitat afecta únicament la versió 5.0.0 de GNU Screen), inclosa en distribucions com Fedora, Arch Linux, NetBSD, entre d'altres. En canvi, altres com Debian, Ubuntu i RHEL encara utilitzen la branca 4.x, que no és vulnerable a aquesta fallida en particular.
CVE-2025-23395: escalada de privilegis crítica
S'esmenta que el problema es produeix quan el GNU Screen s'executa amb el bit setuid root (cas d'Arch i NetBSD), ja quee la funció logfile_reopen() s'executa abans de baixar privilegis, el que permet que l'usuari manipuli els registres perquè s'escriguin fitxers arbitraris com a root. En una explotació típica, el atacant elimina el fitxer de log original i el reemplaça per un enllaç simbòlic cap a un fitxer del sistema. En tornar a obrir el fitxer, Screen ho escriu amb permisos root, permetent que el contingut maliciós.
Aquest problema afecta Screen 5.0.0 quan s'executa amb privilegis setuid-root. La funció logfile_reopen()no elimina els privilegis en operar en una ruta proporcionada per lusuari. Això permet a usuaris sense privilegis crear fitxers en ubicacions arbitràries amb rootla propietat, la propietat del grup (real) de l'usuari que els invoca i el mode de fitxer 0644. Totes les dades escrites al PTY de Screen es registraran en aquest fitxer. També es poden utilitzar fitxers ja existents per al registre d'aquesta manera: les dades s'afegiran al fitxer en qüestió, però el mode de fitxer i la propietat es mantindran sense canvis.
aquest atac pot portar al control total del sistema si s'explota adequadament, ja que permet modificar fitxers sensibles o alterar scripts d'inici. Fedora està parcialment protegit gràcies al fet que Screen s'instal·la amb el bit setgid, limitant la superfície de l'atac.
Altres vulnerabilitats rellevants
L'auditoria realitzada per l'equip de seguretat de SUSE Linux, també va identificar altres errors importants:
- CVE-2025-46802: en sessions multiusuari, un atacant pot obtenir permisos globals de lectura i escriptura en dispositius TTY com a /dev/pts/1, afectant tant la branca 4.x com la 5.x.
- CVE-2025-46803: la branca 5.0 estableix permisos insegurs (0622) en dispositius PTY, permetent escriptura per part de qualsevol usuari.
- CVE-2025-46804: una fuita d'informació permet deduir l'existència de fitxers o directoris usant missatges d'error en definir la variable SCREENDRE.
- CVE-2025-46805: una condició de carrera en enviar senyals SIGCONT i SIGHUP pot provocar una denegació de servei.
Es va detectar a més un mal ús de strncpy, que pot provocar bloquejos en executar ordres amb format especial, problema exclusiu de la branca 5.0.
Manca de manteniment i suport de SUSE
El descobriment d'aquestes vulnerabilitats ha exposat problemes més profunds en el manteniment del GNU Screen. Segons l'equip de SUSE, els actuals responsables del projecte no comprenen completament la base de codi ni els problemes de seguretat, cosa que els va obligar a desenvolupar pel seu compte pegats per a part de les fallades descobertes. El reporti va ser enviat als desenvolupadors el 7 de febrer, però no va ser possible corregir tot el conjunt de vulnerabilitats els 90 dies de gràcia acordats.
Què fer si fas servir GNU Screen?
Els usuaris de sistemes que inclouen Screen 5.0.0 amb setuid root haurien d'actualitzar immediatament a la versió 5.0.1 o revertir temporalment a una versió 4.x si no hi ha paquets disponibles. Com a mesura de mitigació, també es pot eliminar el bit setuid de l'executable de Screen:
sudo chmod u-s /usr/bin/screen
No obstant això, això pot afectar funcionalitats com a ús compartit de sessions entre usuaris. Finalment, cal esmentar que versió 5.0.1, publicada recentment, corregeix aquest i altres errors, i ja està disponible en distribucions com Arch Linux i FreeBSD.
si estàs interessat a poder conèixer més sobre això, Pots consultar els detalls al següent enllaç.