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-4444-JWT-Algorithm-Confusion-via-kid-Injection — POC para CVE-2026-4444 que demuestra la confusión de algoritmos JWT mediante inyección de kid no confiable, incluyendo un servidor Node.js vulnerable y un exploit en Python para la falsificación de tokens y la escalada de privilegios. | Kitploit
Herramientas/GitHubGitHub/george0papasotiriou/cve-2026-4444-jwt-algorithm-confusion-via-kid-injection
Autenticación y AutorizaciónExplotaciónExplotación de Aplicaciones WebCriptografíaAprendizaje y EducaciónSeguridad de APIsLabs y Práctica
GitHubgeorge0papasotiriou/cve-2026-4444-jwt-algorithm-confusion-via-kid-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

CVE-2026-4444-JWT-Algorithm-Confusion-via-kid-Injection

POC para CVE-2026-4444 que demuestra la confusión de algoritmos JWT mediante inyección de kid no confiable, incluyendo un servidor Node.js vulnerable y un exploit en Python para la falsificación de tokens y la escalada de privilegios.

Ver Repositorio
hace 17 díasAún no revisado

CVE-2026-4444 – Confusión de algoritmo JWT mediante inyección de kid

Código del programa (servidor Node.js + exploit en Python)

root@kitploit:~
// jwt_server.js - Vulnerable JWT verification server
const express = require('express');
const jwt = require('jsonwebtoken');
const jwksClient = require('jwks-rsa');
const axios = require('axios');

const app = express();
app.use(express.json());

// Normally fetches public key from a JWKS endpoint, but vulnerable kid handling
async function getPublicKey(kid) {
    // Attacker can inject a kid that points to their own URL
    if (kid.startsWith('http://') || kid.startsWith('https://')) {
        // Fetch the key from attacker-controlled URL (INSECURE!)
        const response = await axios.get(kid);
        return response.data.publicKey; // expects PEM
    }
    // Otherwise use local JWKS (simulated)
    return `-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1SU1LfVLPHCYZM5rPY4
...
-----END PUBLIC KEY-----`;
}

app.post('/api/verify', async (req, res) => {
    const token = req.body.token;
    const decoded = jwt.decode(token, { complete: true });
    const kid = decoded.header.kid;
    try {
        const publicKey = await getPublicKey(kid);
        const payload = jwt.verify(token, publicKey, { algorithms: ['RS256','HS256'] });
        res.json({ status: 'authenticated', user: payload.sub });
    } catch (e) {
        res.status(401).json({ error: e.message });
    }
});

app.listen(3000, () => console.log('JWT server on :3000'));

CVE-2026-4444 – Confusión de algoritmo JWT mediante inyección de kid

Severity: Critical

Resumen

Un servicio de verificación JWT confía ciegamente en la cabecera kid para localizar la clave pública, lo que permite a un atacante proporcionar una URL que apunte a su propia clave. Esto conduce a la falsificación completa de tokens y a la escalada de privilegios.

Detalles de la vulnerabilidad

  • Tipo: Confusión de algoritmo JWT / SSRF
  • Impacto: Acceso no autorizado, suplantación de administrador.
  • Causa raíz: El servidor obtiene una clave pública de una URI kid controlada por el usuario sin validar que pertenezca a un origen de confianza.

Demostración del exploit

  1. Inicie el servidor vulnerable:
    root@kitploit:~
    node jwt_server.js
    
  2. Ejecute el exploit (que también lanza un servidor de claves falso):
    root@kitploit:~
    python exploit_jwt_kid.py
    
Descargar herramienta