La vulnerabilidad de Apache Parquet en Java permite a los atacantes ejecutar código arbitrario

Se ha identificado una vulnerabilidad de seguridad crítica en Apache Parquet Java que podría permitir a actores maliciosos ejecutar código arbitrario mediante archivos Parquet manipulados.

Esta vulnerabilidad, registrada bajo la identificación CVE-2025-46762, impacta a todas las versiones de Apache Parquet Java hasta la 1.15.1 inclusive.

Apache Parquet es un formato de archivo columnar ampliamente utilizado para el almacenamiento y la recuperación eficiente de datos en entornos de big data. Su extensa adopción en plataformas de procesamiento como Apache Hadoop, Spark y Flink implica que esta vulnerabilidad podría tener un alcance considerable en las infraestructuras de análisis de datos.

La falla de seguridad reside en el módulo parquet-avro, que es responsable de procesar los esquemas Avro incrustados en los metadatos del archivo Parquet.

Si bien Apache Parquet 1.15.1 introdujo una solución para restringir los paquetes que no son de confianza en marzo de 2025, los investigadores de seguridad descubrieron que la configuración predeterminada de los paquetes confiables seguía siendo permisiva, lo que aún permitía que se ejecutaran clases maliciosas de estos paquetes.

Según el aviso publicado por Apache Software Foundation, «el análisis de esquemas en el módulo parquet-avro de Apache Parquet 1.15.0 y versiones anteriores permite a los malos actores ejecutar código arbitrario».

«Si bien la versión 1.15.1 introdujo una solución para restringir los paquetes que no son de confianza, la configuración predeterminada de los paquetes confiables todavía permite que se ejecuten clases maliciosas de estos paquetes».

El exploit se dirige específicamente a aplicaciones que utilizan los modelos «específicos» o «reflejos» para leer archivos Parquet, mientras que el modelo «genérico» no se ve afectado.

Esta vulnerabilidad es particularmente preocupante para las canalizaciones de procesamiento de datos que pueden ingerir archivos Parquet de fuentes no confiables.

Las aplicaciones que utilizan el módulo parquet-avro de Apache Parquet Java para deserializar datos de archivos Parquet corren el riesgo de ejecución remota de código si procesan archivos que no son de confianza.

La vulnerabilidad surge de cómo se manejan los esquemas Avro durante la deserialización, lo que potencialmente permite a los atacantes inyectar código malicioso que se ejecuta durante el análisis del esquema.

Los expertos en seguridad señalan que esta vulnerabilidad sigue a una falla de deserialización similar (CVE-2025-30065) descubierta en abril de 2025, que también afectó al módulo parquet-avro.

La vulnerabilidad fue informada responsablemente por los investigadores de seguridad Andrew Pikler, David Handermann y Nándor Kollár, quienes identificaron el problema como parte de una investigación de seguridad en curso sobre vulnerabilidades de serialización.

Los detalles de la vulnerabilidad son los siguientes:

  • Productos afectados: Apache Parquet Java hasta la versión 1.15.1 (específicamente el módulo parquet-avro).
  • Impacto: Ejecución de código arbitrario.
  • Requisitos: La aplicación utiliza Apache Parquet Java ≤ 1.15.1 – Se utiliza el módulo parquet-avro – Los modelos Avro «específicos» o «reflejos» se utilizan deliberadamente para leer archivos Parquet – El atacante debe proporcionar un archivo Parquet diseñado con un esquema Avro malicioso.
  • Puntuación CVSS 3.1: Crítica.

Se recomienda encarecidamente a las organizaciones que utilizan versiones afectadas de Apache Parquet Java que tomen medidas inmediatas.

El equipo de Apache Parquet lanzó la versión 1.15.2 el 1 de mayo de 2025, que soluciona completamente la vulnerabilidad.

Los usuarios tienen dos opciones de solución recomendadas:

  • Actualice a Apache Parquet Java 1.15.2, que incluye correcciones integrales para la vulnerabilidad.
  • Para aquellos que no pueden actualizar inmediatamente pero ejecutan la versión 1.15.1, establezca la propiedad del sistema org.apache.parquet.avro.SERIALIZABLE_PACKAGES en una cadena vacía:

Ambas estrategias propuestas logran mitigar eficazmente la vulnerabilidad, previniendo la ejecución de código malicioso originado en paquetes de confianza.

Se recomienda encarecidamente a las organizaciones que emplean Apache Parquet en sus flujos de datos que realicen una auditoría inmediata de sus sistemas e implementen las medidas de mitigación aconsejadas para prevenir una posible explotación.