Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-21003-JWT-none-Algorithm-Bypass-via-kid-Header-Omission — Exploit proof-of-concept per CVE-2026-21003 che dimostra il bypass dell'autenticazione JWT omettendo l'header kid e utilizzando l'algoritmo 'none' per impersonare gli utenti. | Kitploit
Strumenti/GitHubGitHub/george0papasotiriou/cve-2026-21003-jwt-none-algorithm-bypass-via-kid-header-omission
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingSicurezza delle APIAttacco Avversario
GitHub

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
george0papasotiriou/cve-2026-21003-jwt-none-algorithm-bypass-via-kid-header-omission

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

Exploit proof-of-concept per CVE-2026-21003 che dimostra il bypass dell'autenticazione JWT omettendo l'header kid e utilizzando l'algoritmo 'none' per impersonare gli utenti.

Vedi Repository
232 mesi faNon ancora revisionato

CVE-2026-21003 – Bypass dell'algoritmo JWT "none" tramite omissione dell'header kid

Codice del programma (Node.js)

// 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 dell'algoritmo JWT "none" tramite omissione del kid

Severity: Critical

Panoramica

Un verificatore JWT personalizzato non applica correttamente la presenza di un algoritmo di firma. Se l'header del token omette il parametro alg o lo imposta esplicitamente a none, il server accetta il token senza verificare una firma, consentendo un'escalation dei privilegi.

Dettagli della vulnerabilità

  • Tipo: Bypass dell'autenticazione
  • Impatto: Impersonazione di qualsiasi utente.
  • Causa principale: Il ramo di codice per l'algoritmo mancante, per impostazione predefinita, salta la verifica della firma.

Dimostrazione dell'exploit

  1. Avvia il server:
    npm install express jsonwebtoken
    node jwt_verify_server.js
    
  2. Esegui l'exploit:
    pip install pyjwt requests
    python exploit_jwt_none.py
    

La risposta mostra che l'utente è autenticato come admin.

Scarica lo strumento