CVE-2025-56427
Python vulnerability analysis and mitigation

Overview

CVE-2025-56427 is a directory traversal vulnerability in ComposioHQ (the composio Python package) that allows unauthenticated remote attackers to read arbitrary files on the server via the _download_file_or_dir function. The flaw affects versions up to and including 0.7.20, with no patched version formally listed in the GitHub Advisory Database as of the advisory date. It was published on December 4, 2025, and carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory, Feedly).

Technical details

The vulnerability is classified as CWE-22 (Path Traversal) and CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor). The root cause is the absence of input sanitization in the _download_file_or_dir function, specifically at api.py line 278, where a GET endpoint at /api/download accepts a file query parameter and passes it directly to Path(file) without restricting traversal sequences. An unauthenticated attacker can supply path traversal sequences (e.g., ../../../../../../) or absolute paths to escape the intended directory and read any file accessible to the application process. A public proof-of-concept is available demonstrating exploitation against v0.6.10 and the master branch (TOAST-Research PoC, GitHub Advisory).

Impact

Successful exploitation allows an unauthenticated remote attacker to read arbitrary files on the server with the permissions of the Composio application process, resulting in high confidentiality impact with no integrity or availability impact. Sensitive data at risk includes SSH private keys, API credentials, internal configuration files, and other secrets stored on the filesystem. While the vulnerability does not directly enable code execution or data modification, exfiltrated credentials could facilitate lateral movement or further compromise of connected systems (GitHub Advisory, TOAST-Research PoC).

Exploitability

A public proof-of-concept exploit is available on GitHub from TOAST-Research, demonstrating exploitation via a simple crafted HTTP GET request requiring no authentication, no user interaction, and no special privileges (TOAST-Research PoC). The EPSS score is approximately 0.99% (62nd percentile), indicating a moderate probability of exploitation in the wild within 30 days. There is currently no evidence of active in-the-wild exploitation, no known threat actor attribution, and the vulnerability is not listed in the CISA KEV catalog (GitHub Advisory).

Exploitation steps

  1. Reconnaissance: Identify hosts running the Composio server (default port 8000) using network scanning tools such as Shodan, Censys, or nmap, targeting the /api/download endpoint.
  2. Verify target: Send a benign GET request to http://<target>:8000/api/download?file=. to confirm the endpoint is accessible and the server is running a vulnerable version (≤ 0.7.20).
  3. Craft traversal payload: Construct a path traversal string to target a sensitive file, e.g., ../../../../../../home/<user>/.ssh/id_rsa or /etc/passwd.
  4. Send exploit request: Issue the HTTP GET request: GET http://<target>:8000/api/download?file=../../../../../../home/<user>/.ssh/id_rsa
  5. Retrieve sensitive data: The server returns the contents of the targeted file in the HTTP response, which the attacker can use for credential theft, further reconnaissance, or lateral movement (TOAST-Research PoC).

Indicators of compromise

  • Network: Unusual HTTP GET requests to /api/download with file parameters containing ../, ..%2F, %2e%2e%2f, or absolute paths (e.g., /etc/passwd, /.ssh/id_rsa); repeated requests from a single external IP to the Composio server port (default 8000).
  • Logs: Web server or application access logs showing requests such as GET /api/download?file=../../../../../../etc/passwd or similar traversal patterns; HTTP 200 responses to requests with traversal sequences in the file parameter.
  • File System: No direct file system artifacts are created by read-only exploitation; however, unexpected access timestamps on sensitive files (e.g., SSH keys, config files) may indicate unauthorized reads.
  • Process: No unusual child processes expected for this read-only vulnerability, but monitor for subsequent authentication attempts using credentials that may have been exfiltrated (TOAST-Research PoC).

Mitigation and workarounds

Users should upgrade the composio pip package to a version beyond 0.7.20 as soon as a patched release is available; the GitHub Advisory notes no formally patched version has been published yet, so monitoring the upstream repository for fixes is advised (GitHub Advisory). As interim mitigations: restrict network access to the Composio server so it is not exposed to untrusted networks; implement a reverse proxy or WAF rule to block requests to /api/download containing traversal sequences (../, %2e%2e, absolute paths); and apply least-privilege principles to the account running the Composio process to limit the files accessible if exploited. Strict input validation and path canonicalization should be applied to the file parameter in api.py at line 278 (TOAST-Research PoC).

Community reactions

The vulnerability was reported by TOAST-Research, who published a detailed proof-of-concept on GitHub shortly after disclosure in December 2025. Red Hat also tracked the CVE in their security advisory database. No significant vendor statements, major media coverage, or notable community debate have been identified beyond the initial advisory and PoC publication (GitHub Advisory, Red Hat CVE).

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-70646HIGH7.5
  • Python logoPython
  • aiosend
NoYesAug 06, 2026
CVE-2026-71554MEDIUM5.3
  • Python logoPython
  • python-h2
NoYesAug 06, 2026
CVE-2026-71433MEDIUM5.3
  • Python logoPython
  • langgraph-checkpoint-postgres
NoYesAug 06, 2026
CVE-2026-61632MEDIUM5.3
  • Python logoPython
  • pymdown-extensions
NoYesAug 06, 2026
CVE-2026-64640MEDIUM5.3
  • Python logoPython
  • polaris
NoYesAug 06, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management