CVE-2026-92287: Apache Arrow C++, PyArrow: Parquet file-controlled KMS URL is forwarded to pluggable KmsClient that skips host validation

Published Oct 20, 2026
·
Updated

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 readkmsurl 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.

Affected Software

2 affected components
Apache Arrow C++>=4.0.0<=25.0.1
Apache PyArrow>=4.0.0<=25.0.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Apache Arrow C++/PyArrow to a version that resolves this vulnerability.

    Fixed in 26.0.0
  2. Configuration

    Only enable read_kms_url when opting in to file-controlled KMS URLs; it is disabled by default in version 26.0.0 and later.

    Apache Arrow Parquet decryption read_kms_url = enabled
  3. Configuration

    Specify the KMS URL in KmsConnectionConfig when reading Parquet files instead of allowing the URL to be controlled by the file.

    KmsConnectionConfig KMS URL = application-controlled
  4. Compensating control

    Ensure every pluggable KmsClient implementation validates received KMS URLs before using them, especially when file-controlled KMS URLs are enabled.

Event History

Oct 20, 2026
CVE Published
via MITRE·08:15 AM
Data Sourced
via MITRE·08:15 AM
DescriptionWeakness

Frequently Asked Questions

1

Which deployments are exposed to this issue?

Affected deployments read Parquet files, configure Parquet decryption properties with a KmsClient implementation, and allow the KMS URL to be taken from the file rather than specifying it in KmsConnectionConfig. Exposure also depends on the KmsClient using the supplied URL without validating its host.

2

What must an attacker be able to do to exploit this?

An attacker must provide a Parquet file containing a malicious KMS URL that is used during decryption. If the configured KmsClient uses that URL without host validation, it may send a KMS token to the attacker-controlled host.

3

What can be done if upgrading is not immediately possible?

When reading files, explicitly specify the KMS URL in KmsConnectionConfig so it is application-controlled. Alternatively, ensure that every KmsClient implementation validates the host of received KMS URLs before using them.

4

How does version 26.0.0 change the default behavior?

Version 26.0.0 disables file-controlled KMS URLs by default. Enabling this behavior requires opting in through the read_kms_url flag in DecryptionConfiguration; deployments that opt in must still ensure KmsClients validate KMS URLs.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203