/

CVE-2026-92287

Severity:

HIGH RISK

(8.1)

Improper Input Validation (CWE-20) in Parquet KMS Client

CVE-2026-92287

Awaiting Analysis

Vulnerability type

Category:

Improper Input Validation

CWE:

CWE-20

Impact:

KMS Credential or Token Disclosure

Severity:

HIGH RISK

(8.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Apache C++ Parquet and PyArrow can pass a KMS URL taken from a Parquet file to a pluggable KmsClient without validating it. If the client uses that URL and does not verify its host, an attacker may cause KMS credentials or tokens to be sent to a malicious server when a crafted file is read.

Apache C++ Parquet and PyArrow can pass a KMS URL taken from a Parquet file to a pluggable KmsClient without validating it. If the client uses that URL and does not verify its host, an attacker may cause KMS credentials or tokens to be sent to a malicious server when a crafted file is read.

Affected context

The issue affects applications using Apache C++ Parquet or PyArrow versions 4.0.0 through 25.0.1 to read encrypted Parquet files with decryption properties and a custom or pluggable KmsClient implementation. Risk is higher when the reader permits the KMS URL to be obtained from file metadata rather than defining it through trusted application configuration, and when the KmsClient does not validate the destination host.

The issue affects applications using Apache C++ Parquet or PyArrow versions 4.0.0 through 25.0.1 to read encrypted Parquet files with decryption properties and a custom or pluggable KmsClient implementation. Risk is higher when the reader permits the KMS URL to be obtained from file metadata rather than defining it through trusted application configuration, and when the KmsClient does not validate the destination host.

Exploit preconditions

  • Attack surface: Parquet file ingestion and decryption
  • Required access: Ability to provide or influence a Parquet file that the target application reads
  • Trigger point: Processing encrypted-file metadata and resolving the KMS URL
  • Additional condition: The configured KmsClient must use the supplied URL without independently validating its host
  • Why exploitation is possible: An attacker-controlled KMS URL can be forwarded to an unintended endpoint, where authentication material or KMS tokens may be exposed
  • Attack surface: Parquet file ingestion and decryption
  • Required access: Ability to provide or influence a Parquet file that the target application reads
  • Trigger point: Processing encrypted-file metadata and resolving the KMS URL
  • Additional condition: The configured KmsClient must use the supplied URL without independently validating its host
  • Why exploitation is possible: An attacker-controlled KMS URL can be forwarded to an unintended endpoint, where authentication material or KMS tokens may be exposed

Why this happens

The vulnerability results from accepting a KMS endpoint from file-controlled input and passing it through to a KmsClient without enforcing trust or destination validation. This is an instance of CWE-20: Improper Input Validation, because externally influenced URL data is treated as an acceptable service endpoint without sufficient syntactic, semantic, or host-based checks.

The vulnerability results from accepting a KMS endpoint from file-controlled input and passing it through to a KmsClient without enforcing trust or destination validation. This is an instance of CWE-20: Improper Input Validation, because externally influenced URL data is treated as an acceptable service endpoint without sufficient syntactic, semantic, or host-based checks.

Potential impact

  • KMS tokens or authentication credentials may be sent to an attacker-controlled host
  • Confidentiality of encryption-service authentication material could be reduced
  • An attacker could observe, log, or misuse requests received by the malicious endpoint
  • Applications may experience decryption failures or availability impacts
  • KMS tokens or authentication credentials may be sent to an attacker-controlled host
  • Confidentiality of encryption-service authentication material could be reduced
  • An attacker could observe, log, or misuse requests received by the malicious endpoint
  • Applications may experience decryption failures or availability impacts

General mitigation guidance

Mitigation generally focuses on preventing untrusted file metadata from selecting security-sensitive service endpoints.

Common defensive patterns include:

  • Prefer application-configured KMS URLs over file-controlled values
  • Disable file-controlled KMS URL handling by default unless there is a justified trust relationship
  • Require KmsClient implementations to validate URL schemes, hosts, ports, and allowed service destinations
  • Use explicit allowlists for approved KMS endpoints and reject ambiguous or unexpected URLs
  • Minimize token scope and apply least privilege to KMS credentials
  • Treat input files as untrusted and preserve trust boundaries during decryption

Mitigation generally focuses on preventing untrusted file metadata from selecting security-sensitive service endpoints.

Common defensive patterns include:

  • Prefer application-configured KMS URLs over file-controlled values
  • Disable file-controlled KMS URL handling by default unless there is a justified trust relationship
  • Require KmsClient implementations to validate URL schemes, hosts, ports, and allowed service destinations
  • Use explicit allowlists for approved KMS endpoints and reject ambiguous or unexpected URLs
  • Minimize token scope and apply least privilege to KMS credentials
  • Treat input files as untrusted and preserve trust boundaries during decryption

How teams detect issues like this

Organizations can detect this class of issue through:

  • Static analysis and code review rules that identify externally controlled URLs passed to network clients
  • Reviews of KmsClient implementations for missing host, scheme, port, and redirect validation
  • Tests using crafted encrypted files to confirm that file metadata cannot redirect KMS requests
  • Runtime network policies that restrict KMS clients to approved destinations
  • Logging and alerting for KMS requests to unexpected hosts or schemes
  • Automated dependency and security review tools that flag unsafe endpoint handling patterns

Organizations can detect this class of issue through:

  • Static analysis and code review rules that identify externally controlled URLs passed to network clients
  • Reviews of KmsClient implementations for missing host, scheme, port, and redirect validation
  • Tests using crafted encrypted files to confirm that file metadata cannot redirect KMS requests
  • Runtime network policies that restrict KMS clients to approved destinations
  • Logging and alerting for KMS requests to unexpected hosts or schemes
  • Automated dependency and security review tools that flag unsafe endpoint handling patterns

Sources

SourceLink
github.comgithub.com/apache/arrow/issues/51349
lists.apache.orglists.apache.org/thread/0t6vry0msbk9dpsd0xv395ov5b84hj57
openwall.comopenwall.com/lists/oss-security/2026/10/19/6

Frequently asked

questions

It can be triggered remotely when an application reads an attacker-provided or otherwise untrusted Parquet file. Exploitation still depends on the reader allowing file-controlled KMS URLs and the KmsClient failing to validate them.

An attacker generally needs a way to supply or influence a Parquet file that the target application processes. Direct access to the KMS or application host is not necessarily required.

Use a trusted, application-defined KMS URL and ensure every KmsClient validates received URLs against an explicit allowlist before making a request. File-controlled endpoints should remain disabled unless they are required and carefully constrained.

Treat service URLs from files as untrusted input, enforce destination validation in the client implementation, apply restrictive network policies, and test encrypted-file handling with adversarial metadata.

It can be triggered remotely when an application reads an attacker-provided or otherwise untrusted Parquet file. Exploitation still depends on the reader allowing file-controlled KMS URLs and the KmsClient failing to validate them.

An attacker generally needs a way to supply or influence a Parquet file that the target application processes. Direct access to the KMS or application host is not necessarily required.

Use a trusted, application-defined KMS URL and ensure every KmsClient validates received URLs against an explicit allowlist before making a request. File-controlled endpoints should remain disabled unless they are required and carefully constrained.

Treat service URLs from files as untrusted input, enforce destination validation in the client implementation, apply restrictive network policies, and test encrypted-file handling with adversarial metadata.

Find out what's already
exploitable in your codebase.