CVE-2022-24307

9.8 CRITICAL

📋 TL;DR

Mastodon instances running vulnerable versions have incorrect access control due to improper handling of signed JSON-LD activities. This allows attackers to bypass intended access restrictions and potentially perform unauthorized actions. All Mastodon instances running affected versions are vulnerable.

💻 Affected Systems

Products:
  • Mastodon
Versions: All versions before 3.3.2 and 3.4.x before 3.4.6
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All Mastodon instances with JSON-LD signing enabled (default since version 1.6.0) are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete account takeover, unauthorized posting/deletion of content, privilege escalation, and compromise of the entire Mastodon instance.

🟠

Likely Case

Unauthorized access to protected content, ability to post as other users, and manipulation of instance data.

🟢

If Mitigated

Limited impact with proper network segmentation and monitoring, but still presents authentication bypass risk.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires understanding of JSON-LD signing and Mastodon's ActivityPub implementation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.3.2 or 3.4.6

Vendor Advisory: https://github.com/mastodon/mastodon/releases/tag/v3.3.2

Restart Required: Yes

Instructions:

1. Backup your Mastodon instance. 2. Update to Mastodon 3.3.2 or 3.4.6 using your package manager or from source. 3. Restart all Mastodon services. 4. Verify the update was successful.

🔧 Temporary Workarounds

Disable JSON-LD signing

all

Temporarily disable JSON-LD activity signing to mitigate the vulnerability

Edit Mastodon configuration to set JSON-LD signing to false

🧯 If You Can't Patch

  • Implement strict network access controls to limit ActivityPub traffic to trusted sources only
  • Enable enhanced logging for JSON-LD activity processing and monitor for suspicious patterns

🔍 How to Verify

Check if Vulnerable:

Check Mastodon version via admin interface or by examining the application files

Check Version:

RAILS_ENV=production bundle exec rails runner 'puts Mastodon::Version.to_s'

Verify Fix Applied:

Verify version is 3.3.2 or higher (for 3.3.x) or 3.4.6 or higher (for 3.4.x)

📡 Detection & Monitoring

Log Indicators:

  • Unusual JSON-LD activity processing errors
  • Unexpected access to protected resources

Network Indicators:

  • Unusual ActivityPub traffic patterns
  • Suspicious JSON-LD payloads

SIEM Query:

source="mastodon" AND (jsonld OR activitypub) AND (error OR unauthorized)

🔗 References

📤 Share & Export