Authenticated Sharp users can download unrelated Laravel Storage objects through the generic download endpoint
Sharp is a content management framework built for Laravel as a package. Prior to version 9.22.0, Sharp exposes a generic download endpoint that authorizes access only to the supplied Sharp entity instance, but then reads the target storage disk and path from request parameters. Because the requested storage object is not bound to the authorized entity instance, an authenticated Sharp user who can view one valid record may use that record as an authorization anchor to download unrelated disk-relative objects from configured Laravel Storage disks. The confirmed impact is authenticated disclosure of unrelated objects from configured Laravel Storage disks. This issue does not imply arbitrary host filesystem access outside configured Laravel Storage disk roots. This issue has been patched in version 9.22.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-44692
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 10:57 UTC · Revision 1
Source evidence
Authenticated Sharp users can download unrelated Laravel Storage objects through the generic download endpoint
core-osv · Original sourcePublished 10 Jun 2026, 20:03 UTC
Sharp is a content management framework built for Laravel as a package. Prior to version 9.22.0, Sharp exposes a generic download endpoint that authorizes access only to the supplied Sharp entity instance, but then reads the target storage disk and path from request parameters. Because the requested storage object is not bound to the authorized entity instance, an authenticated Sharp user who can view one valid record may use that record as an authorization anchor to download unrelated disk-relative objects from configured Laravel Storage disks. The confirmed impact is authenticated disclosure of unrelated objects from configured Laravel Storage disks. This issue does not imply arbitrary host filesystem access outside configured Laravel Storage disk roots. This issue has been patched in version 9.22.0.
osv:CVE-2026-44692
Complete source record
{
"id": "0ada93d1add76eedfc0e6772fda77e56c12e160fba9742314e99057018d81c9e",
"url": "https://osv.dev/vulnerability/CVE-2026-44692",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Authenticated Sharp users can download unrelated Laravel Storage objects through the generic download endpoint",
"summary": "Sharp is a content management framework built for Laravel as a package. Prior to version 9.22.0, Sharp exposes a generic download endpoint that authorizes access only to the supplied Sharp entity instance, but then reads the target storage disk and path from request parameters. Because the requested storage object is not bound to the authorized entity instance, an authenticated Sharp user who can view one valid record may use that record as an authorization anchor to download unrelated disk-relative objects from configured Laravel Storage disks. The confirmed impact is authenticated disclosure of unrelated objects from configured Laravel Storage disks. This issue does not imply arbitrary host filesystem access outside configured Laravel Storage disk roots. This issue has been patched in version 9.22.0.",
"evidence": "osv:CVE-2026-44692",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-44692",
"aliases": [
"CVE-2026-44692",
"GHSA-748w-hm6r-qc7v"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/code16/sharp",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "0526ab241fc16152170dc964fd7205c7cf2a28dc"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "9.22.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "0526ab241fc16152170dc964fd7205c7cf2a28dc"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v9.22.0"
},
{
"range": [
{
"introduced": "0"
},
{
"fixed": "9.22.0"
}
],
"source": "DESCRIPTION"
}
]
}
}
],
"versions": [
"v9.21.2",
"v9.21.1",
"v9.21.0",
"v9.20.0",
"v9.19.3",
"v9.19.2",
"v9.19.0",
"v9.19.1",
"v9.17.1",
"v9.17.0",
"v9.16.1",
"v9.15.1",
"v9.15.0",
"v9.14.3",
"v9.14.2",
"v9.14.1",
"v9.14.0",
"v9.13.0",
"v9.12.0",
"v9.11.1",
"v9.11.0",
"v9.10.2",
"v9.10.1",
"v9.10.0",
"v9.9.0",
"v9.8.1",
"v9.7.3",
"v9.7.2",
"v9.7.0",
"v9.6.6",
"v9.6.5",
"v9.6.4",
"v9.6.3",
"v9.6.2",
"v9.5.2",
"v9.5.1",
"v9.5.0",
"v9.4.1",
"v9.4.0",
"v9.3.7",
"v9.3.4",
"v9.3.1",
"v9.2.8",
"v9.2.7",
"v9.2.5",
"v9.2.4",
"v9.2.3",
"v9.2.2",
"v9.2.0",
"v9.1.0",
"v9.0.5",
"v9.0.3",
"v8.6.1",
"v8.6.0",
"v8.5.0",
"v8.4.4",
"v8.4.3",
"v8.4.2",
"v8.4.1",
"v8.4.0",
"v8.3.7",
"v8.3.6",
"v8.3.4",
"v8.3.5",
"v8.3.1",
"v8.2.1",
"v8.2.0",
"v8.1.2",
"v7.29.6",
"v8.1.0",
"v8.0.7",
"v8.0.6",
"v8.0.3",
"v8.0.2",
"v8.0.1",
"v8.0.0",
"v7.29.5",
"v7.29.4",
"v7.29.3",
"v7.29.2",
"v7.29.1",
"v7.28.0",
"v7.27.1",
"v7.27.0",
"v7.26.2",
"v7.26.1",
"v7.26.0",
"v7.25.2",
"v7.25.1",
"v7.25.0",
"v7.24.0",
"v7.23.2",
"v7.23.0",
"v7.22.0",
"v7.21.0",
"v7.20.0",
"v7.19.1",
"v7.19.0",
"v7.17.3",
"v7.17.2",
"v7.17.1",
"v7.17.0",
"v7.16.0",
"v7.14.0",
"v7.13.0",
"v7.12.0",
"v7.11.0",
"v7.10.0",
"v7.9.0",
"v7.8.0",
"7.7.2",
"v7.7.1",
"v7.7.0",
"v7.6.0",
"v7.5.2",
"v7.5.1",
"v7.5.0",
"v7.4.0",
"v7.3.0",
"v7.2.5",
"v7.2.4",
"v7.2.3",
"v7.2.2",
"v7.2.1",
"v7.2.0",
"v7.1.0",
"v7.0.2",
"v7.0.1",
"v7.0.0",
"v6.5.4",
"v6.5.3",
"v6.5.2",
"v6.5.1",
"v6.5.0",
"v6.4.1",
"v6.3.3",
"v6.4.0",
"v6.3.2",
"v6.3.1",
"v6.3.0",
"v5.4.5",
"v6.2.0",
"v6.1.5",
"v6.1.4",
"v6.1.3",
"v6.1.2",
"v6.1.0",
"v6.0.1",
"v6.0.0",
"v5.4.4",
"v5.4.3",
"v5.4.2",
"v5.4.1",
"v5.4.0",
"v5.3.3",
"v5.3.2",
"v5.3.1",
"v5.3.0",
"v5.1.2",
"v5.1.1",
"v5.1.0",
"v5.0.0",
"v4.2.6",
"v4.2.5",
"v4.2.4",
"v4.2.3",
"v4.2.0",
"v4.1.16",
"v4.1.15",
"v4.1.13",
"v4.1.11",
"v4.1.8",
"v4.1.7",
"v4.1.6",
"v4.1.5",
"v4.1.4",
"v4.1.3",
"v4.1.2",
"v4.1.1",
"v4.1.0",
"v4.0.20",
"v4.0.19",
"v4.0.14",
"v4.0.13",
"v4.0.12",
"v4.0.11",
"v4.0.8",
"v4.0.7",
"v4.0.5",
"v4.0.0",
"v4.0-BETA6",
"v4.0-BETA3"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-44692.json"
}
}
],
"modified": "2026-10-28T02:30:28.202968700Z",
"provider": "osv",
"references": [
"https://github.com/code16/sharp/releases/tag/v9.22.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44692.json",
"https://github.com/code16/sharp/security/advisories/GHSA-748w-hm6r-qc7v",
"https://nvd.nist.gov/vuln/detail/CVE-2026-44692"
],
"provider_metadata": {
"cwe_ids": [
"CWE-639"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44692.json"
}
},
"related_cves": [
{
"value": "CVE-2026-44692",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 494780,
"published_at": "2026-06-10T20:03:48.81+00:00"
}