Read the docs
TI-2024-26792 Aliases CVE-2024-39897GHSA-55r9-5mx9-qq7r

Cache driver GetBlob() allows read access to any blob without access control check

Priority LOW 20CWE-639Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
Low · None · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-639.

Summary

zot is an OCI image registry. Prior to 2.1.0, the cache driver `GetBlob()` allows read access to any blob without access control check. If a Zot `accessControl` policy allows users read access to some repositories but restricts read access to other repositories and `dedupe` is enabled (it is enabled by default), then an attacker who knows the name of an image and the digest of a blob (that they do not have read access to), they may maliciously read it via a second repository they do have read access to. This attack is possible because [`ImageStore.CheckBlob()` calls `checkCacheBlob()`](https://github.com/project-zot/zot/blob/v2.1.0-rc2/pkg/storage/imagestore/imagestore.go#L1158-L1159) to find the blob a global cache by searching for the digest. If it is found, it is copied to the user requested repository with `copyBlob()`. The attack may be mitigated by configuring "dedupe": false in the "storage" settings. The vulnerability is fixed in 2.1.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00298 22nd percentileScored 2026-11-07
Fix Fixed zot (project-zot): 2.1.0zotregistry.io/zot (Go): 2.1.0+1 more product

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
project-zotzotbefore 2.1.02.1.0Patch availableCNA
—zotregistry.io/zot (Go)before 2.1.02.1.0Patch availableGHSA-55r9-5mx9-qq7r
—zotregistry.dev/zot (Go)before 2.1.02.1.0Patch availableGHSA-55r9-5mx9-qq7r
  • zot Vendorproject-zot Affected before 2.1.0 Fixed in 2.1.0 Patch available CNA
  • zotregistry.io/zot (Go) Vendor— Affected before 2.1.0 Fixed in 2.1.0 Patch available GHSA-55r9-5mx9-qq7r
  • zotregistry.dev/zot (Go) Vendor— Affected before 2.1.0 Fixed in 2.1.0 Patch available GHSA-55r9-5mx9-qq7r

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:zotregistry:zot:*:*:*:*:*:*:*:*before 2.1.0Vulnerableproject-zot
  • cpe:2.3:a:zotregistry:zot:*:*:*:*:*:*:*:* Versions before 2.1.0 Vulnerable ·project-zot

Remediation

  • Fix · CNA zot (project-zot) Fixed in 2.1.0
  • Fix · GHSA-55r9-5mx9-qq7r zotregistry.io/zot (Go) Fixed in 2.1.0 Advisory →
  • Fix · GHSA-55r9-5mx9-qq7r zotregistry.dev/zot (Go) Fixed in 2.1.0 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2024-39897
  2. 2026-10-03 Alias added: GHSA-55r9-5mx9-qq7r

References

  • TI-2025-16993 IdP group membership revocation ignored in zot CVSS 3.1HIGH 7.3
  • TI-2026-24356 zot create-only policy allows overwrite attempts of existing latest tag (update permission not required) CVSS 3.1HIGH 7.7

Sources