{"id":"CVE-2022-47945","aliases":["EUVD-2022-7698","GHSA-p4qr-vq2g-22wp"],"status":"published","title":"ThinkPHP Framework vulnerable to remote code execution","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.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-11","score":0.30237,"percentile":0.98246,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2022-12-23T00:00:00Z","modified":"2026-10-28T02:31:10Z","exploits":[{"source":"nuclei","id":"CVE-2022-47945","title":"Thinkphp Lang - Local File Inclusion","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2022/CVE-2022-47945.yaml"}],"fixes":[{"ecosystem":"Packagist","package":"topthink/framework","fixed_in":["6.0.14"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"topthink/framework","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.0.14"}]}]},{"source":"osv","ecosystem":"Packagist","package":"topthink/framework","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.0.14"}]}],"versions":["5.0","5.0-rc1","5.0-rc2","5.0-rc3","5.0-rc4","v5.0.1","v5.0.10","v5.0.11","v5.0.12","v5.0.13","v5.0.14","v5.0.15","v5.0.16","v5.0.17","v5.0.18","v5.0.19","v5.0.2","v5.0.20","v5.0.21","v5.0.22","v5.0.23","v5.0.24","v5.0.25","v5.0.3","v5.0.4","v5.0.5","v5.0.6","v5.0.7","v5.0.8","v5.0.9","v5.1-beta.1","v5.1-rc.1","v5.1-rc.2","v5.1-rc.3","v5.1.0","v5.1.1","v5.1.10","v5.1.11","v5.1.12","v5.1.13","v5.1.14","v5.1.15","v5.1.16","v5.1.17","v5.1.18","v5.1.19","v5.1.2","v5.1.20","v5.1.21","v5.1.22","v5.1.23","v5.1.24","v5.1.25","v5.1.26","v5.1.27","v5.1.28","v5.1.29","v5.1.3","v5.1.30","v5.1.31","v5.1.32","v5.1.33","v5.1.34","v5.1.35","v5.1.36","v5.1.37","v5.1.37.1","v5.1.38","v5.1.38.1","v5.1.39","v5.1.4","v5.1.40","v5.1.41","v5.1.42","v5.1.5","v5.1.6","v5.1.7","v5.1.8","v5.1.9","v5.2-beta.2","v5.2-beta.3","v5.2-rc1","v6.0.0","v6.0.0-rc2","v6.0.0-rc3","v6.0.0-rc4","v6.0.0-rc5","v6.0.1","v6.0.10","v6.0.11","v6.0.12","v6.0.13","v6.0.2","v6.0.3","v6.0.4","v6.0.5","v6.0.6","v6.0.7","v6.0.8","v6.0.9"]}],"products":[{"vendor":"thinkphp","product":"thinkphp"}],"references":[{"url":"https://tttang.com/archive/1865/","tags":["x_transferred","Exploit","Third Party Advisory","web"]},{"url":"https://github.com/top-think/framework/commit/c4acb8b4001b98a0078eda25840d33e295a7f099","tags":["x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/top-think/framework/compare/v6.0.13...v6.0.14","tags":["x_transferred","Patch","Third Party Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-47945","tags":["advisory"]},{"url":"https://tttang.com/archive/1865","tags":["web"]},{"url":"https://github.com/advisories/GHSA-p4qr-vq2g-22wp"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/47xxx/CVE-2022-47945.json","tags":["advisory"]},{"url":"https://github.com/top-think/framework","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2022-47945","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.","status":"published","published":"2022-12-23T00:00:00Z","modified":"2025-04-15T13:52:17.194Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:34:25.308772Z"}],"euvd":[{"id":"EUVD-2022-7698","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.","status":"published","published":"2022-12-23T00:00:00Z","modified":"2025-04-15T13:52:17Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T20:52:30.575698Z"}],"ghsa":[{"id":"GHSA-p4qr-vq2g-22wp","title":"ThinkPHP Framework vulnerable to remote code execution","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`.","status":"published","published":"2022-12-23T21:30:17Z","modified":"2025-04-15T15:51:36Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:38:39.85223Z"}],"nvd":[{"id":"CVE-2022-47945","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.","status":"published","published":"2022-12-23T21:15:09.203Z","modified":"2026-06-17T05:14:30.09Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:07:34.388163Z"}],"osv":[{"id":"CVE-2022-47945","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.","status":"published","published":"2022-12-23T00:00:00Z","modified":"2026-10-28T02:31:10.179953698Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:27.776402Z"},{"id":"GHSA-p4qr-vq2g-22wp","title":"ThinkPHP Framework vulnerable to remote code execution","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`.","status":"published","published":"2022-12-23T21:30:17Z","modified":"2025-04-15T16:19:40.569908Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:46:52.534897Z"}]}}
