CVE-2020-19613

7.5 HIGH

📋 TL;DR

This Server-Side Request Forgery (SSRF) vulnerability in FlyCMS allows attackers to make the server send HTTP requests to arbitrary internal or external systems. Attackers can exploit this to access internal services, perform port scanning, or interact with cloud metadata APIs. Anyone running FlyCMS version 20190503 is affected.

💻 Affected Systems

Products:
  • sunkaifei FlyCMS
Versions: 20190503
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the saveUrlAs function in ImagesService.java, affecting image upload functionality.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of internal network services, cloud metadata theft leading to credential harvesting, or data exfiltration through internal service interactions.

🟠

Likely Case

Internal network reconnaissance, access to internal APIs or services, and potential data leakage from internal systems.

🟢

If Mitigated

Limited to external resource consumption or failed requests if proper network segmentation and input validation are implemented.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires access to the image upload functionality, which typically requires authentication. The vulnerability is well-documented in public GitHub issues.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown specific version, but fixes are available in later commits

Vendor Advisory: https://github.com/sunkaifei/FlyCms/issues/1

Restart Required: Yes

Instructions:

1. Update to the latest version of FlyCMS from the official repository. 2. Apply input validation to restrict URL schemes and domains in the saveUrlAs function. 3. Restart the application server.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement URL validation to restrict allowed schemes and domains

Modify ImagesService.java to validate URLs before processing

Network Segmentation

all

Restrict outbound network access from the application server

Configure firewall rules to limit outbound HTTP/HTTPS traffic

🧯 If You Can't Patch

  • Disable the vulnerable image upload functionality entirely
  • Implement a web application firewall (WAF) with SSRF protection rules

🔍 How to Verify

Check if Vulnerable:

Check if running FlyCMS version 20190503 and inspect the ImagesService.java file for the saveUrlAs function without proper URL validation

Check Version:

Check FlyCMS version in application configuration or admin panel

Verify Fix Applied:

Test the image upload functionality with SSRF payloads to ensure they are blocked

📡 Detection & Monitoring

Log Indicators:

  • Unusual outbound HTTP requests from the application server
  • Requests to internal IP addresses or cloud metadata endpoints

Network Indicators:

  • HTTP traffic from application server to unexpected internal services
  • Port scanning patterns from the application server

SIEM Query:

source_ip=application_server AND (dest_ip=169.254.169.254 OR dest_ip=10.* OR dest_ip=192.168.* OR dest_ip=172.16.*)

🔗 References

📤 Share & Export