-
CVSS Score
-Basic Information
CVE ID
-
GHSA ID
-
EPSS Score
-
CWE
-
Published
-
Updated
-
KEV Status
-
Technology
-
The vulnerability stems from the checkImg() method's flawed validation logic. The original implementation checks if a file's extension is in the image list (gif/jpg/etc.) and its MIME type is invalid, returning an error only in that specific case. This allows files with non-image extensions (like .php) to bypass content validation entirely. When combined with ThinkPHP's move() method for uploads, this permits dangerous file types to be uploaded. The GitHub issue explicitly shows this function's logic inversion and demonstrates how it leads to getshell vulnerabilities.
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| topthink/framework | composer | <= 5.0.24 | |
| topthink/framework | composer | >= 5.1, <= 5.1.41 |
Ongoing coverage of React2Shell