LiveBreach Intelligence: data breaches, leaks & ransomware, tracked as they surfaceOngoing protection: GalaxyWarden →
Recent BreachesData breach tracker

CVE-2019-9082: ThinkPHP Remote Code Execution Vulnerability

RBRecent Breaches Vulnerability Intelligence·Nov 3, 2021
High⚠ Actively exploited (CISA KEV)
High
Severity
Active
CISA KEV
No
Ransomware use
May 3, 2022
Patch deadline
⚠ Exploited in the wild. CISA added CVE-2019-9082 to its Known Exploited Vulnerabilities catalog on Nov 3, 2021, with a federal patch deadline of May 3, 2022 — meaning attackers are actively using it. If you run the affected software, patch it immediately.

ThinkPHP contains an unspecified vulnerability that allows for remote code execution via public//?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]= followed by…

CVE-2019-9082 is a remote code execution vulnerability in the ThinkPHP framework. An unauthenticated attacker can trigger it through a crafted request that reaches an invokefunction-style endpoint and causes the application to run operating-system commands. Because ThinkPHP is widely used to build web applications, successful exploitation can give an attacker full control of the underlying host, allowing data theft, further lateral movement, or deployment of additional malware. Public detail on exact affected releases is limited; teams must confirm version status against the vendor advisory.

How it works

The vulnerability combines two weakness classes: CWE-306 (missing authentication for a critical function) and CWE-94 (improper control of code generation / code injection). ThinkPHP exposes a routing or dispatcher path that accepts a function name and arguments from the request. When that path is reachable without authentication, an attacker can supply a dangerous callable such as the PHP system function together with an arbitrary command string. The framework then executes the supplied function with the attacker-controlled arguments, resulting in remote code execution under the privileges of the web-server process.

CISA describes the attack pattern as a request to a public endpoint resembling public//?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]= followed by the desired command. No further exploit mechanics are required for defenders to understand the risk: any internet-facing or internally reachable ThinkPHP instance that still permits this invocation style is vulnerable until patched or otherwise mitigated.

Am I affected? How to find it in your systems

ThinkPHP is a PHP web framework commonly deployed on Linux and Windows web servers, often behind Apache, Nginx, or IIS, and frequently found in custom business applications, admin portals, and API backends. Inventory steps:

Telemetry signs of exploitation include unusual requests containing invokefunction, call_user_func_array, or system in the query string or POST body, followed by command output in responses or by subsequent anomalous process creation (e.g., shell, curl, or powershell spawned by the web-server user). Web-access logs, WAF logs, and endpoint detection alerts for unexpected child processes of php-fpm or httpd are the primary places to look. Confirm any suspected hits against the exact patterns in the vendor and CISA advisories.

How to remediate

The primary action is to apply the updates published by the ThinkPHP maintainers, exactly as directed in the vendor advisory. CISA’s required action is simply “Apply updates per vendor instructions.” After patching:

If the application was built on an older ThinkPHP major version that is no longer supported, plan a framework upgrade or migration; continuing to run an unmaintained release leaves the same class of risk open.

If you can't patch immediately

Until the vendor update can be installed, reduce exposure with compensating controls:

These measures do not replace the patch; they only buy time while the update is tested and deployed.

If your data may have been exposed

Actively exploited remote-code-execution vulnerabilities frequently lead to full compromise of the host and theft of application data, credentials, or session tokens. If logs or other indicators suggest the vulnerability was abused, treat the incident as a potential breach: isolate the system, preserve forensic evidence, rotate secrets that resided on the host, and follow your incident-response plan. You can also run a free exposure scan of your email address to check whether credentials or personal data associated with that address already appear in known breach data sets.

AICompiled with AI assistance from public sources and published under our editorial standards.

Details

AffectedThinkPHP · ThinkPHP
WeaknessCWE-306
Added to CISA KEVNov 3, 2021
Federal patch deadlineMay 3, 2022
Known ransomware useNot documented
Check if your data is exposed →

Official records: NVD · CISA KEV

← All actively-exploited vulnerabilities