{"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-08-12T03:51:35.691460163Z","published":"2025-04-26T00:00:00Z","database_specific":{"unresolved_ranges":[{"extracted_events":[{"fixed":"2.2.1"}],"source":"AFFECTED_FIELD"},{"extracted_events":[{"fixed":"2.2.1"}],"source":"CPE_FIELD"}],"cna_assigner":"mitre","cwe_ids":["CWE-424"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/46xxx/CVE-2025-46654.json"},"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"},{"fixed":"3e7544576b2d5d26efe8dfa40cdb9f1116ebaa78"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"2.2.0"},{"last_affected":"2.2.0"}],"source":["DESCRIPTION","CPE_RANGE"],"cpe":"cpe:2.3:a:hackmd:codimd:*:*:*:*:*:*:*:*"}}],"versions":["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/cve-osv-conversion/osv-output/CVE-2025-46654.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N"}]}