6.4 MEDIUM
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): Low (L)
- User Interaction (UI): None (N)
- Scope (S): Changed (C)
- Confidentiality (C): Low (L)
- Integrity (I): Low (L)
- Availability (A): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): Low (L)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): Low (L)
- Modified Scope (MS): Changed (C)
- Modified Integrity (MI): Low (L)
- Modified Availability (MA): None (N)
Activity log
- Created suggestion
Discourse: HTML injection in PrettyText.format_for_email from cooked-attribute reparsing
Discourse is an open-source discussion platform. Prior to 2026.1.7, 2026.6.2, 2026.7.1, and 2026.8.0-latest.1, Discourse has HTML injection in PrettyText.format_for_email because cooked attribute values are reparsed as markup. Crafted Vimeo iframe sources, secure-upload URLs or dimensions, and hashtag data-slug values can cause decoded attribute text to be reinterpreted as HTML. The vulnerable conversion also fails to strictly validate the Vimeo iframe host and path, allowing non-Vimeo allowlisted iframes to be converted. This issue is fixed in versions 2026.1.7, 2026.6.2, 2026.7.1, and 2026.8.0-latest.1.
References
-
https://github.com/discourse/discourse/security/advisories/GHSA-3q6f-6gm9-m35v x_refsource_CONFIRM
-
https://github.com/discourse/discourse/pull/42244 x_refsource_MISC
-
https://github.com/discourse/discourse/pull/42245 x_refsource_MISC
-
https://github.com/discourse/discourse/pull/42246 x_refsource_MISC
-
https://github.com/discourse/discourse/pull/42247 x_refsource_MISC
Affected products
- ==>= 2026.6.0-latest, < 2026.6.2
- ==>= 2026.8.0-latest, < 2026.8.0-latest.1
- ==>= 2026.7.0-latest, < 2026.7.1
- ==< 2026.1.7
Matching in nixpkgs
pkgs.discourse
Open source discussion platform
pkgs.discourseAllPlugins
Open source discussion platform
pkgs.discourse-mail-receiver
Helper program which receives incoming mail for Discourse
pkgs.python313Packages.pydiscourse
Python library for working with Discourse
pkgs.python314Packages.pydiscourse
Python library for working with Discourse
pkgs.grafanaPlugins.grafana-discourse-datasource
Allows users to search and view topics, posts, users, tags, categories, and reports on a given Discourse forum through Grafana
Package maintainers
-
@leona-ya Leona Maroni <nix@leona.is>
-
@talyz Kim Lindberger <kim.lindberger@gmail.com>
-
@nagisa Simonas Kazlauskas <nixpkgs@kazlauskas.me>
-
@Dettorer Paul Hervot <paul.hervot@dettorer.net>