Description

A high-severity vulnerability, tracked as CVE-2025-46762, has been discovered in the Apache Parquet Java library, particularly within its parquet-avro module. This flaw enables attackers to execute arbitrary code by embedding a maliciously crafted Avro schema into the metadata of a Parquet file. All versions up to and including 1.15.1 are affected, posing a significant security risk to systems that ingest data from untrusted or external sources. The issue stems from how the library handles Avro schema deserialization when using the specific or reflect models. These deserialization modes can inadvertently allow Java objects from supposedly safe packages to be instantiated, opening a door for exploitation. Although some safeguards were added in version 1.15.1, the default list of trusted packages remains too permissive, making it possible for attackers to misuse core Java classes to carry out unauthorized actions. The vulnerability is not active under default conditions, but it becomes exploitable under certain circumstances. Specifically, the risk applies when an application utilizes the parquet-avro module, employs the specific or reflect deserialization models, and processes Parquet files from sources that cannot be trusted. Applications that use the generic Avro model are not affected by this flaw and are considered secure against this vector. To address the issue, Apache advises upgrading to version 1.15.2, which introduces stronger default security measures and a more narrowly defined list of trusted packages. If upgrading is not immediately feasible, users running version 1.15.1 should manually configure a secure list of trusted packages through the parquet.avro.trusted-packages system property. Developers are also encouraged to avoid using specific or reflect deserialization models with unverified data and instead opt for the generic model whenever possible to minimize risk.