Apache Parquet Java の脆弱性 CVE-2025-46762 が FIX:メタデータに埋め込まれた悪意のコードの自動実行

Apache Parquet Java Vulnerability Enables Remote Code Execution

2025/05/05 gbhackers — Apache Parquet Java に、深刻度の高い脆弱性 CVE-2025-46762 が発見された。この脆弱性により、parquet-avro モジュールを使用するシステムに、リモート・コード実行 (RCE) 攻撃の可能性が生じている。この脆弱性は、Apache Parquet のバージョン 1.15.1 以下に影響を及ぼすものであり、2025年5月2日に、コントリビューターである Gang Wu により公開された

脆弱性の技術的な詳細

この脆弱性は、parquet-avro モジュールにおける、安全が確保されないスキーマ解析に起因する。Parquet ファイルのメタデータ内に、悪意のコードを埋め込む攻撃者は、脆弱なシステムがファイルの Avro スキーマを読み込む際に、このコードの自動的な実行を達成するという。

Apache Parquet 1.15.1 で、信頼できないパッケージを制限することで、この問題に対する部分的な緩和策が導入された。ただし、デフォルトの “trusted packages” コンフィグでは、事前に承認された Java パッケージ (java.util など) からのコード実行が、依然として許可されている。

この攻撃の前提として、”specific” または “reflect” データ・モデルの使用がある (安全だとされる “generic” モデルは除外) 。この脆弱なシステムにおいて、攻撃者が制御する Parquet ファイルを処理する必要がある。

影響を受けるシステム
  • Apache Parquet Java バージョン 1.15.1 以下。
  • Apache Spark/Hadoop/Flink などのビッグデータ・フレームワークで、デシリアライゼーションに parquet-avro を使用するアプリケーション。
緩和策

Apache Software Group が推奨するのは、以下の対応の速やかな実施である:

  • Parquet Java 1.15.2 へのアップグレード。このバージョンでは、パッケージの信頼境界が厳格化されるため、この問題は完全に解決されている。
  • バージョン 1.15.1 を使用し続けるシステムの場合は、JVM システム・プロパティを以下のように設定する。
    -Dorg.apache.parquet.avro.SERIALIZABLE_PACKAGES= (empty string)

ユーザー組織にとって必要なことは、データ・パイプラインの監査であり、可能な限り  “generic” Avro モデルを使用することである。このモデルは、今回の脆弱性の影響を受けない。

セキュリティ専門家が警告するのは、パッチ未適用のシステムが、サプライチェーン攻撃のリスクにさらされていることだ。破損した Parquet ファイルにより、バックエンドの脆弱​​性が悪用される可能性があるとしている。

サイバーセキュリティ企業 DataShield の CTO である Maria Chen は、「この問題は、シリアライズに関連する脆弱性が、境界防御の回避を引き起こす典型的な例である。攻撃者は、一般的なデータ形式を武器にして、分析プラットフォームに侵入する可能性を手にする」と述べている。

Apache チームが公開したのは、Avro スキーマ処理の安全なコンフィグに方法を強調するための、更新されたドキュメントである。

この種の脆弱性の悪用を実証する PoC は、公開から数日以内に出現することが多い。したがって、機密データを扱う組織に推奨されるのは、この脆弱性に対するパッチ適用を優先することだ。