CVE-2023-48965

8.8 HIGH

📋 TL;DR

This vulnerability in ThinkAdmin v6.1.53 allows attackers to upload and execute arbitrary PHP files via a crafted URL to the /admin/api.plugs/script endpoint, leading to remote code execution. It affects all systems running the vulnerable version of ThinkAdmin. Attackers can gain complete control of affected servers.

💻 Affected Systems

Products:
  • ThinkAdmin
Versions: v6.1.53 (specific version mentioned in CVE)
Operating Systems: All platforms running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the /admin/api.plugs/script endpoint to be accessible, which appears to be part of default installation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full server compromise allowing attackers to execute arbitrary code, steal data, install malware, pivot to other systems, and maintain persistent access.

🟠

Likely Case

Remote code execution leading to web shell installation, data exfiltration, and potential lateral movement within the network.

🟢

If Mitigated

Limited impact if proper network segmentation, web application firewalls, and file upload restrictions are in place.

🌐 Internet-Facing: HIGH - Directly exploitable via HTTP requests without authentication, making internet-facing instances immediate targets.
🏢 Internal Only: HIGH - Even internal instances are vulnerable to internal attackers or compromised systems within the network.

🎯 Exploit Status

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

Public proof-of-concept exists in GitHub repositories. Exploitation appears straightforward via crafted HTTP requests.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Not found in provided references

Restart Required: No

Instructions:

1. Check for official vendor patch or updated version. 2. If available, upgrade to patched version. 3. Verify the /admin/api.plugs/script endpoint no longer accepts malicious file uploads.

🔧 Temporary Workarounds

Block vulnerable endpoint

all

Restrict access to the /admin/api.plugs/script endpoint using web server configuration or WAF rules.

# Apache: <Location /admin/api.plugs/script>\n    Order deny,allow\n    Deny from all\n</Location>
# Nginx: location /admin/api.plugs/script { return 403; }

File upload restrictions

all

Implement strict file upload validation to block PHP file uploads through any endpoint.

# In PHP configuration or application code: validate file extensions, MIME types, and scan uploaded files

🧯 If You Can't Patch

  • Implement network segmentation to isolate ThinkAdmin instances from critical systems
  • Deploy web application firewall with rules to block exploitation attempts

🔍 How to Verify

Check if Vulnerable:

Check if ThinkAdmin version is v6.1.53 and if /admin/api.plugs/script endpoint is accessible and accepts file uploads.

Check Version:

Check ThinkAdmin configuration files or admin interface for version information

Verify Fix Applied:

Test if the /admin/api.plugs/script endpoint no longer accepts malicious PHP file uploads after applying workarounds or patches.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /admin/api.plugs/script with file upload parameters
  • Unusual file creation in web directories, especially .php files
  • Suspicious POST requests with file content

Network Indicators:

  • HTTP POST requests to /admin/api.plugs/script endpoint
  • Unusual outbound connections from web server following file upload

SIEM Query:

source="web_logs" AND (uri="/admin/api.plugs/script" OR file_extension=".php") AND action="upload"

🔗 References

📤 Share & Export