CVE-2026-33687 PUBLISHED

Sharp has Unrestricted File Upload via Client-Controlled Validation Rules

Assigner: GitHub_M
Reserved: 23.03.2026 Published: 26.03.2026 Updated: 26.03.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 8.8

Product Status

Vendor code16
Product sharp
Versions
  • Version < 9.20.0 is affected

References

Problem Types

  • CWE-434: Unrestricted Upload of File with Dangerous Type CWE