CVE-2020-27197
📋 TL;DR
This CVE describes a Server-Side Request Forgery (SSRF) vulnerability in libtaxii and OpenTAXII that allows attackers to make arbitrary HTTP requests from the vulnerable server. The vulnerability bypasses network restrictions by using an initial 'http://' substring, potentially exposing internal services. Affected users include those running vulnerable versions of libtaxii, OpenTAXII, or other products using these libraries.
💻 Affected Systems
- libtaxii
- OpenTAXII
- Other products using libtaxii
📦 What is this software?
Libtaxii by Libtaxii Project
Opentaxii by Eclecticiq
⚠️ Risk & Real-World Impact
Worst Case
Attackers could access internal services, exfiltrate sensitive data, or pivot to other systems within the network, potentially leading to full network compromise.
Likely Case
Attackers scan internal networks, access metadata services, or interact with internal APIs to gather information about the infrastructure.
If Mitigated
With proper network segmentation and egress filtering, impact is limited to information disclosure about accessible internal services.
🎯 Exploit Status
Exploit details published on Packet Storm Security. Simple SSRF technique using http:// substring bypass.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Check upstream repositories for fixes
Vendor Advisory: https://github.com/TAXIIProject/libtaxii/issues/246
Restart Required: Yes
Instructions:
1. Update libtaxii to patched version. 2. Update OpenTAXII or other dependent software. 3. Restart affected services. 4. Verify fix implementation.
🔧 Temporary Workarounds
Network Restriction
allImplement strict egress filtering and network segmentation to limit outbound connections from vulnerable servers
Input Validation
allAdd input validation to reject URLs containing http:// substrings before processing
🧯 If You Can't Patch
- Isolate vulnerable systems in restricted network segments with no internet or internal service access
- Implement web application firewall rules to block SSRF patterns and monitor for exploitation attempts
🔍 How to Verify
Check if Vulnerable:
Check installed libtaxii version: pip show libtaxii or check package version in Python environment
Check Version:
python -c "import libtaxii; print(libtaxii.__version__)"
Verify Fix Applied:
Test with SSRF payloads containing http:// substrings to confirm they are blocked
📡 Detection & Monitoring
Log Indicators:
- Unusual outbound HTTP requests from TAXII servers
- Requests to internal IP addresses or metadata services
Network Indicators:
- HTTP traffic from TAXII servers to unexpected destinations
- Patterns matching SSRF exploitation
SIEM Query:
source="taxii-server" AND (dest_ip=169.254.169.254 OR dest_ip=10.* OR dest_ip=192.168.* OR dest_ip=172.16.*)
🔗 References
- http://packetstormsecurity.com/files/159662/Libtaxii-1.1.117-OpenTaxi-0.2.0-Server-Side-Request-Forgery.html
- https://github.com/TAXIIProject/libtaxii/issues/246
- https://github.com/eclecticiq/OpenTAXII/issues/176
- http://packetstormsecurity.com/files/159662/Libtaxii-1.1.117-OpenTaxi-0.2.0-Server-Side-Request-Forgery.html
- https://github.com/TAXIIProject/libtaxii/issues/246
- https://github.com/eclecticiq/OpenTAXII/issues/176