Description
zot is a container image and artifact registry based on the Open Container Initiative Distribution Specification. Prior to 2.1.18, the bearer authentication handler in pkg/api/authn.go maps every HTTP method other than GET and HEAD to the push action, so DELETE requests are not checked for the distinct delete permission. Bearer-authenticated requests also bypass the fine-grained DistSpecAuthzHandler path in pkg/api/authz.go, while DeleteManifest and DeleteBlob perform no independent delete-permission check. A remote attacker with a bearer token limited to pull and push actions can therefore delete manifests and blobs within the token's repository scope, making images unavailable and allowing repository history to be altered despite the token lacking delete authorization. This issue is fixed in version 2.1.18.
Published: 2026-09-18
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized Deletion of Artifacts
Action: Immediate Patch
AI Analysis

Impact

This vulnerability allows a bearer‑authenticated attacker to delete image manifests and blobs that are within the token’s repository scope, even though the token only has pull and push permissions. The bug arises because the authenticator maps DELETE requests to the push action and does not perform an explicit delete‑permission check, bypassing the fine‑grained DistSpecAuthzHandler. Consequently, images can be made unavailable and repository history altered by an attacker who can obtain or forge a limited token.

Affected Systems

Project ZOT’s Zot container registry, versions prior to 2.1.18, is affected. The problem manifests in the package code at pkg/api/authn.go and pkg/api/authz.go, and the fix is released in the v2.1.18 release.

Risk and Exploitability

The vulnerability has a CVSS score of 8.1 and is not currently listed in CISA’s KEV. EPSS data is unavailable, but the issue requires a bearer token with push privileges, which an attacker can acquire from a compromised identity provider or by social engineering. Remote attackers can exploit the flaw over the network if they possess an authenticated session, so the likelihood of exploitation is moderate to high for environments that issue broad push rights. No public exploit is known, but the impact could be significant if an attacker can delete critical images.

Generated by OpenCVE AI on September 19, 2026 at 12:06 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Zot registry to version 2.1.18 or later.
  • Limit bearer tokens to only the permissions required, avoiding the push scope unless delete access is specifically needed.
  • Audit logs for unauthorized delete operations and enforce stricter delete permissions via configuration.

Generated by OpenCVE AI on September 19, 2026 at 12:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-qg67-7m6v-qg25 zot: Bearer authentication maps DELETE to push scope, allowing unauthorized deletion
History

Fri, 18 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
Description zot is a container image and artifact registry based on the Open Container Initiative Distribution Specification. Prior to 2.1.18, the bearer authentication handler in pkg/api/authn.go maps every HTTP method other than GET and HEAD to the push action, so DELETE requests are not checked for the distinct delete permission. Bearer-authenticated requests also bypass the fine-grained DistSpecAuthzHandler path in pkg/api/authz.go, while DeleteManifest and DeleteBlob perform no independent delete-permission check. A remote attacker with a bearer token limited to pull and push actions can therefore delete manifests and blobs within the token's repository scope, making images unavailable and allowing repository history to be altered despite the token lacking delete authorization. This issue is fixed in version 2.1.18.
Title zot: Bearer authentication maps DELETE to push scope, allowing unauthorized deletion
Weaknesses CWE-285
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-18T16:55:22.002Z

Reserved: 2026-07-10T20:28:17.511Z

Link: CVE-2026-61833

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-18T17:16:59.010

Modified: 2026-09-18T17:16:59.010

Link: CVE-2026-61833

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-19T12:15:17Z

Weaknesses