CVE-2026-33687

HIGH

Sharp has Unrestricted File Upload via Client-Controlled Validation Rules

Title source: cna
STIX 2.1

Description

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.

References (4)

Core 4
Core References
X_Refsource_Misc x_refsource_misc
https://github.com/code16/sharp/pull/714
X_Refsource_Misc x_refsource_misc
https://github.com/code16/sharp/releases/tag/v9.20.0
X_Refsource_Misc x_refsource_misc
https://laravel.com/docs/13.x/filesystem

Scores

CVSS v3 8.8
EPSS 0.0051
EPSS Percentile 39.1%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

CISA SSVC

Vulnrichment
Exploitation none
Automatable no
Technical Impact total

Details

CWE
CWE-434
Status published
Products (2)
code16/sharp < 9.20.0 (2 CPE variants)
code16/sharp 0 - 9.20.0Packagist
Published Mar 26, 2026
Tracked Since Mar 27, 2026