{"id":"CVE-2026-120350","published":"2026-11-10T12:17:17.050","lastModified":"2026-11-10T12:17:17.170","description":"The Vaadin Rich Text Editor exports a video embed without escaping its value, and then parses the resulting HTML into live DOM. A value crafted to break out of the href attribute therefore runs script in the viewer's browser. An attacker who can edit shared content pastes a video embed carrying the payload, the delta is stored, and the script runs when any user opens the page, including in read only mode.\n\nOnly content persisted through asDelta() is affected. The default HTML value, set and read through setValue and getValue, is sanitized on the server with a safelist that has no iframe, so the embed does not survive that path. Vaadin 24 and older are not affected: they build the HTML value from the editor's own innerHTML, which the browser escapes.\n\nUsers of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include:\n\nProduct version\nVaadin 25.0.0 - 25.0.13\nVaadin 25.1.0 - 25.1.13\nVaadin 25.2.0 - 25.2.12\nVaadin 25.3.0 - 25.3.4\n\nMitigation\nNo fixed release on this line, upgrade to 25.2.13 or newer\nNo fixed release on this line, upgrade to 25.2.13 or newer\nUpgrade to 25.2.13\nUpgrade to 25.3.5","cvssScore":null,"cvssSeverity":null,"cvssVector":null,"cwes":["CWE-79"],"vendors":[],"products":[],"references":[{"url":"https://github.com/advisories/GHSA-v3m3-f69x-jf25","tags":[]},{"url":"https://github.com/vaadin/web-components/pull/13272","tags":[]},{"url":"https://vaadin.com/security/cve-2026-120350","tags":[]}],"exploitRefs":[{"url":"https://github.com/advisories/GHSA-v3m3-f69x-jf25","tags":[]},{"url":"https://github.com/vaadin/web-components/pull/13272","tags":[]}],"hasPoc":true,"ai":null}