IT SBIT Services
Schneeberger
DEEN
CVE tracker

Apache Arrow C++, PyArrow: Unvalidated KMS URL forwarded from Parquet files

CVE-2026-92287High 8.1

← All vulnerabilities

Summary

Apache Arrow C++ Parquet and PyArrow forward a KMS URL taken from a Parquet file to a pluggable KmsClient implementation without validation. If that KmsClient does not validate the host and uses the URL, an attacker who supplies a crafted encrypted Parquet file can cause a KMS token to be sent to an attacker-controlled host. The issue requires that the application reads untrusted Parquet files with decryption properties and a custom KmsClient.

Affected

  • Apache Arrow C++ (Parquet): 4.0.0 to 25.0.1
  • PyArrow: 8.0.0 to 25.0.1

Fixed in

  • Upgrade to Apache Arrow 26.0.0 (fix for GH-51349). In 26.0.0 file-controlled KMS URLs are disabled by default.
  • Patch for 25.x or earlier: Unknown.

Workaround

  • Specify the KMS URL explicitly in the KmsConnectionConfig so that the file cannot supply it.
  • Ensure that all KmsClient implementations validate received KMS URLs.
  • If a CryptoFactory is reused across files, check that it does not return a client created with another file's or the default URL.

Exploitation

  • No exploitation reported.
  • No public proof of concept found.
  • CISA SSVC: Exploitation none, Automatable no, Technical Impact total.

Our recommendation

  • Upgrade to Apache Arrow or PyArrow 26.0.0 or later.
  • Keep the default setting (file-controlled KMS URLs disabled) unless you have validated KMS URL handling.
  • If you cannot upgrade, set the KMS URL in the application and verify that your KmsClient code validates URLs.
  • Only read Parquet files from trusted sources if you use encrypted Parquet with a custom KmsClient.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 18:42.

Original description (NVD)

Pass-through of unvalidated KMS URLs to KMS clients in Apache C++ Parquet and PyArrow versions 4.0.0 to 25.0.1. This affects users who read Parquet files and configure Parquet decryption properties with a KmsClient implementation. On the reader side, the KMS URL can be application-controlled (specified in the KmsConnectionConfig) or file-controlled. If the user does not leverage application control for this parameter, a file-controlled KMS URL is forwarded to a pluggable KmsClient implementation. If the KMS implementation does not perform host validation and makes use of the provided KMS URL, a KMS token can be sent to a malicious host set by an attacker in the file.  Users are recommended to upgrade to version 26.0.0, which disables this behavior by default and requires that users opt-in to it by enabling the read_kms_url flag in the DecryptionConfiguration. Users of affected versions are recommended to either specify the KMS URL in the KmsConnectionConfig when reading files, or ensure any KmsClient implementations validate received KMS URLs. Users that opt-in to file-controlled KMS URLs in version 26.0.0 and later must ensure KmsClients validate KMS URLs.

NVD references (3)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.