CVE-2024-9447

6.5 MEDIUM

📋 TL;DR

An information disclosure vulnerability in transformeroptimus/superagi allows authenticated users to access sensitive configuration details of any organization through the /get/organisation/ endpoint. This exposes API keys and other confidential data, potentially leading to unauthorized service access and data breaches. All organizations using the vulnerable version are affected.

💻 Affected Systems

Products:
  • transformeroptimus/superagi
Versions: Latest version prior to fix (specific version not specified in CVE)
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all deployments where the /get/organisation/ endpoint is accessible and authentication is enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain API keys and access external services, leading to data exfiltration, financial fraud, and complete compromise of integrated systems.

🟠

Likely Case

Malicious insiders or compromised accounts harvest API keys, enabling unauthorized access to third-party services and potential data leaks.

🟢

If Mitigated

With proper access controls and monitoring, impact is limited to internal data exposure without external service compromise.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires authenticated access but is trivial via API calls to the vulnerable endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check latest release or commit fixing CVE-2024-9447

Vendor Advisory: https://huntr.com/bounties/c952ea32-3047-42d3-8a3e-e67899e35dfd

Restart Required: Yes

Instructions:

1. Update to the latest patched version of superagi. 2. Restart the application. 3. Verify the fix by testing endpoint access controls.

🔧 Temporary Workarounds

Endpoint Restriction

all

Block or restrict access to the /get/organisation/ endpoint at the network or application level.

# Example using nginx: location /get/organisation/ { deny all; }
# Example using firewall: iptables -A INPUT -p tcp --dport <app_port> -m string --string "/get/organisation/" --algo bm -j DROP

Enhanced Authentication

all

Implement additional authentication checks before processing organization requests.

# Modify application code to verify user organization membership before returning data

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate the superagi instance from external services.
  • Rotate all exposed API keys and monitor for unauthorized usage.

🔍 How to Verify

Check if Vulnerable:

As an authenticated user, attempt to access /get/organisation/ endpoint with another organization's ID. If successful, the system is vulnerable.

Check Version:

Check the superagi version in application configuration or via package manager (e.g., pip show superagi).

Verify Fix Applied:

Repeat the vulnerable check; access should be denied or return only authorized organization data.

📡 Detection & Monitoring

Log Indicators:

  • Unusual access patterns to /get/organisation/ endpoint
  • Requests with mismatched user and organization IDs

Network Indicators:

  • HTTP GET requests to /get/organisation/ with different organization parameters

SIEM Query:

source="superagi" AND url="/get/organisation/" AND user_org_mismatch=true

🔗 References

📤 Share & Export