Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-21003-JWT-none-Algorithm-Bypass-via-kid-Header-Omission — Preuve de concept pour CVE-2026-21003 démontrant un contournement de l'authentification JWT en omettant l'en-tête `kid` et en utilisant l'algorithme 'none' pour usurper l'identité d'utilisateurs. | Kitploit
Outils/GitHubGitHub/george0papasotiriou/cve-2026-21003-jwt-none-algorithm-bypass-via-kid-header-omission
Authentification et AutorisationAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionSécurité des APIAttaque Adversariale
GitHubgeorge0papasotiriou/cve-2026-21003-jwt-none-algorithm-bypass-via-kid-header-omission

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

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

Preuve de concept pour CVE-2026-21003 démontrant un contournement de l'authentification JWT en omettant l'en-tête `kid` et en utilisant l'algorithme 'none' pour usurper l'identité d'utilisateurs.

Voir le dépôt
il y a 17 joursPas encore vérifié
Partager

CVE-2026-21003 – Contournement de l'algorithme JWT "none" via l'omission de l'en-tête kid

Code du programme (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 – Contournement de l'algorithme JWT "none" via l'omission de kid

Severity: Critical

Aperçu

Un vérificateur JWT personnalisé n'impose pas correctement la présence d'un algorithme de signature. Si l'en-tête du jeton omet le paramètre alg ou le définit explicitement sur none, le serveur accepte le jeton sans vérifier la signature, ce qui permet une élévation de privilèges.

Détails de la vulnérabilité

  • Type : Contournement de l'authentification
  • Impact : Usurpation de l'identité de n'importe quel utilisateur.
  • Cause racine : Le chemin de code pour un algorithme manquant saute par défaut la vérification de la signature.

Démonstration de l'exploit

  1. Démarrez le serveur :
    root@kitploit:~
    npm install express jsonwebtoken
    node jwt_verify_server.js
    
  2. Exécutez l'exploit :
    root@kitploit:~
    pip install pyjwt requests
    python exploit_jwt_none.py
    

La réponse indique une authentification en tant qu'admin.

Télécharger l’outil