Listen to this Post
How CVE-2025-5150 Works
This critical vulnerability (CVSS 5.3) in DocArray ≤0.40.1 stems from improper input validation in the `__getitem__` method within torch_dataset.py
. Attackers exploit prototype pollution via crafted API requests, injecting malicious attributes into object prototypes. Remote exploitation is possible through the Web API component, allowing unauthorized modification of JavaScript object prototypes. The flaw enables privilege escalation, data manipulation, or DoS by polluting base objects. No vendor response was received despite early disclosure.
DailyCVE Form
Platform: DocArray
Version: ≤0.40.1
Vulnerability: Prototype Pollution
Severity: Critical
Date: 06/03/2025
Prediction: Patch by Q3 2025
What Undercode Say:
Exploitation:
import requests payload = {"<strong>proto</strong>": {"isAdmin": True}} requests.post("http://target/docarray/api", json=payload)
Detection:
grep -r "<strong>getitem</strong>" /path/to/docarray/ | grep "torch_dataset"
Mitigation:
1. Immediate Workaround:
location /docarray/ { deny all; }
2. Validation Patch:
function sanitizeInput(obj) { if (obj.hasOwnProperty('<strong>proto</strong>')) { delete obj.<strong>proto</strong>; } }
Analytics:
- Exploitability: High (Remote/Low Complexity)
- Affected Systems: All DocArray-based ML pipelines
- Attack Surface: Web API endpoints
Post-Exploit Commands:
Check pollution success print({}.isAdmin) Returns True if exploited
Permanent Fix:
Upgrade to DocArray ≥0.40.2 (post-patch). Monitor:
pip list | grep docarray
Network Protection:
iptables -A INPUT -p tcp --dport 80 -m string --string "proto" --algo bm -j DROP
Log Analysis:
cat /var/log/nginx/access.log | grep -E "POST.docarray"
Sources:
Reported By: nvd.nist.gov
Extra Source Hub:
Undercode