CVE-2024-8955

7.5 HIGH

📋 TL;DR

A Server-Side Request Forgery (SSRF) vulnerability in composiohq/composio v0.4.4 allows attackers to read arbitrary files on the system by exploiting BROWSERTOOL_GOTO_PAGE and BROWSERTOOL_GET_PAGE_DETAILS actions. This affects all deployments using the vulnerable version of the composio framework. Attackers can potentially access sensitive configuration files, credentials, or other system data.

💻 Affected Systems

Products:
  • composiohq/composio
Versions: v0.4.4
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Any deployment using the vulnerable BROWSERTOOL actions is affected. The vulnerability is in the framework itself, not dependent on specific OS configurations.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise through reading sensitive files like /etc/passwd, SSH keys, or configuration files containing credentials, potentially leading to lateral movement or data exfiltration.

🟠

Likely Case

Unauthorized reading of sensitive files containing API keys, database credentials, or configuration data, leading to data breaches or further exploitation.

🟢

If Mitigated

Limited file access restricted by proper input validation and file system permissions, preventing access to critical system files.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires understanding of the vulnerable actions and ability to trigger them. The vulnerability details are publicly disclosed but no proof-of-concept code is available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v0.4.5 or later

Vendor Advisory: https://huntr.com/bounties/13bc0399-2d9b-449e-95f2-6e9a7e39383d

Restart Required: No

Instructions:

1. Update composio to version v0.4.5 or later using package manager. 2. Verify the update was successful. 3. Test BROWSERTOOL actions to ensure they no longer accept file:// URLs.

🔧 Temporary Workarounds

Disable BROWSERTOOL actions

all

Temporarily disable or restrict access to BROWSERTOOL_GOTO_PAGE and BROWSERTOOL_GET_PAGE_DETAILS actions until patching is complete.

Input validation filter

all

Implement input validation to reject file:// URLs and localhost requests in the affected actions.

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate composio instances from sensitive systems
  • Deploy web application firewall (WAF) rules to block file:// protocol requests and localhost access attempts

🔍 How to Verify

Check if Vulnerable:

Check if composio version is v0.4.4. Test if BROWSERTOOL actions accept file:// URLs by attempting to access file:///etc/passwd (in a controlled environment).

Check Version:

pip show composio | grep Version

Verify Fix Applied:

After updating, test that file:// URLs are rejected by the BROWSERTOOL actions and only valid HTTP/HTTPS URLs are accepted.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file:// URL patterns in request logs
  • Multiple failed attempts to access local files via BROWSERTOOL actions
  • Requests to sensitive file paths from unexpected sources

Network Indicators:

  • Outbound requests to file:// URLs from composio instances
  • Unusual patterns of requests to BROWSERTOOL endpoints

SIEM Query:

source="composio_logs" AND (url="file://*" OR action="BROWSERTOOL_*")

🔗 References

📤 Share & Export