{"id":"CVE-2025-46654","details":"CodiMD through 2.2.0 has a CSP-based protection mechanism against XSS through uploaded JavaScript content, but it can be bypassed by uploading a .html file that references an uploaded .js file.","modified":"2026-10-22T10:35:05.284470955Z","published":"2025-04-26T00:00:00Z","database_specific":{"cwe_ids":["CWE-424"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/46xxx/CVE-2025-46654.json","unresolved_ranges":[{"extracted_events":[{"range":[{"fixed":"2.2.1"}],"source":"AFFECTED_FIELD","strategy":"StandardRange"}]},{"extracted_events":[{"source":"CPE_FIELD","strategy":"CPEApplicability","range":[{"fixed":"2.2.1"}]}]}],"cna_assigner":"mitre"},"references":[{"type":"WEB","url":"https://github.com/zast-ai/vulnerability-reports/blob/main/formidable/file_upload/report.md"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/46xxx/CVE-2025-46654.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-46654"},{"type":"REPORT","url":"https://github.com/hackmdio/codimd/issues/1910"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/hackmdio/codimd","events":[{"introduced":"0"},{"last_affected":"3e7544576b2d5d26efe8dfa40cdb9f1116ebaa78"}],"database_specific":{"extracted_events":[{"range":[{"introduced":"0"},{"last_affected":"2.2.0"}],"source":"DESCRIPTION"},{"source":"CPE_RANGE","cpe":"cpe:2.3:a:hackmd:codimd:*:*:*:*:*:*:*:*","range":[{"introduced":"0"},{"last_affected":"2.2.0"}]}]}}],"versions":["2.2.0","2.1.0","2.0.1","2.0.0","1.4.1","1.4.0","1.3.1","1.3.0","1.2.1","1.2.0","1.1.1-ce","1.1.0-ce","1.0.1-ce","1.0.0-ce","0.5.0","0.4.6","0.4.5","0.4.4","0.4.3","0.4.2","0.4.1","0.4.0","v0.3.4","v0.3.3"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-46654.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N"}]}