CVE-2019-13020

10.0 CRITICAL

📋 TL;DR

This CVE describes a Server-Side Request Forgery (SSRF) vulnerability in Tightrope Media Carousel's fetch API. Attackers can exploit this to make the server send requests to internal systems or external malicious URLs, potentially bypassing firewalls or serving phishing content. All systems running vulnerable versions of Carousel are affected.

💻 Affected Systems

Products:
  • Tightrope Media Carousel
Versions: All versions before 7.1.3
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerable endpoint CarouselAPI/v0/fetch?url= is accessible by default without authentication.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete network compromise via internal service enumeration, data exfiltration, or lateral movement by proxying requests through the vulnerable server.

🟠

Likely Case

Internal network scanning, credential harvesting from internal services, or serving malicious content to users via phishing attacks.

🟢

If Mitigated

Limited impact if network segmentation restricts vulnerable server's access to sensitive internal resources.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Simple HTTP request manipulation required. No authentication needed to access the vulnerable endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.1.3

Vendor Advisory: https://www.carouselsignage.com/release-notes/carousel-7-1-3

Restart Required: Yes

Instructions:

1. Download Carousel 7.1.3 from vendor. 2. Backup current installation. 3. Install update following vendor instructions. 4. Restart Carousel services.

🔧 Temporary Workarounds

Network ACL Restriction

linux

Block external access to the vulnerable endpoint using firewall rules or web application firewall.

iptables -A INPUT -p tcp --dport 80 -m string --string "CarouselAPI/v0/fetch" --algo bm -j DROP

Reverse Proxy Filtering

all

Configure reverse proxy to block requests containing the vulnerable endpoint pattern.

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate Carousel server from sensitive internal resources.
  • Deploy web application firewall with SSRF protection rules and monitor for suspicious requests to the fetch endpoint.

🔍 How to Verify

Check if Vulnerable:

Test if CarouselAPI/v0/fetch?url= endpoint accepts arbitrary URLs by sending a request with an external URL parameter.

Check Version:

Check Carousel web interface admin panel or consult installation documentation for version information.

Verify Fix Applied:

After patching, test the same endpoint to confirm it rejects or properly validates URL parameters.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to CarouselAPI/v0/fetch with unusual URL parameters
  • Outbound connections from Carousel server to unexpected internal/external IPs

Network Indicators:

  • Unusual traffic patterns from Carousel server to internal services
  • Requests to Carousel fetch endpoint with encoded URLs

SIEM Query:

source="carousel.log" AND uri="*CarouselAPI/v0/fetch*" AND (url="*http://*" OR url="*https://*")

🔗 References

📤 Share & Export