CVE-2023-24114

9.8 CRITICAL

📋 TL;DR

Typecho 1.1/17.10.30 contains a remote code execution vulnerability in install.php that allows attackers to execute arbitrary code on vulnerable servers. This affects all Typecho installations using these versions, particularly those with the install.php file accessible. Attackers can compromise the entire web server if successful.

💻 Affected Systems

Products:
  • Typecho
Versions: 1.1/17.10.30
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in the default installation. The install.php file should be removed after installation but often remains accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise leading to data theft, malware deployment, lateral movement to other systems, and persistent backdoor installation.

🟠

Likely Case

Webshell installation, data exfiltration, defacement, and use of server for cryptocurrency mining or DDoS attacks.

🟢

If Mitigated

Limited impact due to proper access controls, network segmentation, and monitoring that detects exploitation attempts.

🌐 Internet-Facing: HIGH - Directly exploitable via HTTP requests to install.php without authentication.
🏢 Internal Only: MEDIUM - Still exploitable by internal attackers or compromised internal systems.

🎯 Exploit Status

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

Simple HTTP request exploitation with publicly available proof-of-concept code. No authentication required.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Update to latest Typecho version (beyond 1.1/17.10.30)

Vendor Advisory: https://github.com/typecho/typecho/issues/1523

Restart Required: No

Instructions:

1. Backup your Typecho installation and database. 2. Download the latest Typecho version from the official repository. 3. Replace all files except config.inc.php and uploads directory. 4. Verify the installation works correctly.

🔧 Temporary Workarounds

Remove install.php

linux

Delete or rename the vulnerable install.php file to prevent exploitation

rm /path/to/typecho/install.php
mv /path/to/typecho/install.php /path/to/typecho/install.php.bak

Restrict access via web server

all

Configure web server to block access to install.php

# Apache: Add to .htaccess
<Files "install.php">
    Order Allow,Deny
    Deny from all
</Files>
# Nginx: Add to server block
location ~ /install\.php$ {
    deny all;
    return 403;
}

🧯 If You Can't Patch

  • Implement strict network access controls to limit who can reach the Typecho installation
  • Deploy a web application firewall (WAF) with rules to block requests to install.php and detect RCE attempts

🔍 How to Verify

Check if Vulnerable:

Check if install.php exists in Typecho directory and is accessible via browser or curl: curl -I http://yoursite/install.php

Check Version:

Check admin panel or view /var/Typecho/Common.php version constant

Verify Fix Applied:

Verify install.php returns 403/404 or is not present. Test with: curl http://yoursite/install.php

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to install.php with suspicious parameters
  • POST requests to install.php with PHP code patterns
  • Unusual file creation in web directories

Network Indicators:

  • HTTP traffic to install.php endpoint
  • Unusual outbound connections from web server
  • Patterns matching known exploit payloads

SIEM Query:

source="web_access.log" AND (uri="/install.php" OR uri LIKE "%/install.php%") AND (method="POST" OR params CONTAINS "php" OR params CONTAINS "system(")

🔗 References

📤 Share & Export