Cyber Resilience

CVE-2023-47119

XSS in Discourse ≤ 3.1.3

Published
10 November 2023
Modified
21 November 2024
Patch / advisory
CVSS Score v3.1 5.3
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
EPSS Score 0.0094 58th percentile
Risk Priority 55 floored blend · peak EPSS

Summary

CVE-2023-47119 is a medium-severity Injection (CWE-74) vulnerability in Discourse Discourse. Its CVSS base score is 5.3 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Browser Session Hijacking (T1185); ranked in the top 42% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

Discourse is an open source discussion platform whose Onebox link-rendering engine is affected by CVE-2023-47119. Prior to versions 3.1.3 (stable) and 3.2.0.beta3 (beta and tests-passed), specially crafted links could cause arbitrary HTML tags to be injected during rendering. The flaw is tracked under CWE-74 and CWE-79 and carries a CVSS 3.1 score of 5.3 reflecting network attackability with low complexity and no authentication or user interaction required, resulting in limited availability impact.

An unauthenticated remote attacker can supply a malicious link that is processed by the Onebox engine, allowing HTML injection that may degrade service availability for users viewing the affected post. No confidentiality or integrity impact is indicated by the CVSS vector.

The official GitHub Security Advisory and accompanying commits state that the issue is resolved in the cited releases and that no workarounds are known; administrators are therefore advised to upgrade promptly. The associated EPSS score has remained flat at 0.1424 with no material increase since disclosure.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Discourse is an open source platform for community discussion. Prior to version 3.1.3 of the `stable` branch and version 3.2.0.beta3 of the `beta` and `tests-passed` branches, some links can inject arbitrary HTML tags when rendered through our Onebox engine. The…

more

issue is patched in version 3.1.3 of the `stable` branch and version 3.2.0.beta3 of the `beta` and `tests-passed` branches. There are no known workarounds.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1185 Browser Session Hijacking Collection
Adversaries may take advantage of security vulnerabilities and inherent functionality in browser software to change content, modify user-behaviors, and intercept information as part of various browser session hijacking techniques.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1221 Template Injection Stealth
Adversaries may create or modify references in user document templates to conceal malicious code or force authentication attempts.
T1539 Steal Web Session Cookie Credential Access
An adversary may steal web application or service session cookies and use them to gain access to web applications or Internet services as an authenticated user without needing credentials.
T1659 Content Injection Initial Access
Adversaries may gain access and continuously communicate with victims by injecting malicious content into systems through online network traffic.
T1674 Input Injection Execution
Adversaries may simulate keystrokes on a victim’s computer by various means to perform any type of action on behalf of the user, such as launching the command interpreter using keyboard shortcuts, typing an inline script to be executed,…
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2023-22454Same product: Discourse Discourse
CVE-2023-25172Same product: Discourse Discourse
CVE-2023-22455Same product: Discourse Discourse
CVE-2023-26040Same product: Discourse Discourse
CVE-2023-29196Same product: Discourse Discourse
CVE-2023-43659Same product: Discourse Discourse
CVE-2023-36473Same product: Discourse Discourse
CVE-2023-30538Same product: Discourse Discourse
CVE-2023-22468Same product: Discourse Discourse
CVE-2023-37467Same product: Discourse Discourse

Affected Assets

discourse
discourse
3.2.0 · ≤ 3.1.3 · ≤ 3.2.0

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.2.1
  • V1.2.3
  • V1.2.5
  • V1.2.8

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-79

Penetration testing submits XSS payloads to web applications, detecting cross-site scripting flaws for subsequent remediation.

addresses: CWE-74

Developer assessments and testing (including injection-focused techniques) identify improper neutralization of special elements, and the verifiable flaw remediation corrects them pre-deployment.

addresses: CWE-79

Validates web inputs to reject script-related content that could produce XSS.

addresses: CWE-79

Output validation against expected content can reject or sanitize script content in generated web pages, reducing XSS exploitability.

addresses: CWE-74

Identifies indicators of injection attacks (command, SQL, LDAP, etc.) via anomaly and attack monitoring.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require input validation and output encoding that prevent injection flaws.

PR.PS-02 partial match
prevents

Patching and EOL replacement can remediate known XSS instances in libraries or frameworks (partial) but do nothing to enforce input neutralization in application code (none).

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing in development catches injection vulnerabilities before release.

prevents

Knowledge exchange on emerging attack techniques and patches reduces the likelihood that cross-site scripting flaws remain unaddressed in deployed applications.

prevents

Operational indicators of compromise for web-application attacks can be incorporated into WAF or input-filtering rules, lowering the likelihood that unsanitized data reaches the browser.

A.8.15 Logging partial match
finds

Logging supports detection of injection attempts but does not prevent the weakness.

finds

Monitoring activities can identify active injection attacks after they occur.

prevents

Secure development life cycle mandates input validation and output encoding that directly prevent injection flaws.

References