Skip to main content

Discourse EUVDEUVD-2026-42729

| CVE-2026-46413 MEDIUM
Missing Authorization (CWE-862)
2026-07-09 security-advisories@github.com
6.5
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as regular Discourse user
  2. Delivery
    Initiate S3 multipart upload via ExternalUploadManager API
  3. Exploit
    Manipulate destination parameter to target admin backup store prefix
  4. Execution
    Server skips authorization check (CWE-862)
  5. Impact
    Attacker-controlled file written to admin backup store

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the attacker to hold a valid regular user account on the target Discourse instance (PR:L per CVSS vector). The Discourse deployment must have direct S3 multipart uploads enabled and configured - this is a non-default configuration requiring an administrator to have set up an S3 bucket and enabled the ExternalUploadManager flow. Instances using local file storage are not affected by this specific code path. What limits exploitation: authentication is mandatory (unauthenticated access is not possible per PR:L); S3 direct upload must be explicitly enabled by an admin; the impact is write-only to the admin backup store - no read access or remote code execution is implied by the available data. On closed-registration or invite-only forums, the attacker pool is further constrained to existing account holders.

Impact

The CVSS 3.1 score of 6.5 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N accurately reflects the threat profile: network-exploitable over standard HTTP, low attack complexity, requiring only a regular user account (PR:L), with no user interaction needed. The high integrity impact (I:H) reflects the ability to write arbitrary content into the privileged admin backup store. Confidentiality and availability are unaffected per the vector. EPSS data was not provided in the source intelligence, so exploitation probability cannot be quantified numerically. The vulnerability is not listed in CISA KEV, and no public proof-of-concept has been identified. Real-world risk is moderate but context-dependent: on open-registration Discourse forums, obtaining a low-privilege account is trivial, lowering the effective barrier. The absence of confidentiality impact limits the immediate data exfiltration threat, but integrity compromise of the backup store could enable backup poisoning or interference with disaster recovery operations. No conflicting signals between data sources were identified.

Exploit ScenarioDerived

An attacker registers or already holds a standard (non-admin) account on a Discourse instance configured with direct S3 multipart uploads. They initiate an upload via ExternalUploadManager, manipulating the upload destination parameter to target the admin backup store S3 prefix rather than the user content bucket. Because the authorization check is absent, the server completes the multipart upload and stores the attacker-controlled file in the admin backup store, potentially overwriting legitimate backup objects or injecting malicious content into the backup archive. No public proof-of-concept has been identified, but the attack requires only standard HTTP requests and knowledge of the ExternalUploadManager API.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 09, 2026

Unauthorized write access to the admin backup store in Discourse allows any authenticated regular user to route S3 multipart uploads into a storage area that should be restricted to administrators. The flaw exists in ExternalUploadManager, which fails to enforce authorization checks (CWE-862) when accepting direct S3 multipart upload requests, meaning a low-privilege account holder can target the admin backup destination path without restriction. No active exploitation has been confirmed by CISA KEV, and no public exploit code has been identified at time of analysis, but the low attack complexity and network accessibility make this a credible threat on any Discourse deployment using S3 direct uploads.

RemediationAI

Vendor-released patches are confirmed at versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5, available at github.com/discourse/discourse/releases. Administrators should upgrade to the appropriate patched release for their branch as the primary remediation. The four fix commits (1f1ded8, 7ddde26, a53df26, abaa664) on the main GitHub repository can be reviewed for context. If immediate upgrade is not possible, a compensating control would be to restrict S3 direct upload functionality at the network or IAM policy level - specifically, deny the S3 bucket policy permissions that allow the Discourse application role to write to the backup prefix from non-admin-initiated sessions. This trade-off introduces operational friction for legitimate large-file uploads. Restricting new user registrations or requiring email approval for accounts reduces the pool of potential low-privilege attackers on public forums but does not eliminate risk from existing regular accounts. The GitHub Security Advisory is available at github.com/discourse/discourse/security/advisories/GHSA-3mvf-q9rg-w6m7.

Affected VersionsENISA

discourse 2026.1.0-latest, < 2026.1.5
discourse 2026.4.0-latest, < 2026.4.2
discourse 2026.5.0-latest, < 2026.5.1

Affected Packages

euvd discourse_2026_1_0_latest fix: 2026.1.5
euvd discourse_2026_4_0_latest fix: 2026.4.2
euvd discourse_2026_5_0_latest fix: 2026.5.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Discourse is an open-source Ruby on Rails-based discussion platform that supports Amazon S3 as an external storage backend. The ExternalUploadManager component handles direct-to-S3 multipart upload flows, where clients upload file parts directly to S3 rather than routing through the Discourse server. The admin backup store is a privileged S3 prefix or bucket used to store Discourse database and file backups, normally restricted to administrator-initiated operations. CWE-862 (Missing Authorization) identifies the root cause: the server-side code that processes multipart upload completions via ExternalUploadManager does not verify whether the requesting user has the authorization level required to write to the admin backup store destination, allowing the access control boundary between regular users and admin storage to be bypassed at the S3 object routing layer.

Know when Discourse gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
vuln.today AI 6.5 MEDIUM

Network-exploitable web app requiring only a low-privilege account; write-only impact to admin storage with no confidentiality or availability consequence.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Lifecycle Timeline

1
Patch available
Jul 09, 2026 - 23:02 EUVD

DescriptionCVE.org

Discourse is an open-source discussion platform. Prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5, regular users could route direct S3 multipart uploads through ExternalUploadManager into the admin backup store. This issue is fixed in versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Medium
popular open-source forum platform with broad community and enterprise adoption
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2025-48954 HIGH POC
8.1 Jun 25

Discourse versions prior to 3.5.0.beta6 contain a reflected cross-site scripting (XSS) vulnerability in social login fun

CVE-2022-46162 CRITICAL POC
9.8 Nov 30

discourse-bbcode is the official BBCode plugin for Discourse. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2026-27934 HIGH POC
8.7 Mar 19

Unauthorized information disclosure in Discourse discussion platform versions prior to 2026.3.0-latest.1, 2026.2.1, and

CVE-2024-47773 HIGH POC
8.2 Oct 08

Discourse is an open source platform for community discussion. Rated high severity (CVSS 8.2), this vulnerability is rem

CVE-2026-26265 HIGH POC
7.5 Feb 26

Discourse versions prior to 2025.12.2, 2026.1.1, and 2026.2.0 contain an insecure direct object reference (IDOR) in the

CVE-2021-3138 HIGH POC
7.5 Jan 14

In Discourse 2.7.0 through beta1, a rate-limit bypass leads to a bypass of the 2FA requirement for certain forms. Rated

CVE-2026-26077 MEDIUM POC
6.5 Feb 26

Unauthenticated attackers can submit forged webhook payloads to multiple email provider integrations in Discourse versio

CVE-2023-38706 MEDIUM POC
6.5 Sep 15

Discourse is an open-source discussion platform. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploi

CVE-2024-53991 MEDIUM POC
5.9 Dec 19

Discourse is an open source platform for community discussion. Rated medium severity (CVSS 5.9), this vulnerability is r

CVE-2025-48877 CRITICAL
9.8 Jun 09

Discourse versions prior to 3.4.4 (stable), 3.5.0.beta5 (beta), and 3.5.0.beta6-dev (tests-passed) contain a critical vu

CVE-2023-47121 CRITICAL
9.8 Nov 10

Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2022-39355 CRITICAL
9.8 Oct 26

Discourse Patreon enables syncronization between Discourse Groups and Patreon rewards. Rated critical severity (CVSS 9.8

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy