北京赛克艾威科技有限公司 2025-04-01
Apache Parquet Java是一个开源的工具,用于优化大规模数据处理。其中parquet\-avro模块用于转换parquet格式与avro数据格式。 在parquet\-avro 1.15.0 及之前的版本中,AvroConverters.java中的FieldStringableConverter方法未对传入的stringableClass对象进行校验操作,导致在将parquet文件转换为avro的过程中可实例化任意类并调用构造方法,攻击者可利用该特性传入恶意parquet文件,执行任意代码。 修复版本通过checkSecurity函数来实现白名单限制,对传入的stringableClass对象进行校验,只允许受信任包下的stringableClass对象通过,限制反序列化的恶意类加载。
1. 将组件 org.apache.parquet:parquet-avro 升级至 1.15.1 及以上版本
https://www.oscs1024.com/hd/MPS-gj1h-x6aw
https://github.com/apache/parquet-java/commit/8e70eea820d4d4b9d1ae240a9bc25d266ab780f3