
Exploit de prueba de concepto para CVE-2026-11102 que demuestra el secuestro de fragmentos en la concesión implícita de OAuth2 a través de un redirect_uri no validado, lo que provoca la fuga del token de acceso y la toma de control de la cuenta.
// 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'));
Un proveedor de OAuth2 implementa el flujo de concesión implícita sin validar el redirect_uri contra una lista blanca. Un atacante puede proporcionar una URI maliciosa y, después de que el usuario se autentique, el token de acceso se filtra a través del fragmento de la URL a la página del atacante.
redirect_uri coincida exactamente con un valor pre-registrado, lo que permite la redirección a un dominio controlado por el atacante.npm install express
node oauth_server.js
python exploit_fragment_hijack.py