Vulnerability · Published Jul 15, 2026 · Assigned by VulnCheck
CVE-2026-61457Grav before 1.0.3 Remote Code Execution via File Upload Extension Bypass
High 8.8
In plain English
A high-severity unrestricted file upload in grav from getgrav. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 50% of all known vulnerabilities).
Official description
The Grav API plugin (getgrav/grav-plugin-api) before 1.0.3 contains a file upload extension bypass in the API media controller. HandlesMediaUploads::validateFileExtension() inspects only the final file extension via pathinfo($filename, PATHINFO_EXTENSION), so a user with api.media.write permission can upload a file with a double extension such as shell.php.jpg to bypass the dangerous extensions blocklist. The web server may then execute the file as PHP, resulting in remote code execution.
Affected products (as reported)
Weakness: CWE-434 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
References
- GitHub Security Advisory (GHSA-66v2-vxxf-xc3v) vendor-advisory
- VulnCheck Advisory: Grav before 1.0.3 Remote Code Execution via File Upload Extension Bypass third-party-advisory