CVE-2026-54681DiscordChatExporter: HTML attribute injection via unescaped emoji name in HTML export
Updated under an hour ago ()
Does this affect you?
It affects Tyrrrz DiscordChatExporter. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
DiscordChatExporter saves Discord chat logs to a file. Prior to 2.47.2, the VisitEmojiAsync method in DiscordChatExporter.Core/Exporting/HtmlMarkdownVisitor.cs interpolates emoji.Name into the alt attribute and emoji.Code into the title attribute without HTML entity encoding. This affects HTML exports regardless of the markdown setting. Discord's current custom emoji name validation normally excludes attribute-breaking characters, but tampered offline input, a relaxed upstream validation rule, or another future metadata source can inject an HTML attribute and execute script when a user opens the export. This issue is fixed in version 2.47.2.
- CVSS
- 4.1 MEDIUM (v3.1, CNA)CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
- Weakness (CWE)
- CWE-79
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- GitHub_M
- NVD analysis
- Deferred
- Record last updated
- Aug 21, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
Tyrrrz DiscordChatExporter tyrrrz:discordchatexporter (from the name) | before 2.47.2 | CNA record |
References
- https://github.com/Tyrrrz/DiscordChatExporter/security/advisories/GHSA-r7qm-wg9p-pjfcx-refsource-confirm
- https://github.com/Tyrrrz/DiscordChatExporter/pull/1544x-refsource-misc
- https://github.com/Tyrrrz/DiscordChatExporter/commit/f4d1e630f7f27120c3be4320d92cc8b932e78688x-refsource-misc
- https://github.com/Tyrrrz/DiscordChatExporter/releases/tag/2.47.2x-refsource-misc
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.