{"cve":"CVE-2026-35172","nvd":{"published":"2026-04-06T20:16:25.607","modified":"2026-09-09T13:19:39.007","status":"Modified","description":"Distribution is a toolkit to pack, ship, store, and deliver container content. Prior to 3.1.0, distribution can restore read access in repo a after an explicit delete when storage.cache.blobdescriptor: redis and storage.delete.enabled: true are both enabled. The delete path clears the shared digest descriptor but leaves stale repo-scoped membership behind, so a later Stat or Get from repo b repopulates the shared descriptor and makes the deleted blob readable from repo a again. This vulnerability is fixed in 3.1.0.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","score":7.5},"cwes":["CWE-284","CWE-524"],"references":["https://github.com/distribution/distribution/security/advisories/GHSA-f2g3-hh2r-cwgc","https://access.redhat.com/errata/RHSA-2026:23234","https://access.redhat.com/errata/RHSA-2026:25045","https://access.redhat.com/errata/RHSA-2026:26529","https://access.redhat.com/errata/RHSA-2026:26543"],"products":["distribution:distribution"],"source":"nvd","synced_at":"2026-10-19T22:28:59.047572785+00:00"},"epss":{"cve":"CVE-2026-35172","score":0.00455,"percentile":0.39522,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-f2g3-hh2r-cwgc","url":"https://osv.dev/vulnerability/GHSA-f2g3-hh2r-cwgc","summary":"Distribution: stale blob access resurrection via repo-scoped redis descriptor cache invalidation","modified":"2026-09-10T03:51:01.560091093Z","packages":[{"ecosystem":"Go","name":"github.com/distribution/distribution/v3","purl":"pkg:golang/github.com/distribution/distribution/v3","ranges":["<3.1.0"],"fixed":["3.1.0"]},{"ecosystem":"Go","name":"github.com/distribution/distribution","purl":"pkg:golang/github.com/distribution/distribution","ranges":["<=2.8.3"],"fixed":[]}]},{"id":"GO-2026-4942","url":"https://osv.dev/vulnerability/GO-2026-4942","summary":"Stale blob descriptor cache invalidation in github.com/distribution/distribution","modified":"2026-08-18T21:40:42.934860937Z","packages":[{"ecosystem":"Go","name":"github.com/distribution/distribution","purl":"pkg:golang/github.com/distribution/distribution","ranges":["all versions"],"fixed":[]},{"ecosystem":"Go","name":"github.com/distribution/distribution/v3","purl":"pkg:golang/github.com/distribution/distribution/v3","ranges":["<3.1.0"],"fixed":["3.1.0"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}