Executive brief
Apache Parquet's encryption key management feature allows attackers to redirect KMS token requests to malicious servers if the application doesn't enforce server validation. An attacker can craft a malicious Parquet file that sends encryption keys to a server they control, potentially exposing encrypted data and compromising the security of encrypted files.
Technical details
The vulnerability exists in the org.apache.parquet.crypto.keytools package (versions 1.12–1.18) which implements envelope encryption for Parquet files using a Key Management Service (KMS). The flaw is insufficient validation of KMS URLs: when a KMS URL is read from the file itself rather than application-supplied configuration, the pluggable KmsClient implementation may not validate the hostname before sending KMS tokens to it. An attacker can embed a malicious KMS URL pointing to an attacker-controlled server in a Parquet file; when an unprotected reader processes the file, it will send decryption tokens to the attacker's host. This requires the application to use file-controlled KMS URLs without host validation. The issue is addressed in version 1.19 by disabling file-controlled URLs by default and requiring explicit opt-in with mandatory security documentation.
Affected products
- Apache Parquet 1.12 to 1.18
Timeline
- 2026-09-09: disclosed
- 2026: patched: Fix expected in version 1.19