CVE-2025-7103

6.3 MEDIUM

📋 TL;DR

This critical Server-Side Request Forgery (SSRF) vulnerability in BoyunCMS allows attackers to make unauthorized requests from the vulnerable server to internal or external systems. It affects BoyunCMS versions up to 1.4.20 and can be exploited remotely without authentication. Organizations running vulnerable BoyunCMS installations are at risk of data exfiltration, internal network reconnaissance, and potential chained attacks.

💻 Affected Systems

Products:
  • BoyunCMS
Versions: Up to and including 1.4.20
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the curl component in /application/pay/controller/Index.php. Any BoyunCMS installation with this file accessible is vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could pivot through the vulnerable server to access internal systems, exfiltrate sensitive data, or perform attacks against backend services that would normally be inaccessible from the internet.

🟠

Likely Case

Attackers will use the vulnerability to scan internal networks, access metadata services, or interact with internal APIs to gather information for further attacks.

🟢

If Mitigated

With proper network segmentation and egress filtering, the impact is limited to the vulnerable server itself, though some information disclosure may still occur.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit details have been publicly disclosed, making this easy to weaponize. The vulnerability requires no authentication and has simple exploitation requirements.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available

Restart Required: No

Instructions:

No official patch available. Consider upgrading to a version above 1.4.20 if available, or apply workarounds.

🔧 Temporary Workarounds

Restrict access to vulnerable endpoint

all

Block access to /application/pay/controller/Index.php via web server configuration or firewall rules

# Apache: RewriteRule ^/application/pay/controller/Index\.php - [F]
# Nginx: location ~ /application/pay/controller/Index\.php { deny all; }

Implement input validation

all

Add validation to reject URLs with internal IP addresses or restricted domains

# Example PHP validation: if(preg_match('/^(127\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.|192\.168\.)/', $url)) { die('Invalid URL'); }

🧯 If You Can't Patch

  • Implement network segmentation to isolate the vulnerable server from sensitive internal systems
  • Deploy a Web Application Firewall (WAF) with SSRF protection rules

🔍 How to Verify

Check if Vulnerable:

Check if BoyunCMS version is ≤1.4.20 and if /application/pay/controller/Index.php exists and is accessible

Check Version:

Check BoyunCMS configuration files or admin panel for version information

Verify Fix Applied:

Test if the vulnerable endpoint no longer accepts malicious URLs or is inaccessible

📡 Detection & Monitoring

Log Indicators:

  • Unusual outbound requests from web server to internal IPs
  • Requests to /application/pay/controller/Index.php with URL parameters
  • HTTP requests to metadata services (169.254.169.254)

Network Indicators:

  • Web server making unexpected outbound connections
  • Traffic from web server to internal-only services

SIEM Query:

source="web_server" AND (dest_ip IN (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8) OR uri_path="/application/pay/controller/Index.php")

🔗 References

📤 Share & Export