
CVE-2026-11102用の概念実証エクスプロイト。検証されていないredirect_uriを介したOAuth2暗黙的グラントのフラグメントハイジャックを実証し、アクセストークンの漏洩とアカウント乗っ取りを引き起こします。
// oauth_server.js - OAuth2 provider issuing tokens in fragment
const express = require('express');
const app = express();
app.get('/authorize', (req, res) => {
const redirectUri = req.query.redirect_uri;
const state = req.query.state || '';
// Simulate user approval: redirect with access token in fragment
const token = 'secret_access_token';
res.redirect(`${redirectUri}#access_token=${token}&state=${state}`);
});
app.listen(3000, () => console.log('OAuth server on :3000'));
OAuth2プロバイダーは、redirect_uriをホワイトリストに対して検証せずに暗黙的グラントフローを実装しています。攻撃者は悪意のあるURIを指定でき、ユーザーが認証した後、アクセストークンがURLフラグメントを介して攻撃者のページに漏えいします。
redirect_uriを事前登録された値と正確に一致するか検証しないため、攻撃者が制御するドメインへのリダイレクトが可能になります。npm install express
node oauth_server.js
python exploit_fragment_hijack.py