Security Resilience

CVE-2019-9082

RCE in Thinkphp ≤ 3.2.4

CISA KEVActive ExploitationEUVD ExploitedPublic PoCRCEAccess Control
Published
24 February 2019
Modified
09 December 2025
KEV Added
03 November 2021
CVSS Score v3.1 8.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
EPSS Score 0.97 99.9th percentile
Risk Priority 90 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2019-9082 is a high-severity Code Injection (CWE-94) vulnerability in Thinkphp Thinkphp. Its CVSS base score is 8.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Junk Data (T1001.001); ranked in the top 0.1% of CVEs by exploit likelihood; CISA has added it to the Known Exploited Vulnerabilities catalog; a public proof-of-concept is referenced.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

ThinkPHP versions before 3.2.4, as incorporated in Open Source BMS v1.1.1 and other products, are affected by a remote command execution flaw tracked as CVE-2019-9082. The vulnerability arises from unsafe exposure of framework internals that permit invocation of call_user_func_array with attacker-supplied arguments, classified under CWE-94 and CWE-306, and carries a CVSS 3.1 score of 8.8.

Remote attackers without authentication or user interaction can exploit the issue by submitting an HTTP request to the public// endpoint containing the parameters s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=, followed by an arbitrary operating-system command. Successful exploitation results in immediate execution of the supplied command with the privileges of the web server process, enabling full compromise of confidentiality, integrity, and availability on the target host.

Public exploit code and proof-of-concept reports have been posted to Exploit-DB, Packet Storm Security, and the Open Source BMS GitHub issue tracker.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

ThinkPHP before 3.2.4, as used in Open Source BMS v1.1.1 and other products, allows Remote Command Execution via public//?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]= followed by the command.

CWE(s)
KEV Date Added
03 November 2021

Related Threats

MITRE ATT&CK Enterprise Techniques

T1001.001 Junk Data Command And Control
Adversaries may add junk data to protocols used for command and control to make detection more difficult.
T1001.003 Protocol or Service Impersonation Command And Control
Adversaries may impersonate legitimate protocols or web service traffic to disguise command and control activity and thwart analysis efforts.
T1003.006 DCSync Credential Access
Adversaries may attempt to access credentials and other sensitive information by abusing a Windows Domain Controller's application programming interface (API)(Citation: Microsoft DRSR Dec 2017) (Citation: Microsoft GetNCCChanges) (Citati…
T1003.007 Proc Filesystem Credential Access
Adversaries may gather credentials from the proc filesystem or `/proc`.
T1003.008 /etc/passwd and /etc/shadow Credential Access
Adversaries may attempt to dump the contents of <code>/etc/passwd</code> and <code>/etc/shadow</code> to enable offline password cracking.
T1007 System Service Discovery Discovery
Adversaries may try to gather information about registered local system services.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2021-39144Shared CWE-306, CWE-94both on KEV
CVE-2025-3248Shared CWE-306, CWE-94both on KEV
CVE-2019-0193Shared CWE-94both on KEV
CVE-2023-6548Shared CWE-94both on KEV
CVE-2023-25717Shared CWE-94both on KEV
CVE-2019-16759Shared CWE-94both on KEV
CVE-2015-1635Shared CWE-94both on KEV
CVE-2024-56145Shared CWE-94both on KEV
CVE-2009-0557Shared CWE-94both on KEV
CVE-2012-0391Shared CWE-94both on KEV

Affected Assets

thinkphp
thinkphp
≤ 3.2.4
opensourcebms
open source background management system
1.1.1
zzzcms
zzzphp
1.6.1

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)
  • 6 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V6.2.3
  • V6.4.4
  • V10.4.16
  • V12.1.3

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-306

Requires established identification and authentication to unlock, mitigating missing authentication for continued system access.

addresses: CWE-306

Requiring identification and rationale for actions allowed without authentication ensures critical functions are not left unprotected by forcing review of authentication requirements.

addresses: CWE-306

Authorizing mobile device connections to organizational systems ensures authentication is performed for this critical access function.

addresses: CWE-306

Guarantees critical functions are protected by mandatory invocation of the access control mechanism.

addresses: CWE-306

Auditing sessions makes it possible to detect access to critical functions without required authentication.

addresses: CWE-306

The assessment process confirms authentication is present and effective for critical functions, preventing exploitation from missing authentication.

addresses: CWE-306

Certification assesses that critical functions have required authentication controls in place.

addresses: CWE-306

Disabling non-essential functions and services eliminates the need to secure them, reducing exposure from missing authentication on unnecessary components.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
blocks

PR.PS-06's SDLC practices directly target injection flaws via secure coding and testing (mostly), yet as a single broad outcome it leaves many code-generation specifics unaddressed (partial).

PR.AA-01 partial match
blocks

Managing identities and credentials is a prerequisite for authentication but does not itself enforce it on critical functions.

PR.AA-03 partial match
blocks

Directly requires authentication of users/services/hardware, which eliminates missing authentication for critical functions.

PR.AA-05 partial match
blocks

Defining and enforcing authorizations assumes prior authentication and therefore only partially mitigates the absence of authentication.

PR.IR-01 partial match
blocks

Protecting networks from unauthorized access can be undermined by missing authentication but does not address the root authentication gap.

PR.DS-10 none match
blocks

PR.DS-10 protects runtime data confidentiality/integrity but has no bearing on neutralizing externally influenced input during code generation, so neither direction shows any preventive effect.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

removes
removes
removes
removes
blocks

Mandating authentication requirements for critical functions at the requirements-gathering stage ensures that essential operations are not left unprotected by missing login or verification mechanisms.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (higher-evidence rows only; rows rated `none` are excluded).

Oracle Linux 8 (2 rules)
  • V-248585 OL 8 must require reauthentication when using the "sudo" command. blocks CWE-306
  • V-248827 OL 8 must not have the rsh-server package installed. blocks CWE-306
RHEL 7 (2 rules)
  • V-204442 The Red Hat Enterprise Linux operating system must not have the rsh-server package installed. blocks CWE-306
  • V-237635 The Red Hat Enterprise Linux operating system must require re-authentication when using the "sudo" command. blocks CWE-306
RHEL 8 (2 rules)
  • V-230492 RHEL 8 must not have the rsh-server package installed. blocks CWE-306
  • V-237643 RHEL 8 must require re-authentication when using the "sudo" command. blocks CWE-306

References