{"id":"CVE-2022-39270","aliases":["EUVD-2022-41777","GHSA-m44p-w923-w32h"],"status":"published","title":"Arbitrary HTML injection in table-of-contents theme component in DiscoTOC","description":"DiscoTOC is a Discourse theme component that generates a table of contents for topics. Users that can create topics in TOC-enabled categories (and have sufficient trust level - configured in component's settings) are able to inject arbitrary HTML on that topic's page. The issue has been fixed on the `main` branch. Admins can update the theme component through the admin UI (Customize -\u003e Themes -\u003e Components -\u003e DiscoTOC -\u003e Check for Updates). Alternatively, admins can temporarily disable the DiscoTOC theme component.","severity":{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00494,"percentile":0.42731,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-79"],"published":"2022-10-06T00:00:00Z","modified":"2026-10-28T02:31:06Z","products":[{"vendor":"discourse","product":"discotoc"}],"references":[{"url":"https://github.com/discourse/DiscoTOC/security/advisories/GHSA-m44p-w923-w32h","tags":["x_transferred","Third Party Advisory","advisory"]},{"url":"https://github.com/discourse/DiscoTOC/commit/f80c215a283cd045d2a371403e6eba88b2911192","tags":["x_transferred","Patch","Third Party Advisory","fix"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/39xxx/CVE-2022-39270.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-39270","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2022-39270","title":"Arbitrary HTML injection in table-of-contents theme component in DiscoTOC","description":"DiscoTOC is a Discourse theme component that generates a table of contents for topics. Users that can create topics in TOC-enabled categories (and have sufficient trust level - configured in component's settings) are able to inject arbitrary HTML on that topic's page. The issue has been fixed on the `main` branch. Admins can update the theme component through the admin UI (Customize -\u003e Themes -\u003e Components -\u003e DiscoTOC -\u003e Check for Updates). Alternatively, admins can temporarily disable the DiscoTOC theme component.","status":"published","published":"2022-10-06T00:00:00Z","modified":"2025-04-23T16:52:41.608Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:34:39.233406Z"}],"euvd":[{"id":"EUVD-2022-41777","description":"DiscoTOC is a Discourse theme component that generates a table of contents for topics. Users that can create topics in TOC-enabled categories (and have sufficient trust level - configured in component's settings) are able to inject arbitrary HTML on that topic's page. The issue has been fixed on the `main` branch. Admins can update the theme component through the admin UI (Customize -\u003e Themes -\u003e Components -\u003e DiscoTOC -\u003e Check for Updates). Alternatively, admins can temporarily disable the DiscoTOC theme component.","status":"published","published":"2022-10-06T00:00:00Z","modified":"2025-04-23T16:52:41Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T20:52:11.891054Z"}],"nvd":[{"id":"CVE-2022-39270","description":"DiscoTOC is a Discourse theme component that generates a table of contents for topics. Users that can create topics in TOC-enabled categories (and have sufficient trust level - configured in component's settings) are able to inject arbitrary HTML on that topic's page. The issue has been fixed on the `main` branch. Admins can update the theme component through the admin UI (Customize -\u003e Themes -\u003e Components -\u003e DiscoTOC -\u003e Check for Updates). Alternatively, admins can temporarily disable the DiscoTOC theme component.","status":"published","published":"2022-10-06T18:16:14.227Z","modified":"2026-06-17T04:58:02.53Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:07:29.026521Z"}],"osv":[{"id":"CVE-2022-39270","title":"Arbitrary HTML injection in table-of-contents theme component in DiscoTOC","description":"DiscoTOC is a Discourse theme component that generates a table of contents for topics. Users that can create topics in TOC-enabled categories (and have sufficient trust level - configured in component's settings) are able to inject arbitrary HTML on that topic's page. The issue has been fixed on the `main` branch. Admins can update the theme component through the admin UI (Customize -\u003e Themes -\u003e Components -\u003e DiscoTOC -\u003e Check for Updates). Alternatively, admins can temporarily disable the DiscoTOC theme component.","status":"published","published":"2022-10-06T00:00:00Z","modified":"2026-10-28T02:31:06.841532494Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:44:26.53798Z"}]}}
