CVE-2025-55135

6.4 MEDIUM

📋 TL;DR

This vulnerability allows cross-site scripting (XSS) attacks via malicious SVG profile picture uploads in Agora Foundation's Agora software. Attackers can upload SVG files containing JavaScript that executes when viewed by other users. This affects all users of Agora fall23-Alpha1 versions before commit 690ce56.

💻 Affected Systems

Products:
  • Agora Foundation Agora
Versions: fall23-Alpha1 versions before commit 690ce56
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerable in default configuration when profile picture uploads are enabled.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers steal session cookies, hijack user accounts, perform actions as authenticated users, or distribute malware to other users.

🟠

Likely Case

Attackers execute arbitrary JavaScript in victims' browsers, potentially stealing session tokens or performing limited account actions.

🟢

If Mitigated

With proper content security policies and input validation, impact is limited to minor data leakage or UI manipulation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Requires ability to upload profile picture (typically authenticated). SVG files with embedded JavaScript can bypass current validation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Commit 690ce56 or later

Vendor Advisory: https://github.com/agorafoundation/agora/pull/556

Restart Required: No

Instructions:

1. Update to commit 690ce56 or later. 2. Apply the fix from PR #556. 3. Verify file upload validation restricts to PNG, JPEG, WEBP only.

🔧 Temporary Workarounds

Restrict SVG uploads

all

Modify server/routes/userRoutes.js to explicitly reject SVG files and other non-image formats

Edit server/routes/userRoutes.js to add SVG to blocked file types

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block SVG uploads
  • Disable profile picture uploads entirely in configuration

🔍 How to Verify

Check if Vulnerable:

Check if server/routes/userRoutes.js allows SVG uploads and server/controller/userController.js doesn't properly sanitize them

Check Version:

git log --oneline -1

Verify Fix Applied:

Verify commit 690ce56 is applied and SVG uploads are rejected

📡 Detection & Monitoring

Log Indicators:

  • SVG file uploads to profile picture endpoint
  • Unusual file type uploads

Network Indicators:

  • POST requests with SVG content to user upload endpoints

SIEM Query:

source="web_server" AND (file_extension="svg" OR content_type="image/svg+xml") AND uri_path="/api/user/upload"

🔗 References

📤 Share & Export