
Analyse détaillée d'une vulnérabilité critique d'écriture hors limites avant authentification dans libssh2 menant à l'exécution de code à distance, avec cause racine, détection et recommandations d'atténuation.
| Champ | Détail |
|---|
| CVE | CVE-2026-55200 |
| CVSS | 9.2 Critique |
| Type | Écriture hors limites |
| Composant | libssh2 |
| Versions affectées | <= 1.11.1 |
| Vecteur d'attaque | Réseau |
| Privilèges requis | Aucun |
| Interaction utilisateur | Aucune |
| Impact | Exécution de code à distance (RCE), déni de service (DoS) |
| Corrigé dans | Commit 97acf3dfda80c91c3a8c9f2372546301d4a1a7a8 |
| Date de divulgation | Juin 2026 |
CVE-2026-55200 est une vulnérabilité critique de corruption mémoire affectant la bibliothèque libssh2, largement déployée.
La faille se situe dans la logique de traitement des paquets de la couche transport SSH, à l'intérieur de :
ssh2_transport_read()
La fonction ne valide pas correctement le champ entrant :
packet_length
avant d'allouer et de traiter les données des paquets.
Un attaquant distant peut envoyer un paquet SSH spécialement conçu contenant une valeur de longueur surdimensionnée, provoquant :
Étant donné que la vulnérabilité est déclenchée lors du traitement des paquets de transport SSH, l'exploitation peut survenir avant l'authentification, ce qui augmente considérablement la gravité du problème.
Flux vulnérable simplifié :
packet_length = read_packet_length();
buffer = malloc(packet_length);
memcpy(buffer, incoming_data, packet_length);
Si packet_length est contrôlée par l'attaquant et dépasse les limites attendues :
Attacker
│
▼
Crafted SSH Packet
│
▼
Oversized packet_length
│
▼
Heap Corruption
│
┌──┴──┐
▼ ▼
DoS Potential RCE
| Composant | Versions affectées |
|---|---|
| libssh2 | <= 1.11.1 |
Toute application intégrant libssh2 peut être vulnérable, notamment :
Remarque : OpenSSH lui-même n'utilise pas libssh2 et n'est pas directement affecté.
| Exigence | Valeur |
|---|---|
| Accès réseau | Requis |
| Authentification | Non requise |
| Interaction utilisateur | Non requise |
| Complexité de l'attaque | Faible |
| Attaque distante | Oui |
Les équipes de sécurité devraient surveiller :
ssh2_transport_read()pkg-config --modversion libssh2
dpkg -l | grep libssh2
apt-cache policy libssh2-1
rpm -qa | grep libssh2
dnf info libssh2
apk info | grep libssh2
ldconfig -p | grep libssh2
find /usr -type f -executable -exec ldd {} \; 2>/dev/null | grep libssh2
Mettez à jour vers une version contenant :
97acf3dfda80c91c3a8c9f2372546301d4a1a7a8
sudo apt update
sudo apt upgrade libssh2-1
sudo reboot
sudo dnf update libssh2
sudo reboot
sudo dnf upgrade --refresh libssh2
sudo reboot
apk update
apk upgrade libssh2
En attendant que des correctifs soient disponibles :
sudo ufw allow from TRUSTED_IP to any port 22
sudo ufw deny 22
iptables -A INPUT -p tcp --dport 22 -s TRUSTED_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="TRUSTED_IP" port protocol="tcp" port="22" accept'
firewall-cmd --reload
Compilez les applications avec :
-fstack-protector-strong
-D_FORTIFY_SOURCE=2
-fPIE
-pie
-Wl,-z,relro,-z,now
Activez :
✓ ASLR
✓ Stack Canaries
✓ RELRO
✓ NX
✓ PIE
✓ Latest Security Patches
Pour les charges de travail non fiables :
docker run \
--read-only \
--cap-drop=ALL \
--security-opt no-new-privileges
Recommandations supplémentaires :
Déployez :
| Catégorie | Évaluation |
|---|---|
| Exploitabilité | Élevée |
| Complexité | Faible |
| Authentification | Aucune |
| Attaque distante | Oui |
| Risque de chaîne d'approvisionnement | Élevé |
| Exposition sur Internet | Élevée |
| Date | Événement |
|---|---|
| Juin 2026 | Vulnérabilité divulguée publiquement |
| Juin 2026 | Avis de sécurité publié |
| Juin 2026 | Commit de correctif publié |
| Juin 2026+ | Début de la diffusion des correctifs des fournisseurs |
| Ressource | Lien |
|---|---|
| NVD | https://nvd.nist.gov/vuln/detail/CVE-2026-55200 |
| Projet libssh2 | https://libssh2.org |
| Dépôt GitHub | https://github.com/libssh2/libssh2 |
| Commit de correctif | https://github.com/libssh2/libssh2/commit/97acf3dfda80c91c3a8c9f2372546301d4a1a7a8 |
Non. OpenSSH n'utilise pas libssh2 en interne.
Oui. La vulnérabilité peut potentiellement être déclenchée avant l'authentification.
Une exploitation réussie dépend de :
Cependant, les vulnérabilités de corruption mémoire de cette classe sont historiquement considérées comme extrêmement dangereuses.
Au moment de la publication, aucun rapport publiquement confirmé d'exploitation active n'a été signalé.
Ce dépôt est destiné uniquement à des fins éducatives et de sécurité défensive.
N'utilisez aucune information ni aucun code de ce dépôt sur des systèmes que vous ne possédez pas ou pour lesquels vous ne disposez pas d'une autorisation écrite explicite pour effectuer des tests.
Patchez tôt • Auditez les dépendances • Sécurisez votre chaîne d'approvisionnement 🛡️
Cybersécurité • Recherche de vulnérabilités • Renseignement sur les menaces