Publié le 2 juillet 2024Documentation Index
Fetch the complete documentation index at: https://help.onetsolutions.net/llms.txt
Use this file to discover all available pages before exploring further.
L’histoire derrière le bug
CVE-2006-5051 avait été corrigée en 2006. En 2020, une refactorisation du code de logging d’OpenSSH a réintroduit la même condition. Personne ne l’a vue pendant quatre ans. C’est Qualys qui l’a déterrée en juin 2024 — d’où le nom “RegreSSHion”, contraction de regression et SSH.
Le mécanisme
sshd impose un délai maximum (LoginGraceTime, 120 secondes par défaut) pour qu’un client termine son authentification. Si le délai expire, le noyau envoie un SIGALRM au process, qui déclenche un handler nommé sigdie. Ce handler appelle des fonctions de logging (syslog(), etc.) qui ne sont pas async-signal-safe — elles peuvent prendre des verrous, allouer de la mémoire, manipuler des structures globales.
Si l’attaquant cale précisément l’expiration du timer pendant que sshd est lui-même en train de manipuler ces structures (typiquement pendant une opération de logging concurrente), il déclenche une corruption de la heap. Avec assez de tentatives et un payload finement ajusté, cette corruption se transforme en exécution de code dans le process sshd privilégié.
Pourquoi l’attaque est lente sans être théorique
- Il faut des dizaines de milliers de tentatives pour gagner la race.
- Chaque tentative doit attendre l’expiration du
LoginGraceTime. - Le payload doit être taillé pour la version exacte d’OpenSSH et la libc de la cible.
Êtes-vous concerné ?
Versions affectées (Linux glibc) :- OpenSSH 4.4p1 → 8.5p1 : non concernées (la régression a été introduite après).
- OpenSSH 8.5p1 → 9.7p1 : vulnérables.
- OpenSSH 9.8p1 et au-delà : corrigées.
Patcher
Suivez le tracker de votre distribution :| Distribution | Version corrigée |
|---|---|
| Ubuntu Jammy (22.04) | 1:8.9p1-3ubuntu0.10 |
| Ubuntu Mantic (23.10) | 1:9.3p1-1ubuntu3.6 |
| Ubuntu Noble (24.04) | 1:9.6p1-3ubuntu13.3 |
| Debian Bullseye (11) | 1:8.4p1-5+deb11u3 |
| Debian Bookworm (12) | 1:9.2p1-2+deb12u3 |
| Debian Sid | 1:9.7p1-7 |
Mitigation temporaire
Si vous ne pouvez pas patcher tout de suite, vous pouvez supprimer la fenêtre de race en imposantLoginGraceTime 0 dans /etc/ssh/sshd_config :
Cette mitigation vous expose à un déni de service trivial : un attaquant peut ouvrir des connexions TCP qui ne s’authentifient jamais et épuiser les slots de pré-authentification de
sshd. À n’utiliser qu’en dernier recours, le temps que le patch passe.- Restreindre l’accès SSH par firewall à des IP ou ranges connus.
- Activer
Match+AllowUserspour réduire la surface des comptes joignables. - Mettre du
fail2bansur l’auth log pour ralentir les bursts de tentatives.

