剣 KENSAI
Critical CVE-2025-30065 April 2026 · 8 min read

CVE-2025-30065: Apache Parquet Schema Deserialization RCE

Eine Remote-Code-Execution-Schwachstelle mit maximaler Schwere in der Java-Bibliothek von Apache Parquet erlaubt Angreifern, auf jedem System, das eine bösartig präparierte Parquet-Datei liest, beliebigen Code auszuführen. CVSS 10.0. Betrifft praktisch jede Big-Data-Pipeline, die das Parquet-Format nutzt — Spark, Flink, Hive und Cloud-Data-Warehouses.


10.0
CRITICAL (MAX)
AttributWert
CVE-IDCVE-2025-30065
CVSS-VektorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-502: Deserialisierung nicht vertrauenswürdiger Daten
Veröffentlicht1. April 2025
AusnutzungKeine aktive Ausnutzung gemeldet (öffentlicher PoC existiert)

Was ist CVE-2025-30065?

Apache Parquet ist ein spaltenorientiertes Speicherformat, das in Big-Data-Ökosystemen weit verbreitet ist. Das parquet-avro-Modul enthält in Versionen bis 1.15.0 eine Deserialisierungs-Schwachstelle im Schema-Parsing-Code. Wenn eine Java-Anwendung eine Parquet-Datei mit einem präparierten Avro-Schema liest, deserialisiert der Parser angreiferkontrollierte Klassenreferenzen, was zu beliebiger Code-Ausführung im Kontext der lesenden Anwendung führt.

Dies ist besonders gefährlich, weil Daten-Pipelines routinemäßig Parquet-Dateien aus externen Quellen einlesen: S3-Buckets, Datenpartner, Nutzer-Uploads, ETL-Integrationen. Jede Pipeline, die nicht vertrauenswürdige Parquet-Dateien verarbeitet, ist verwundbar.

⚠ Supply-Chain-Angriffsvektor

CVE-2025-30065 schafft ein überzeugendes Supply-Chain-Angriffsszenario: Ein Angreifer, der bösartige Parquet-Dateien in eine Daten-Pipeline einschleusen kann (über einen kompromittierten Datenlieferanten, eine S3-Bucket-Fehlkonfiguration oder einen Man-in-the-Middle-Angriff), erlangt Code-Ausführung in der Datenverarbeitungs-Infrastruktur — potenziell AWS EMR, Databricks, Azure HDInsight oder On-Premises-Hadoop-Cluster, die mit privilegierten Cloud-Credentials laufen.

Betroffene Systeme

KomponenteBetroffene VersionenBehobene Version
parquet-avro (Java)<= 1.15.01.15.1+
Apache Spark (nutzt parquet-avro)Alle mit betroffener BibliothekBibliothek aktualisieren
Apache FlinkAlle mit betroffener BibliothekBibliothek aktualisieren
Apache HiveAlle mit betroffener BibliothekBibliothek aktualisieren
Amazon EMRVersionen mit parquet-avro <= 1.15.0EMR upgraden oder JAR überschreiben
Databricks RuntimeVersionen mit betroffener BibliothekDatabricks patcht DBR-Versionen

Technische Details

Die Schwachstelle befindet sich in der Klasse AvroSchemaConverter innerhalb von parquet-avro. Beim Konvertieren des Parquet-Schemas in ein Avro-Schema verarbeitet der Code Schema-Metadaten, die beliebige Klassennamen enthalten können. Diese Klassennamen werden in einer reflektiven Instanziierung ohne Allowlist-Validierung verwendet.

# 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]"
  }
}

Gadget-Chain-Ausnutzung

Der Angreifer erstellt eine Parquet-Datei, in der die Avro-Schema-Metadaten auf eine Java-Gadget-Chain verweisen — eine Abfolge von Klasseninstanziierungen, die letztlich zu beliebiger Code-Ausführung führt. Commons Collections, Spring Framework und andere gängige Java-Bibliotheken liefern geeignete Gadget-Chains für diesen Angriff.

Wer ist exponiert

Jede Java-Anwendung, die:

Zu den Hochrisiko-Umgebungen gehören:

Mitigation

  1. parquet-java auf 1.15.1+ upgraden: Der Fix fügt eine Allowlist-Validierung für Klassennamen in Schema-Metadaten hinzu
  2. Parquet-Dateiquellen auditieren: Inventarisieren Sie alle Orte, an denen Parquet-Dateien in Ihre Umgebung gelangen
  3. Dateiquellen-Validierung implementieren: Verarbeiten Sie nur Parquet-Dateien aus kryptografisch verifizierten Quellen
  4. Daten-Pipelines mit minimalen Rechten betreiben: Begrenzen Sie den Blast-Radius, indem Pipeline-Ausführungsrollen Least-Privilege-IAM-Policies erhalten
  5. Netzwerk-Egress-Beschränkungen: Datenverarbeitungs-Cluster sollten eingeschränkten ausgehenden Internetzugang haben, um den Post-Exploitation-Impact zu begrenzen
  6. Java-Deserialisierungs-Schutz einsetzen: Tools wie SerialKiller bieten Defense-in-Depth gegen Deserialisierungs-Angriffe

KENSAI-Erkennungsfähigkeit

Ist Ihre Daten-Pipeline für CVE-2025-30065 verwundbar?

KENSAI scannt Ihre Java-Anwendungen, Container-Images und Cloud-Daten-Infrastruktur auf verwundbare Parquet-Versionen. Schützen Sie Ihre Daten-Pipelines, bevor Angreifer sie ausnutzen.

Ihre Daten-Infrastruktur scannen →

Related Articles

المفوضية الأوروبية تحقق في اختراق سحابة AWS، المجلس يفرض عقوبات على شركات سيبران Redirecting... LeakNet Ransomware Adopts ClickFix + Deno Runtime