Une nouvelle vulnérabilité dans cURL a été signalée par le CERT-FR le 4 juin 2025. Elle permet à un attaquant de provoquer un déni de service à distance. Derrière ce petit outil souvent négligé se cache un risque étendu pour des milliers de systèmes et d’applications.
🧠 Petit rappel : cURL, c’est quoi déjà ?
cURL est un outil en ligne de commande qui permet de transférer des données avec des URL. On l’utilise pour tester des APIs, pour automatiser des appels web, pour intégrer des données dans des scripts bash, ou pour toute interaction HTTP/FTP/SMTP/LDAP/….
Bref, il est partout : dans vos serveurs, vos conteneurs Docker, vos scripts cron, vos pipelines CI/CD, etc.
🔥 La vulnérabilité du moment (juin 2025)
Selon l’avis CERTFR-2025-AVI-0476, une faille de sécurité dans cURL permettrait à un attaquant distant de provoquer un déni de service (DoS).
Le scénario probable : une requête spécialement conçue est envoyée à une application utilisant cURL, provoquant un crash, une saturation mémoire, ou une exception non gérée.
Même si ce n’est pas une exécution de code arbitraire, le simple fait de planter un service critique via une biblio aussi commune que libcurl, c’est déjà une arme redoutable dans un contexte d’attaque.
🔍 Détails techniques (hypothétiques mais probables)
- Type : déni de service à distance (DoS).
- Cause : mauvaise gestion d’un champ HTTP (en-tête trop long, redirection récursive, compression malformée…).
- Impact : plantage ou indisponibilité de l’application utilisant cURL (service, script, conteneur).
- Composants touchés :
libcurl
,curl
CLI, et potentiellement toute application qui l’utilise comme dépendance.
🎯 Pourquoi c’est un vrai problème ?
cURL est une dépendance transitive : vous ne l’utilisez peut-être pas directement, mais vos outils, eux, si.
Une faille dans cURL peut donc :
- Planter des pipelines DevOps (GitLab, Jenkins),
- Stopper des appels API entre microservices,
- Faire tomber des scripts d’administration critiques,
- Être utilisée comme technique de déstabilisation avant une attaque principale (ransomware, intrusions silencieuses, etc.).
🛡️ Comment se protéger maintenant ?
✅ Recommandations immédiates :
- Mettre à jour cURL dès qu’un correctif est disponible (vérifier sur https://curl.se).
- Auditer les dépendances de vos projets pour identifier les versions vulnérables de
libcurl
. - Configurer des limites de ressources (memory, CPU) dans vos scripts et conteneurs pour limiter les effets d’un DoS.
- Filtrer les entrées utilisateur et les requêtes HTTP avant qu’elles atteignent cURL via proxy ou WAF.
- Mettre en place une journalisation étendue autour des outils utilisant cURL.
🧪 Exemple de crash classique via cURL (simulation)
bashCopierModifiercurl --header "X-Fat-Header: $(perl -e 'print "A"x100000') " https://example.com
Si l’implémentation libcurl
ne gère pas bien ce type d’entrée, on peut obtenir un crash ou un comportement anormal.
🎙️ Conclusion SecuSlice : Petit outil, grande surface d’attaque
Une vulnérabilité dans cURL, ce n’est pas anodin. C’est comme découvrir qu’un tournevis peut exploser : tout le monde en a un, mais personne ne s’est jamais demandé si c’était dangereux.
Ce nouvel avis du CERT-FR nous rappelle que les bibliothèques système sont un point de faiblesse aussi critique que vos applications métiers.
👉 À surveiller de très près, car les attaques indirectes passent souvent par les outils invisibles.