CVE-2024-53851

4.3 MEDIUM

📋 TL;DR

This vulnerability in Discourse allows authenticated users to send excessive URL requests to the inline onebox generation endpoint, causing denial of service to parts of the application. Only authenticated users can exploit this issue. The vulnerability affects Discourse installations with inline onebox features enabled.

💻 Affected Systems

Products:
  • Discourse
Versions: All versions before the patch
Operating Systems: All
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when 'enable inline onebox on all domains' is enabled or 'allowed inline onebox domains' contains entries.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Malicious authenticated users could overwhelm the application with URL processing requests, causing service degradation or complete unavailability of Discourse functionality.

🟠

Likely Case

Targeted DoS attacks by authenticated users against specific Discourse instances, potentially disrupting community discussions.

🟢

If Mitigated

Minimal impact with proper rate limiting and monitoring in place, or with inline onebox features disabled.

🌐 Internet-Facing: MEDIUM - Exploitable by authenticated users from the internet, but requires valid credentials.
🏢 Internal Only: MEDIUM - Internal authenticated users could also exploit this vulnerability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access and involves sending multiple URL requests to the vulnerable endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Latest stable, beta, and tests-passed versions

Vendor Advisory: https://github.com/discourse/discourse/security/advisories/GHSA-49rv-574x-wgpc

Restart Required: Yes

Instructions:

1. Update Discourse to the latest stable version. 2. Restart the Discourse application. 3. Verify the patch is applied by checking the version.

🔧 Temporary Workarounds

Disable inline onebox features

all

Turn off inline onebox generation to prevent exploitation

Navigate to Site Settings > enable inline onebox on all domains = false
Navigate to Site Settings > allowed inline onebox domains = clear all entries

🧯 If You Can't Patch

  • Disable 'enable inline onebox on all domains' site setting
  • Remove all entries from 'allowed inline onebox domains' site setting

🔍 How to Verify

Check if Vulnerable:

Check if running a pre-patch version of Discourse and if inline onebox features are enabled.

Check Version:

Check Discourse admin dashboard or run: `cd /var/discourse && ./launcher status app`

Verify Fix Applied:

Verify Discourse version is updated to latest stable/beta/tests-passed version and check patch commit 416ec83ae57924d721e6e374f4cda78bd77a4599 is included.

📡 Detection & Monitoring

Log Indicators:

  • High volume of requests to /inline-onebox endpoint
  • Multiple URL processing requests from single authenticated users
  • Increased response times or errors from onebox service

Network Indicators:

  • Bursts of POST requests to /inline-onebox endpoint
  • Unusual patterns of URL processing requests

SIEM Query:

source="discourse_logs" AND endpoint="/inline-onebox" AND count > threshold

🔗 References

📤 Share & Export