CVE-2026-42811Apache Polaris是一款旨在管理数据目录的服务,其在处理Google Cloud Storage (GCS)凭证时存在严重漏洞。由于在构建Credential Access Boundary (CAB)的CEL条件表达式时,未对用户提供的命名空间或表名进行严格转义,攻击者可利用精心构造的标识符注入恶意代码。这导致系统颁发的短期凭证绕过了原本的路径限制,获得了整个存储Bucket的访问权限。攻击者借此可读取、修改或删除非授权数据,严重影响数据机密性与完整性。
该漏洞的核心在于Apache Polaris生成GCS下级凭证的逻辑缺陷。Polaris通过构建包含CEL(Common Expression Language)条件的凭证访问边界(CAB)来限制凭证仅能访问特定表的存储路径。然而,在当前代码实现中,从命名空间和表标识符派生出的路径被直接拼接到CEL表达式的字符串中,未进行任何转义处理。攻击者可以通过创建包含单引号(')等特定字符的命名空间或表名,闭合原有的字符串定界符,从而改变CEL表达式的逻辑结构。例如,注入逻辑可使路径检查条件永远为真或失效,导致CEL路径限制实际上被移除。经测试确认,在Polaris 1.4.0版本中,利用此漏洞返回的委托凭证不仅限于访问其他表,还能对Bucket内任意前缀的对象执行列表、读取、创建及删除操作,实现了从单表访问到全Bucket访问的权限提升。