CVE-2025-63888
Thinkphp 5.0.24
Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HSummary
CVE-2025-63888 is a critical-severity PHP Remote File Inclusion (CWE-98) vulnerability in Thinkphp Thinkphp. Its CVSS base score is 9.8 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 43th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SI-10 (Information Input Validation) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2025-63888, published on 2025-11-20, is a remote code execution vulnerability in the read function of the file thinkphp\library\think\template\driver\File.php in ThinkPHP 5.0.24. It has a CVSS v3.1 base score of 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) and is associated with CWE-98.
The vulnerability enables remote exploitation over the network with low attack complexity, requiring no privileges or user interaction. Unauthenticated attackers can leverage it to achieve high impacts on confidentiality, integrity, and availability, resulting in arbitrary remote code execution on affected systems.
Advisories with further details, including potential mitigation guidance, are available at the following references: https://gist.github.com/Master-0-0/0bf54cbb335b586b42b0db0db804e7aa and https://www.yuque.com/lcc316/df0kgm/mglhbxltgbmzfh2s.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2025-198316
Vulnerability Data
The read function in file thinkphp\library\think\template\driver\File.php in ThinkPHP 5.0.24 contains a remote code execution vulnerability.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Developer testing and static analysis can discover missing filename restrictions before deployment.
Validating all inputs before they reach include/require statements directly stops untrusted filenames from being used.
Enforcing access authorizations on resources limits what an included file can reach even if a bad name is supplied.
Information-flow rules can block the loading of external or unauthorized files into the PHP process.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices such as input validation and allow-listing of include paths directly prevent the weakness.
Hardened runtime configuration (e.g., allow_url_include=off) directly blocks RFI even if code is flawed.
Execution restrictions can prevent the remote payload from running, while eliminating the weakness reduces the need for such controls.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing can detect RFI but does not prevent the weakness by itself.
Secure development lifecycle mandates input validation and safe include/require patterns that directly prevent remote file inclusion.
Application security requirements explicitly call for controls against injection and unsafe file operations.
Secure architecture principles reduce attack surface but do not specifically address dynamic file inclusion.
Secure coding standards directly require whitelisting and sanitization of filenames used in include/require statements.
Information access restriction limits what files can be read but does not address dynamic inclusion logic.