Skip to content
OpenAdvisories
High · 8.8 CVE-2026-33687 EUVD-2026-16448GHSA-fr76-5637-w3g9

Sharp has Unrestricted File Upload via Client-Controlled Validation Rules

Published Mar 26, 2026 · Updated Mar 27, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
code16 sharp < 9.20.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
Packagist code16/sharp < 9.20.0 9.20.0 GHSA-fr76-5637-w3g9

References