Skip to content

[C++][Parquet] KMS URL pass-through should be configurable #51349

Closed

Description

@adamreeve

If a user hasn't configured the KMS URL in their KmsConnectionConfig, it will be read from metadata embedded in the Parquet file (in GetKmsClientFromConfigOrKeyMaterial). This means an attacker could craft a Parquet file with the KMS URL set to a host they control, and if the user's KMS client implementation doesn't validate the received URL, it might send an access token to that URL, unintentionally exposing it.

Whether a KMS URL is passed-through from file key material to the KMS client configuration when reading Parquet should be configurable and disabled by default. Users should have to opt-in to this, thereby acknowledging that they are responsible for validating the KMS URL if they enable this.

This same issue has been addressed in Java Parquet (see apache/parquet-java#3745 and https://lists.apache.org/thread/ro2vomk9xxhv34xhvopgys96c9j8ojm0).

Activity

  1. added a commit that references this issue on Sep 21, 2026
  2. added this to the 26.0.0 milestone on Sep 21, 2026
  3. adamreeve commented on Sep 21, 2026

    @adamreeve
    ContributorAuthor

    Issue resolved by pull request 51350
    #51350

  4. raulcd commented on Oct 20, 2026

    @raulcd
    Member

    @adamreeve should we update the blog post announcing 26.0.0 to add a note about the announced CVE?
    https://github.com/apache/arrow-site/blob/f9bd634469dd747d21c0ec32ec75570e8e0149fc/_posts/2026-10-08-26.0.0-release.md

  5. adamreeve commented on Oct 20, 2026

    @adamreeve
    ContributorAuthor

    Good idea, now that it's announced I'll update the description here and then add something to the announcement post.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions