Cet article révèle une vulnérabilité critique dans le logiciel Screen 5.0.0, un multiplexeur de terminal traditionnel utilisé sur les systèmes Linux et Unix.
🛡️ Failles critiques dans Screen : élévation de privilège locale et fuites d’informations (mai 2025)
Le SUSE Security Team a identifié plusieurs vulnérabilités sérieuses dans GNU Screen, un outil utilisé pour gérer des sessions terminal persistantes. Certaines failles permettent une élévation de privilège jusqu’à root, en particulier dans la nouvelle version 5.0.0 installée sur certaines distributions Linux et BSD.
🔧 Fonctionnement de Screen
Screen permet de gérer plusieurs terminaux dans une session persistante, y compris en mode multi-utilisateur. Ce mode active des privilèges setuid-root
, ce qui accroît les risques de sécurité.
🔐 Vulnérabilités majeures découvertes
🔸 CVE-2025-23395 – Élévation locale de privilège via logfile_reopen()
- Exploit local permettant à un utilisateur de créer/modifier des fichiers en tant que root.
- Possibilité de lancer du code malveillant lors de la prochaine connexion root.
- 🐧 Affects : Arch Linux, NetBSD, Fedora (impact limité), Gentoo (
USE=multiuser
).
🔸 CVE-2025-46802 – Détournement de terminal (TTY hijack)
- Pendant une tentative de rattachement à une session multi-utilisateur, les permissions du terminal sont temporairement ouvertes à tous (
0666
). - Permet à un attaquant local de lire/injecter des commandes.
- 📅 Présent depuis 2005 — affecte toutes les distros configurées avec
setuid-root
.
🔸 CVE-2025-46803 – PTYs accessibles en écriture à tous
- En version 5.0.0, les terminaux pseudo-PTY sont créés en mode 0622 (écriture globale).
- Peut être exploité pour injecter du texte dans les sessions Screen d’autres utilisateurs.
- 🐧 Affects : Arch Linux, NetBSD.
🔸 CVE-2025-46804 – Fuite d’information via messages d’erreur
- Des utilisateurs non privilégiés peuvent utiliser
SCREENDIR
pour sonder l’existence de fichiers ou répertoires sensibles (ex :/root/.ssh/
). - Affecte toutes les distributions si Screen est
setuid-root
.
🔸 CVE-2025-46805 – Condition de course sur l’envoi de signaux
- Utilisation de
kill()
avec des privilèges élevés après une vérification avec des privilèges restreints ➜ TOCTOU. - Peut provoquer un DoS local ou altérer le comportement système.
- Affecte versions 4.x et 5.0.0.
⚠️ Autre bug – Crashs avec strncpy()
(non CVE)
- Utilisation incorrecte de
strncpy()
➜ buffer overflow et plantage lors de l’envoi de commandes à une session Screen. - 📌 Affecte uniquement Screen 5.0.0.
💥 Distributions concernées
Distribution | Version | Privilèges spéciaux | Vulnérabilités |
---|---|---|---|
Arch Linux | 5.0.0 | setuid-root |
3.a, 3.b, 3.c, 3.d, 3.e, 3.f |
Fedora 42 | 5.0.0 | setgid-screen |
3.b (partiel), 3.f |
NetBSD 10.1 | 5.0.0 | setuid-root |
3.a, 3.b, 3.c, 3.d, 3.e, 3.f |
Gentoo | 4.9.1 | setgid-utmp (ou setuid-root ) |
3.b (partiel), 3.a (si USE=multiuser ) |
Debian / Ubuntu / openSUSE / OpenBSD | 4.9.x | — | 3.b (partiel) |
🧰 Recommandations
- Ne pas installer Screen avec
setuid-root
. - Appliquer les correctifs proposés par SUSE pour les versions 4.9.1 et 5.0.0.
- Limiter l’accès au mode multi-utilisateur via un groupe restreint ou un binaire séparé.
- Évaluer des alternatives plus sûres si l’usage multi-utilisateur est indispensable.
📅 Calendrier de divulgation
- 07/2024 : SUSE est sollicité pour une revue de sécurité.
- 02/2025 : Failles signalées en privé à l’amont avec embargo de 90 jours.
- 05/2025 : Problèmes de communication avec l’amont ➜ SUSE publie les correctifs et le rapport.
📎 Références
- SUSE Security Team Blog
- CVEs : CVE-2025-23395, CVE-2025-46802, CVE-2025-46803, CVE-2025-46804, CVE-2025-46805
- Rapport complet : https://www.suse.com/security/
🔗 Source originale : https://security.opensuse.org/2025/05/12/screen-security-issues.html