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.
Published: 2026-04-06
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized Data Access
Action: Patch Immediately
AI Analysis

Impact

The vulnerability allows a deleted container artifact to become readable again. When a blob is removed in a repository that has both delete operations enabled and a Redis cache for blob descriptors enabled, the shared digest descriptor is cleared but the repository‑specific membership information is left in the cache. A later request for the same artifact from the same or another repository triggers the cached descriptor to be repopulated, giving users read access to a blob that was intended to be permanently deleted. This results in unauthorized exposure of data that should have been purged, violating confidentiality and the integrity of the repository.

Affected Systems

All instances of Docker Distribution earlier than version 3.1.0 that are configured with storage.delete.enabled set to true and which use Redis for blob descriptor caching are affected. The vulnerability does not impact installations that do not enable the delete feature or do not use Redis for descriptor caching.

Risk and Exploitability

The CVSS score of 7.5 indicates a high impact vulnerability, but the EPSS score of less than 1 % suggests that exploitation in the wild is unlikely. The vulnerability is not listed in the CISA KEV catalog. The likely attack vector is inferred from the description: an attacker who has authorization to delete blobs must then request the same blob from a different repository or the same one again to trigger the cache repopulation. Therefore, exploit requires authenticated access with delete privileges or a compromised account. Once the scenario occurs, the deleted artifact is temporarily resurrected until the Redis cache is refreshed. This gives the attacker a narrow window of read access to content that was supposed to be removed.

Generated by OpenCVE AI on April 8, 2026 at 02:27 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade distribution to version 3.1.0 or later.

Generated by OpenCVE AI on April 8, 2026 at 02:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-f2g3-hh2r-cwgc Distribution: stale blob access resurrection via repo-scoped redis descriptor cache invalidation
History

Wed, 08 Apr 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-524
References
Metrics threat_severity

None

threat_severity

Important


Tue, 07 Apr 2026 15:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 07 Apr 2026 09:45:00 +0000

Type Values Removed Values Added
First Time appeared Distribution
Distribution distribution
Vendors & Products Distribution
Distribution distribution

Mon, 06 Apr 2026 20:00:00 +0000

Type Values Removed Values Added
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.
Title Distribution has stale blob access resurrection via repo-scoped redis descriptor cache invalidation
Weaknesses CWE-284
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

Distribution Distribution
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-07T14:46:34.904Z

Reserved: 2026-04-01T17:26:21.133Z

Link: CVE-2026-35172

cve-icon Vulnrichment

Updated: 2026-04-07T14:46:30.614Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-04-06T20:16:25.607

Modified: 2026-04-07T13:20:11.643

Link: CVE-2026-35172

cve-icon Redhat

Severity : Important

Publid Date: 2026-04-06T19:08:44Z

Links: CVE-2026-35172 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-04-08T19:50:34Z

Weaknesses