{"schemaVersion":3,"id":"CVE-2025-63708","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"Cross-Site Scripting (XSS) vulnerability exists in SourceCodester AI Font Matcher (nid=18425, 2025-10-10) that allows remote attackers to execute arbitrary JavaScript in victims' browsers. The vulnerability occurs in the webfonts API handling mechanism where font family names are not properly sanitized. An attacker can intercept fetch requests to the webfonts endpoint and inject malicious JavaScript payloads through font family names, resulting in session cookie theft, account hijacking, and unauthorized actions performed on behalf of authenticated users. The vulnerability can be exploited by injecting a fetch hook that returns controlled font data containing malicious scripts.","dates":{"published":"2025-11-17T00:00:00.000Z","modified":"2025-11-17T16:31:49.233Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.1,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00282,"percentile":0.19551,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":0.019000000000000006,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.00263},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00282,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00282,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00282,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00282,"percentile":0.19551}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00263,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00282,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00282,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00282,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00282,"percentile":0.19551}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_DYLANDAVIS1_CVE-2025-64708","name":"Cve 2025 64708","source":"github","url":"https://github.com/DylanDavis1/CVE-2025-64708","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-79","name":"Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","description":"The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/79.html"}],"affected":[{"vendor":"remyandrade","product":"ai_font_matcher","name":"ai font matcher","label":"ai_font_matcher","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"2025-10-10","noFixRecorded":false,"fixedIn":null}],"versionsText":"2025-10-10","eol":null,"hubHref":"/vendor/remyandrade/ai_font_matcher"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://www.sourcecodester.com/javascript/18425/ai-font-matcher-using-html-css-and-javascript-source-code.html","label":"www.sourcecodester.com/javascript/…","hostname":"www.sourcecodester.com","tags":["Product"]},{"url":"https://github.com/DylanDavis1/CVE-2025-64708","label":"github.com/DylanDavis1/CVE-2025-64708","hostname":"github.com","tags":["Exploit","Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2025-11-17T00:00:00.000Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2025-11-17T16:31:49.233Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":34,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T07:03:08.731Z","stale":false,"partial":false}}