{"id":"CVE-2024-32472","aliases":["GHSA-m64q-4jqh-f72f"],"url":"https://o3.security/vulnerability/CVE-2024-32472","summary":"excalidraw vulnerable to a Stored XSS in excalidraw's web embed component","details":"### Summary\n\nA stored XSS vulnerability in Excalidraw's web embeddable component. This allows arbitrary JavaScript to be run in the context of the domain where the editor is hosted. \n\n### Poc\n\nInserting an embed with the below url (can be copy/pasted onto canvas to insert as embed) will log `42` to the console:\n\n```\nhttps://gist.github.com/vv=v<script>console.log(42)</script>\n```\n\n### Details\n\nThere were two vectors. One rendering untrusted string as iframe's `srcdoc` without properly sanitizing against HTML injection. Second by improperly sanitizing against attribute HTML injection. This in conjunction with allowing `allow-same-origin` sandbox flag (necessary for several embeds) resulted in the XSS.\n\nFormer was fixed by no longer rendering unsafe `srcdoc` content verbatim, and instead strictly parsing the supplied content and constructing the `srcdoc` manually. The latter by sanitizing properly.\n\nThe `allow-same-origin` flag is now also set only in cases that require it, following the principle of least privilege.\n\n### Impact\n\nThis is a cross site scripting vulnerability, for more information, please see: https://portswigger.net/web-security/cross-site-scripting\n\nTwo npm `@excalidraw/excalidraw` stable version releases were affected (`0.16.x`, `0.17.x`), and both are now patched.","published":"2024-04-17T21:23:57.452Z","modified":"2026-10-28T02:30:35.110978844Z","cvss":{"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"},"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"@excalidraw/excalidraw","fixedVersion":"0.16.4"},{"ecosystem":"npm","name":"@excalidraw/excalidraw","fixedVersion":"0.17.6"}],"fix":{"url":"https://github.com/excalidraw/excalidraw/commit/6be752e1b6d776ccfbd3bb9eea17463cb264121d","label":"excalidraw/excalidraw@6be752e"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/32xxx/CVE-2024-32472.json"},{"type":"ADVISORY","url":"https://github.com/excalidraw/excalidraw/security/advisories/GHSA-m64q-4jqh-f72f"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-32472"},{"type":"FIX","url":"https://github.com/excalidraw/excalidraw/commit/6be752e1b6d776ccfbd3bb9eea17463cb264121d"},{"type":"FIX","url":"https://github.com/excalidraw/excalidraw/commit/988f81911ca58e3ca2583e0dd44a954dd00e09d0"},{"type":"PACKAGE","url":"https://github.com/excalidraw/excalidraw"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-10-28T02:30:35.110978844Z"}}