
PoC-эксплойт для CVE-2026-11102, демонстрирующий перехват фрагмента при неявном предоставлении OAuth2 через непроверяемый redirect_uri, что приводит к утечке токена доступа и захвату учётной записи.
// 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