CVE-2022-47945

ThinkPHP Framework before 6.0.14 allows local file inclusion via the lang parameter when the language pack feature is enabled (lang_switch_on=true)

Critical · published December 23, 2022

CVSS v3.1
9.8
EPSS
29%
Percentile
98.1
In the wild
Unconfirmed
What it is

🚨 Local file inclusion in ThinkPHP could open the door for attackers to run arbitrary commands! With a tick of the lang parameter, an unauthenticated user can wreak havoc. 🔥 This vulnerability is like a restaurant that mistakenly gives patrons the chef's secret recipe book — anyone can request any dish! With this flaw, attackers can pull in sensitive files and execute harmful commands like a rogue chef in the kitchen. An attacker can exploit this vulnerability to run any command on the server, leading to potentially devastating consequences. This means they can access sensitive data, change system configurations, or even take complete control of the server. The implications are serious, as it poses a significant threat to the integrity of the entire application and its data!

Put simply

This vulnerability is like a restaurant that mistakenly gives patrons the chef's secret recipe book — anyone can request any dish! With this flaw, attackers can pull in sensitive files and execute harmful commands like a rogue chef in the kitchen. The issue resides in the ThinkPHP Framework versions prior to 6.0.14, where local file inclusion is enabled through the lang parameter when the language pack feature is active. This allows an attacker to include and execute system files, like pearcmd.php, without any authentication.

What to do

An attacker can exploit this vulnerability to run any command on the server, leading to potentially devastating consequences. This means they can access sensitive data, change system configurations, or even take complete control of the server. The implications are serious, as it poses a significant threat to the integrity of the entire application and its data! To mitigate this risk, immediately upgrade to ThinkPHP version 6.0.14 or newer. Additionally, disable the lang_switch_on feature if it's not needed and review your application's configuration to prevent unauthorized access. You've got this! Follow these steps, and you'll be on your way to securing your application in no time! 🛡️

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.28731 · 98.1th percentile
Published
2022-12-23T00:00Z
EPSS history
Timeline
  • 23 DEC 00:00Z
    ThinkPHP Framework before 6.0.14 allows local file inclusion via the lang parameter when the language pack feature is enabled (lang_switch_on=true)
    cvelistv5