Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-21003-JWT-none-Algorithm-Bypass-via-kid-Header-Omission — Exploit de prova de conceito para CVE-2026-21003 que demonstra bypass de autenticação JWT ao omitir o cabeçalho kid e usar o algoritmo 'none' para se passar por usuários. | Kitploit
Ferramentas/GitHubGitHub/george0papasotiriou/cve-2026-21003-jwt-none-algorithm-bypass-via-kid-header-omission
Autenticação e AutorizaçãoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoSegurança de APIAtaque Adversário
GitHubgeorge0papasotiriou/cve-2026-21003-jwt-none-algorithm-bypass-via-kid-header-omission

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

CVE-2026-21003-JWT-none-Algorithm-Bypass-via-kid-Header-Omission

Exploit de prova de conceito para CVE-2026-21003 que demonstra bypass de autenticação JWT ao omitir o cabeçalho kid e usar o algoritmo 'none' para se passar por usuários.

Ver Repositório
2há 1 mêsAinda não revisado
Compartilhar

CVE-2026-21003 – Bypass do Algoritmo "none" do JWT via Omissão do Cabeçalho kid

Código do 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 do Algoritmo "none" do JWT via Omissão do kid

Severity: Critical

Visão Geral

Um verificador JWT personalizado não garante adequadamente a presença de um algoritmo de assinatura. Se o cabeçalho do token omitir o parâmetro alg ou o definir explicitamente como none, o servidor aceita o token sem verificar uma assinatura, permitindo escalonamento de privilégios.

Detalhes da Vulnerabilidade

  • Tipo: Bypass de Autenticação
  • Impacto: Personificação de qualquer usuário.
  • Causa Raiz: O caminho de código para algoritmo ausente, por padrão, pula a verificação de assinatura.

Demonstração do Exploit

  1. Inicie o servidor:
    root@kitploit:~
    npm install express jsonwebtoken
    node jwt_verify_server.js
    
  2. Execute o exploit:
    root@kitploit:~
    pip install pyjwt requests
    python exploit_jwt_none.py
    

A resposta mostra autenticação como admin.

Baixar ferramenta