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-21003-JWT-none-Algorithm-Bypass-via-kid-Header-Omission — Exploit de prueba de concepto para CVE-2026-21003 que demuestra un bypass de autenticación JWT al omitir el encabezado `kid` y usar el algoritmo `'none'` para suplantar usuarios. | Kitploit
Herramientas/GitHubGitHub/george0papasotiriou/cve-2026-21003-jwt-none-algorithm-bypass-via-kid-header-omission
Autenticación y AutorizaciónAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónSeguridad de APIsAtaque Adversario
GitHubgeorge0papasotiriou/cve-2026-21003-jwt-none-algorithm-bypass-via-kid-header-omission

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-21003-JWT-none-Algorithm-Bypass-via-kid-Header-Omission

Exploit de prueba de concepto para CVE-2026-21003 que demuestra un bypass de autenticación JWT al omitir el encabezado `kid` y usar el algoritmo `'none'` para suplantar usuarios.

Ver Repositorio
hace 17 díasAún no revisado

CVE-2026-21003 – Bypass del algoritmo "none" de JWT mediante la omisión del encabezado kid

Código del programa (Node.js)

root@kitploit:~
// jwt_verify_server.js - Vulnerable JWT verification
const jwt = require('jsonwebtoken');
const express = require('express');
const app = express();
app.use(express.json());

const publicKey = `-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1SU1LfVLPHCYZM5rPY4...
-----END PUBLIC KEY-----`;

app.post('/verify', (req, res) => {
    const token = req.body.token;
    // Vulnerability: if no algorithm specified, defaults to HS256? Actually, jsonwebtoken can be tricked.
    // We simulate a custom verifier that accepts "none" if kid is missing.
    const decoded = jwt.decode(token, { complete: true });
    if (!decoded.header.alg || decoded.header.alg === 'none') {
        // Accept token without signature
        res.json({ status: 'authenticated', user: decoded.payload.sub });
    } else {
        jwt.verify(token, publicKey, { algorithms: ['RS256'] }, (err, payload) => {
            if (err) res.status(401).send('Invalid');
            else res.json({ status: 'authenticated', user: payload.sub });
        });
    }
});
app.listen(3000);

CVE-2026-21003 – Bypass del algoritmo "none" de JWT mediante la omisión del encabezado kid

Severity: Critical

Descripción general

Un verificador JWT personalizado no aplica correctamente la presencia de un algoritmo de firma. Si el encabezado del token omite el parámetro alg o lo establece explícitamente en none, el servidor acepta el token sin verificar una firma, lo que permite una escalada de privilegios.

Detalles de la vulnerabilidad

  • Tipo: Bypass de autenticación
  • Impacto: Suplantación de cualquier usuario.
  • Causa raíz: La ruta de código para la ausencia de algoritmo omite por defecto la verificación de firma.

Demostración del exploit

  1. Inicia el servidor:
    root@kitploit:~
    npm install express jsonwebtoken
    node jwt_verify_server.js
    
  2. Ejecuta el exploit:
    root@kitploit:~
    pip install pyjwt requests
    python exploit_jwt_none.py
    

La respuesta muestra autenticado como admin.

Descargar herramienta