Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-4444-JWT-Algorithm-Confusion-via-kid-Injection — CVE-2026-4444 の PoC。信頼できない kid インジェクションを介した JWT アルゴリズム混同を実証し、脆弱な Node.js サーバーと、トークン偽造および権限昇格のための Python エクスプロイトを含みます。 | Kitploit
ツール/GitHubGitHub/george0papasotiriou/cve-2026-4444-jwt-algorithm-confusion-via-kid-injection
認証と認可エクスプロイトウェブアプリケーション悪用暗号化学習と教育APIセキュリティラボと実践
GitHubgeorge0papasotiriou/cve-2026-4444-jwt-algorithm-confusion-via-kid-injection

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

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-4444 の PoC。信頼できない kid インジェクションを介した JWT アルゴリズム混同を実証し、脆弱な Node.js サーバーと、トークン偽造および権限昇格のための Python エクスプロイトを含みます。

リポジトリを見る
17日前未レビュー

CVE-2026-4444 – kid インジェクションによる JWT アルゴリズム混同

プログラムコード (Node.js サーバー + 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 – kid インジェクションによる JWT アルゴリズム混同

Severity: Critical

概要

JWT 検証サービスは、公開鍵を特定するために kid ヘッダーを盲目的に信頼するため、攻撃者は自分の鍵を指す URL を提供できます。これにより、トークンの完全な偽造と権限昇格が引き起こされます。

脆弱性の詳細

  • 種別: JWT アルゴリズム混同 / SSRF
  • 影響: 不正アクセス、管理者へのなりすまし。
  • 根本原因: サーバーは、信頼できるオリジンのものであることを検証せずに、ユーザーが制御する kid URI から公開鍵を取得します。

エクスプロイトの実証

  1. 脆弱なサーバーを起動します:
    root@kitploit:~
    node jwt_server.js
    
  2. エクスプロイトを実行します (偽の鍵サーバーも起動されます):
    root@kitploit:~
    python exploit_jwt_kid.py
    
root@kitploit:~
ツールをダウンロード