高危!Apache Parquet Java库曝远程代码执行(RCE)漏洞,需立即修复
Apache Parquet Java组件中新发现一个严重安全漏洞(编号CVE-2025-46762),攻击者可通过特制的Parquet文件实现任意代码执行。该漏洞影响1.15.1及之前所有版本。
Apache Parquet是一种面向大数据生态的列式存储文件格式,广泛应用于Apache Hadoop、Spark和Flink等处理框架,这使得该漏洞可能对数据分析基础设施造成广泛影响。
Parquet-Avro模块漏洞分析
该安全缺陷存在于parquet-avro模块中,该模块负责处理Parquet文件元数据中的Avro(Apache Avro)模式。虽然Apache Parquet 1.15.1版本在2025年3月已针对不受信任包添加了限制措施,但安全研究人员发现其信任包的默认设置仍过于宽松,导致恶意类仍可能被执行。
Apache软件基金会的安全公告指出:"Apache Parquet 1.15.0及更早版本的parquet-avro模块在模式解析过程中,可能被攻击者利用来执行任意代码"。该漏洞特别针对使用"specific"或"reflect"模式读取Parquet文件的应用,而"generic"模式不受影响。
漏洞影响与风险因素
| 风险要素 | 详细说明 |
|---|---|
| 受影响产品 | Apache Parquet Java 1.15.1及更早版本(特别是parquet-avro模块) |
| 危害程度 | 任意代码执行 |
| 利用前提 | - 使用Apache Parquet Java ≤1.15.1- 启用了parquet-avro模块- 采用"specific"或"reflect"模式读取Parquet文件- 攻击者需提供包含恶意Avro模式的Parquet文件 |
| CVSS 3.1评分 | 高危(9.8) |
该漏洞源于Avro模式在反序列化过程中的处理缺陷,攻击者可注入在模式解析阶段执行的恶意代码。值得注意的是,这与2025年4月发现的另一个反序列化漏洞(CVE-2025-30065)存在相似性,后者同样影响parquet-avro模块。
修复方案与缓解措施
Apache Parquet团队已于2025年5月1日发布1.15.2版本彻底修复该漏洞。建议受影响用户采取以下措施:
- 升级方案:升级至Apache Parquet Java 1.15.2,该版本包含完整的漏洞修复
- 临时缓解:对于无法立即升级但使用1.15.1版本的用户,可将系统属性
org.apache.parquet.avro.SERIALIZABLE_PACKAGES设置为空字符串
两种方案均可通过阻止信任包中恶意代码的执行来有效缓解漏洞风险。建议所有在数据管道中使用Apache Parquet的组织立即进行系统审计,并应用推荐的修复措施。
注:该漏洞由安全研究人员Andrew Pikler、David Handermann和Nándor Kollár在序列化漏洞研究中发现并负贵披露。
