CVE DatabaseCVE-2019-9082
한국어 권고문 →
CVE-2019-90828.8/HIGHCISA KEVCWE-94CWE-306CWE-306

ThinkPHP < 3.2.4 & Open Source BMS Remote Code Execution (RCE) Vulnerability (CVE-2019-9082) Analysis and Mitigation Guide

⚡ Jump to Patch
Affected Vendors
topthink, open_source_bms_project
Affected Components
thinkphp, open_source_bms
Published Date
2019-02-24
CVSS v3.1
8.8
HIGH
EPSS (30d)
97.4%
FIRST.org
CISA KEV
Exploited

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

ThinkPHP framework versions prior to 3.2.4, and applications built on it such as Open Source BMS v1.1.1.

Impact

Unauthenticated remote attackers can execute arbitrary system commands and gain full control of the web server by sending crafted HTTP GET requests.

Mitigation

Upgrade the ThinkPHP framework to version 3.2.4 or higher, or implement immediate URL routing filtering and WAF blocking rules.

Affected Products & Version Scope

ThinkPHP framework versions prior to 3.2.4 and Open Source BMS v1.1.1

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

The recommended remediation is to upgrade the ThinkPHP framework to version 3.2.4 or later. If you manage dependencies via Composer, execute the following command:

bash
# Update the ThinkPHP framework dependency
composer update topthink/framework

2. Temporary Workaround & Hardening Configuration

If an immediate upgrade is not feasible, configure your web server (e.g., Nginx) to block incoming requests containing the malicious routing parameters.

nginx
# Add to your Nginx server configuration block
server {
    listen 80;
    server_name localhost;

    # Block ThinkPHP RCE exploit patterns
    if ($query_string ~* 'invokefunction|call_user_func_array') {
        return 403;
    }
}

3. Log Audit & IoC Verification Commands

Search your web server access logs for indicators of compromise (IoCs) associated with this vulnerability.

bash
# Scan access logs for exploitation attempts
grep -Ei 'invokefunction|call_user_func_array' /var/log/nginx/access.log /var/log/httpd/access_log 2>/dev/null
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Cloudflare Enterprise & Pro WAF
Immediately upgrade ThinkPHP to v3.2.4 or higher, and deploy WAF rules to block requests containing 'invokefunction'.

Block Exploits Instantly with Managed Virtual Patching Rules

Can't patch production immediately? Deploy managed WAF rules at the edge to intercept RCE, SQLi, and deserialization payloads before they hit your origin server.

3-min setup · Automated Zero-Day Managed Rules
Practice Exploiting & Patching This Web Vulnerability in an Interactive Lab
Launch Hands-On Security Lab

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability (CVE-2019-9082) is a critical Remote Code Execution (RCE) flaw in legacy versions of the ThinkPHP framework (prior to 3.2.4). ThinkPHP's routing mechanism dynamically dispatches controllers and methods based on query string parameters. Due to a lack of proper input validation and access control (CWE-306, CWE-94), attackers can directly invoke arbitrary class methods, including internal framework classes, via the URL.

2. Exploitation Mechanics & Attack Scenario

An attacker exploits the compatibility routing parameter (?s=) to directly call the hink\app class and its invokefunction method. By passing call_user_func_array as the target function and system execution commands (such as system or shell_exec) as arguments, the attacker forces the server to execute arbitrary OS commands under the privileges of the web server process. This bypasses traditional authentication and often leads to WebShell deployment.

3. Infrastructure & Business Impact

With its inclusion in the CISA KEV catalog and an EPSS score exceeding 0.97, this vulnerability is actively exploited in the wild. Successful exploitation allows attackers to compromise the underlying host, exfiltrate sensitive database credentials, leak proprietary source code, or use the compromised server as a pivot point for lateral movement within the internal network.

Official Vendor Advisories & References

Frequently Asked SecOps Questions (CVE-2019-9082)

FAQ

Q1. How critical is CVE-2019-9082 and is it actively exploited in the wild?

CVE-2019-9082 is rated CVSS 8.8 (HIGH) with a 30-day EPSS exploitation probability of 97.4%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.

Q2. Which vendors and products are affected by CVE-2019-9082?

Primary impacted vendors include topthink, open_source_bms_project across thinkphp, open_source_bms. Scope summary: ThinkPHP framework versions prior to 3.2.4 and Open Source BMS v1.1.1

Q3. What temporary mitigations or workarounds exist for CVE-2019-9082 before patching?

[Mitigation] Upgrade the ThinkPHP framework to version 3.2.4 or higher, or implement immediate URL routing filtering and WAF blocking rules. Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2019-9082

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (topthink)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2019-9082 ThinkPHP < 3.2.4 & Open Source BMS Remote Code Execution (RCE) Vulnerability (CVE-2019-9082) Analysis and Mitigation Guide (CVSS 8.8) - Patch & Workaround | CVE Pulse