{"id":"CVE-2022-0776","aliases":["EUVD-2022-1442","GHSA-hhqj-cfjx-vj25"],"status":"published","title":"Cross-site Scripting (XSS) - DOM in hakimel/reveal.js","description":"Cross-site Scripting (XSS) - DOM in GitHub repository hakimel/reveal.js prior to 4.3.0.","severity":{"version":"3.0","score":5.3,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-08","score":0.03679,"percentile":0.89751,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2022-03-01T08:40:09Z","modified":"2026-10-28T02:31:07Z","exploits":[{"source":"nuclei","id":"CVE-2022-0776","title":"RevealJS postMessage \u003c4.3.0 - Cross-Site Scripting","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2022/CVE-2022-0776.yaml"}],"fixes":[{"ecosystem":"npm","package":"reveal.js","fixed_in":["4.3.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"reveal.js","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.0"}]}]},{"source":"osv","ecosystem":"npm","package":"reveal.js","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"4.3.0"}]}]}],"products":[{"vendor":"hakimel","product":"hakimel/reveal.js"},{"vendor":"revealjs","product":"reveal.js"}],"references":[{"url":"https://huntr.dev/bounties/be2b7ee4-f487-42e1-874a-6bcc410e4001","tags":["x_refsource_CONFIRM","x_transferred","Exploit","Third Party Advisory","web"]},{"url":"https://github.com/hakimel/reveal.js/commit/32cdd3b1872ba8e2267c9e87ae216cb55f40f4d2","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-0776","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-hhqj-cfjx-vj25"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/0xxx/CVE-2022-0776.json","tags":["advisory"]},{"url":"https://github.com/hakimel/reveal.js","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2022-0776","title":"Cross-site Scripting (XSS) - DOM in hakimel/reveal.js","description":"Cross-site Scripting (XSS) - DOM in GitHub repository hakimel/reveal.js prior to 4.3.0.","status":"published","published":"2022-03-01T08:40:09Z","modified":"2024-08-02T23:40:04.091Z","cvss":[{"version":"3.0","score":5.3,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:34:41.69911Z"}],"euvd":[{"id":"EUVD-2022-1442","description":"Cross-site Scripting (XSS) - DOM in GitHub repository hakimel/reveal.js prior to 4.3.0.","status":"published","published":"2022-03-01T08:40:09Z","modified":"2024-08-02T23:40:04Z","cvss":[{"version":"3.0","score":5.3,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N","level":"medium"}],"updated_at":"2026-11-03T03:26:03.912978Z"}],"ghsa":[{"id":"GHSA-hhqj-cfjx-vj25","title":"Cross site scripting in reveal.js","description":"The onmessage event listener in /plugin/notes/speaker-view.html does not check the origin of postMessage before adding the content to the webpage. The vulnerable code allows any origin to postMessage on the browser window and feeds attacker's input to parts using which attacker can execute arbitrary javascript code on victim's browser window hosting reveal.js","status":"published","published":"2022-03-02T00:00:20Z","modified":"2023-02-03T05:06:27Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:36:43.439065Z"}],"nvd":[{"id":"CVE-2022-0776","description":"Cross-site Scripting (XSS) - DOM in GitHub repository hakimel/reveal.js prior to 4.3.0.","status":"published","published":"2022-03-01T09:15:07.307Z","modified":"2026-06-17T04:21:13.31Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"},{"version":"3.0","score":5.3,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N","level":"medium","assessor":"secondary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:07:12.711288Z"}],"osv":[{"id":"CVE-2022-0776","title":"Cross-site Scripting (XSS) - DOM in hakimel/reveal.js","description":"Cross-site Scripting (XSS) - DOM in GitHub repository hakimel/reveal.js prior to 4.3.0.","status":"published","published":"2022-03-01T08:40:09Z","modified":"2026-10-28T02:31:07.971475363Z","cvss":[{"version":"3.0","score":5.3,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:44:22.824781Z"},{"id":"GHSA-hhqj-cfjx-vj25","title":"Cross site scripting in reveal.js","description":"The onmessage event listener in /plugin/notes/speaker-view.html does not check the origin of postMessage before adding the content to the webpage. The vulnerable code allows any origin to postMessage on the browser window and feeds attacker's input to parts using which attacker can execute arbitrary javascript code on victim's browser window hosting reveal.js","status":"published","published":"2022-03-02T00:00:20Z","modified":"2023-11-08T04:07:40.540384Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:49.28217Z"}]}}
