Skip to main content

Discourse CVE-2026-46413

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

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

2
Patch available
Jul 09, 2026 - 23:02 EUVD
Analysis Generated
Jul 09, 2026 - 22:42 vuln.today

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.

AnalysisAI

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.

Technical ContextAI

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.

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.

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-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-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-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-2021-41163 CRITICAL
9.8 Oct 20

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

CVE-2024-49765 CRITICAL
9.1 Dec 19

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

CVE-2026-53963 CRITICAL
9.0 Jul 09

Stored cross-site scripting in the Discourse discussion platform allows a low-privileged registered user to set a malici

CVE-2022-39356 HIGH
8.8 Nov 02

Discourse is a platform for community discussion. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit

CVE-2026-27934 HIGH
8.7 Mar 19

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

Share

CVE-2026-46413 vulnerability details – vuln.today

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