{"document":{"category":"csaf_vex","csaf_version":"2.0","title":"CVE-2026-52812: Gogs: LFS dedupe path leaks private repo content across tenants","publisher":{"category":"vendor","name":"HarborGuard Database","namespace":"https://database.harborguard.co"},"tracking":{"id":"CVE-2026-52812","status":"final","version":"1","initial_release_date":"2026-06-24T20:32:51.608Z","current_release_date":"2026-06-24T20:32:51.608Z","revision_history":[{"date":"2026-06-24T20:32:51.608Z","number":"1","summary":"Initial machine-readable export from HarborGuard."}]},"distribution":{"tlp":{"label":"WHITE"},"text":"Public CVE data; freely redistributable."},"notes":[{"category":"description","text":"Gogs is an open source self-hosted Git service. Prior to 0.14.3, Git LFS storage is content-addressed by OID alone (<LFS-root>/<oid[0]>/<oid[1]>/<oid>) but per-repo authorization lives in the lfs_object table keyed (repo_id, oid). serveUpload skips re-uploading when the OID file already exists on disk and inserts a new (repo_id, oid) row pointing at it without verifying the request body hashes to the OID being claimed. Any user with write access to one repo can bind their repo to an OID owned by a private repo and download the original bytes via their own download endpoint. This vulnerability is fixed in 0.14.3.","title":"CVE description"}],"references":[{"category":"self","summary":"CVE-2026-52812 on HarborGuard Database","url":"https://database.harborguard.co/cve/CVE-2026-52812"},{"category":"external","summary":"CVE Record","url":"https://www.cve.org/CVERecord?id=CVE-2026-52812"},{"category":"external","summary":"https://github.com/gogs/gogs/security/advisories/GHSA-6p9m-q3jp-47h4","url":"https://github.com/gogs/gogs/security/advisories/GHSA-6p9m-q3jp-47h4"},{"category":"external","summary":"https://github.com/gogs/gogs/pull/8333","url":"https://github.com/gogs/gogs/pull/8333"},{"category":"external","summary":"https://github.com/gogs/gogs/commit/f35a767af74e05342bafc6fdda02c791816426f8","url":"https://github.com/gogs/gogs/commit/f35a767af74e05342bafc6fdda02c791816426f8"},{"category":"external","summary":"https://github.com/gogs/gogs/releases/tag/v0.14.3","url":"https://github.com/gogs/gogs/releases/tag/v0.14.3"}]},"product_tree":{"branches":[{"category":"vendor","name":"gogs","branches":[{"category":"product_name","name":"gogs","branches":[{"category":"product_version","name":"< 0.14.3","product":{"name":"gogs gogs < 0.14.3","product_id":"CSAFPID-1","product_identification_helper":{"cpe":"cpe:2.3:a:gogs:gogs:\\<_0.14.3:*:*:*:*:*:*:*"}}}]}]}]},"vulnerabilities":[{"cve":"CVE-2026-52812","title":"Gogs: LFS dedupe path leaks private repo content across tenants","notes":[{"category":"description","text":"Gogs is an open source self-hosted Git service. Prior to 0.14.3, Git LFS storage is content-addressed by OID alone (<LFS-root>/<oid[0]>/<oid[1]>/<oid>) but per-repo authorization lives in the lfs_object table keyed (repo_id, oid). serveUpload skips re-uploading when the OID file already exists on disk and inserts a new (repo_id, oid) row pointing at it without verifying the request body hashes to the OID being claimed. Any user with write access to one repo can bind their repo to an OID owned by a private repo and download the original bytes via their own download endpoint. This vulnerability is fixed in 0.14.3.","title":"CVE description"}],"product_status":{"known_affected":["CSAFPID-1"]},"scores":[{"cvss_v4":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:L/SI:N/SA:N","baseScore":7.1,"baseSeverity":"HIGH"},"products":["CSAFPID-1"]}],"remediations":[{"category":"none_available","details":"No fixed version is published yet. Monitor the upstream advisory.","product_ids":["CSAFPID-1"]}]}]}