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.
The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
Link | Tags |
---|---|
https://tttang.com/archive/1865/ | third party advisory exploit |
https://github.com/top-think/framework/commit/c4acb8b4001b98a0078eda25840d33e295a7f099 | third party advisory patch |
https://github.com/top-think/framework/compare/v6.0.13...v6.0.14 | third party advisory patch |