剣 KENSAI

CVE-2025-30065: Apache Parquet Schema-deserialisatie RCE

april 2026 8 min leestijd beveiliging

Kort samengevat: Een remote code execution-kwetsbaarheid met maximale ernst in de Java-bibliotheek van Apache Parquet stelt aanvallers in staat willekeurige code uit te voeren op elk systeem dat een kwaadaardig geprepareerd Parquet-bestand leest. CVSS 10.0. Treft vrijwel elke big data-pijplijn die het Parquet-formaat gebruikt — Spark, Flink, Hive en cloud data warehouses.

KenmerkWaarde
CVE IDCVE-2025-30065
CVSS-vectorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-502: Deserialization of Untrusted Data
Gepubliceerd1 april 2025
ExploitatieGeen actieve exploitatie gemeld (publieke PoC bestaat)

CVSS 10.0 — KRITIEK (MAX)

Wat is CVE-2025-30065?

Apache Parquet is een kolomgeoriënteerd opslagformaat dat veel wordt gebruikt in big data-ecosystemen. De module parquet-avro in versies tot en met 1.15.0 bevat een deserialisatiekwetsbaarheid in de schema-parsingcode. Wanneer een Java-applicatie een Parquet-bestand leest met een geprepareerd Avro-schema, deserialiseert de parser door de aanvaller gecontroleerde klasseverwijzingen, wat leidt tot willekeurige code-uitvoering binnen de context van de lezende applicatie.

Dit is bijzonder gevaarlijk omdat datapijplijnen routinematig Parquet-bestanden uit externe bronnen inlezen: S3-buckets, datapartners, gebruikersuploads, ETL-integraties. Elke pijplijn die niet-vertrouwde Parquet-bestanden verwerkt, is kwetsbaar.

⚠ Supply chain-aanvalsvector

CVE-2025-30065 creëert een aantrekkelijk supply chain-aanvalsscenario: een aanvaller die kwaadaardige Parquet-bestanden in een datapijplijn kan injecteren (via een gecompromitteerde dataleverancier, een verkeerd geconfigureerde S3-bucket, of een man-in-the-middle-aanval) verkrijgt code-uitvoering in de dataverwerkingsinfrastructuur — mogelijk AWS EMR, Databricks, Azure HDInsight, of on-premises Hadoop-clusters die draaien met geprivilegieerde cloudcredentials.

Getroffen systemen

ComponentGetroffen versiesGerepareerde versie
parquet-avro (Java)<= 1.15.01.15.1+
Apache Spark (gebruikt parquet-avro)Elke versie met getroffen bibliotheekBibliotheek bijwerken
Apache FlinkElke versie met getroffen bibliotheekBibliotheek bijwerken
Apache HiveElke versie met getroffen bibliotheekBibliotheek bijwerken
Amazon EMRVersies met parquet-avro <= 1.15.0EMR upgraden of JAR overschrijven
Databricks RuntimeVersies met getroffen bibliotheekDatabricks-patch voor DBR-versies

Technische details

De kwetsbaarheid bevindt zich in de klasse AvroSchemaConverter binnen parquet-avro. Bij het converteren van Parquet-schema naar Avro-schema verwerkt de code schemametadata die willekeurige klassenamen kan bevatten. Deze klassenamen worden gebruikt bij reflectieve instantiatie zonder allowlist-validatie.

# Conceptual representation of vulnerable code path
public Schema convert(MessageType parquetSchema) {
    // Schema metadata can contain attacker-controlled strings
    String javaClass = parquetSchema.getField("java_class");
    // Dangerous: instantiates arbitrary class from string
    Class clazz = Class.forName(javaClass);  // RCE here
    return clazz.newInstance();
}
# Crafted Parquet file with malicious schema (conceptual)
{
  "schema": {
    "type": "record",
    "name": "exploit",
    "fields": [],
    "java_class": "com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl",
    "avro.java.string": "[base64-encoded malicious bytecode]"
  }
}

Exploitatie via gadget chains

De aanvaller maakt een Parquet-bestand waarin de Avro-schemametadata verwijst naar een Java gadget chain — een reeks klasse-instantiaties die uiteindelijk leidt tot willekeurige code-uitvoering. Commons Collections, Spring Framework en andere veelgebruikte Java-bibliotheken leveren geschikte gadget chains voor deze aanval.

Wie is blootgesteld

Elke Java-applicatie die:

Omgevingen met hoog risico zijn onder andere:

Mitigatie

  1. Upgrade parquet-java naar 1.15.1+: de fix voegt allowlist-validatie toe voor klassenamen in schemametadata
  2. Audit Parquet-bestandsbronnen: inventariseer alle plekken waar Parquet-bestanden uw omgeving binnenkomen
  3. Implementeer validatie van bestandsbronnen: verwerk alleen Parquet-bestanden uit cryptografisch geverifieerde bronnen
  4. Draai datapijplijnen met minimale rechten: beperk de impact door pijplijn-uitvoeringsrollen least-privilege IAM-beleid te geven
  5. Netwerk-egressbeperkingen: dataverwerkingsclusters moeten beperkte uitgaande internettoegang hebben om post-exploitatie-impact te beperken
  6. Implementeer beschermingen tegen Java-deserialisatie: tools zoals SerialKiller bieden extra verdedigingslagen tegen deserialisatie-aanvallen

KENSAI-detectiemogelijkheden

Is uw datapijplijn kwetsbaar voor CVE-2025-30065?

KENSAI scant uw Java-applicaties, containerimages en cloud-datainfrastructuur op kwetsbare Parquet-versies. Bescherm uw datapijplijnen voordat aanvallers ze exploiteren.

Scan uw datainfrastructuur