
Exploit de prova de conceito para o CVE-2026-11102 demonstrando sequestro de fragmento na concessão implícita do OAuth2 por meio de redirect_uri não validado, levando ao vazamento de token de acesso e à tomada de conta.
// 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'));
Um provedor OAuth2 implementa o fluxo de concessão implícita sem validar o redirect_uri contra uma lista de permissões. Um atacante pode fornecer uma URI maliciosa e, após o usuário se autenticar, o token de acesso é vazado por meio do fragmento da URL para a página do atacante.
redirect_uri corresponde exatamente a um valor pré-registrado, permitindo redirecionamento para um domínio controlado pelo atacante.npm install express
node oauth_server.js
python exploit_fragment_hijack.py