Sharp has Unrestricted File Upload via Client-Controlled Validation Rules
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-434.
Summary
Sharp is a content management framework built for Laravel as a package. Versions prior to 9.20.0 contain a vulnerability in the file upload endpoint that allows authenticated users to bypass all file type restrictions. The upload endpoint within the `ApiFormUploadController` accepts a client-controlled `validation_rule` parameter. This parameter is directly passed into the Laravel validator without sufficient server-side enforcement. By intercepting the request and sending `validation_rule[]=file`, an attacker can completely bypass all MIME type and file extension restrictions. This issue has been addressed in version 9.20.0 by removing the client-controlled validation rules and strictly defining upload rules server-side. As a workaround, ensure that the storage disk used for Sharp uploads is strictly private. Under default configurations, an attacker cannot directly execute uploaded PHP files unless a public disk configuration is explicitly used.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| code16 | sharp | before 9.20.0 | 9.20.0 | Patch available | CNA |
| — | code16/sharp (Packagist) | before 9.20.0 | 9.20.0 | Patch available | GHSA-fr76-5637-w3g9 |
- sharp Vendorcode16 Affected before 9.20.0 Fixed in 9.20.0 Patch available CNA
- code16/sharp (Packagist) Vendor— Affected before 9.20.0 Fixed in 9.20.0 Patch available GHSA-fr76-5637-w3g9
Remediation
- Fix · CNA sharp (code16) Fixed in 9.20.0
- Fix · GHSA-fr76-5637-w3g9 code16/sharp (Packagist) Fixed in 9.20.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-33687
- 2026-10-03 Alias added: GHSA-fr76-5637-w3g9
- 2026-10-25 EPSS moved to the below the 50th percentile
References
Advisory 3
More code16 Sharp vulnerabilities
- TI-2026-26066 Sharp is Vulnerable to Path Traversal via Unsanitized Extension in FileUtil CVSS 3.1HIGH 8.8
Sources
- CVE-2026-33687 · CVE Program
- CVE-2026-33687 · NVD
- FIRST EPSS
- GHSA-fr76-5637-w3g9 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences