CRLF Injection
hackingDéfinition
L'injection CRLF est une vulnérabilité applicative exploitant l'insertion non filtrée de caractères de retour chariot et de saut de ligne, respectivement carriage return et line feed, dans une donnée utilisateur transmise à un en-tête HTTP, un fichier journal ou une commande système, permettant à un attaquant d'injecter artificiellement une nouvelle ligne interprétée comme un séparateur structurel par le composant cible. Appliquée à une réponse HTTP, cette technique permet l'injection d'en-têtes arbitraires, aboutissant à des attaques dérivées comme le fractionnement de réponse HTTP (HTTP Response Splitting), la fixation de session, ou l'empoisonnement de cache lorsqu'un proxy intermédiaire met en cache la réponse falsifiée pour d'autres utilisateurs. Appliquée à un fichier journal, l'injection CRLF permet la falsification d'entrées de log, technique dite de log injection, où un attaquant insère de fausses lignes d'événements pour tromper un analyste ou masquer une activité malveillante réelle au sein d'un journal légitime. En défense, la validation et l'encodage systématiques de toute donnée utilisateur avant son insertion dans un en-tête HTTP ou un fichier journal, le rejet explicite des caractères de contrôle non attendus dans les champs de saisie, l'utilisation de bibliothèques standards gérant nativement l'échappement plutôt que la construction manuelle de chaînes, ainsi que la structuration des journaux au format structuré comme JSON plutôt qu'en texte libre, réduisent fortement l'exploitabilité de cette classe de vulnérabilité.
Description
L'injection CRLF consiste à insérer des caractères retour chariot et saut de ligne ( ) dans des en-têtes HTTP pour fragmenter la réponse ou injecter des headers malveillants. Cette technique permet du HTTP response splitting et des attaques XSS via les headers.
Exploitation
L'attaquant injecte Set-Cookie: session=malicious dans un paramètre reflété dans les headers. La réponse est alors scindée, permettant d'injecter du contenu arbitraire, des cookies malveillants ou du code JavaScript.
Défense
- Valider et encoder toutes les données insérées dans des headers HTTP, supprimer les caractères CRLF
- Utiliser des frameworks web modernes qui gèrent automatiquement l'encodage des headers
- Déployer un WAF avec règles de détection d'injection CRLF
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h