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
Authentication & AuthorizationExploitationWeb Application ExploitationCryptographyLearning & EducationAPI SecurityLabs & Practice
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 익스플로잇을 포함합니다.

저장소 보기
41개월 전아직 검토되지 않음

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
  • 영향: 무단 액세스, 관리자 가장(impersonation).
  • 근본 원인: 서버가 신뢰할 수 있는 출처인지 검증하지 않고 사용자 제어 kid URI에서 공개 키를 가져옵니다.

익스플로잇 시연

  1. 취약한 서버를 시작합니다:
    root@kitploit:~
    node jwt_server.js
    
  2. 익스플로잇을 실행합니다 (가짜 키 서버도 함께 시작됩니다):
    root@kitploit:~
    python exploit_jwt_kid.py
    
도구 다운로드