剣 KENSAI
Kritisch CVE-2025-30065 April 2026 · 8 Minuten Lesezeit

CVE-2025-30065: Apache Parquet Schema Deserialisierung RCE

Eine Sicherheitslücke mit maximalem Schweregrad in der Java-Bibliothek von Apache Parquet ermöglicht es Angreifern, beliebigen Code auf jedem System auszuführen, das eine in böser Absicht erstellte Parquet-Datei liest. CVSS 10.0. Betrifft praktisch jede Big-Data-Pipeline, die das Parquet-Format verwendet – Spark, Flink, Hive und Cloud-Data-Warehouses.


10.0
KRITISCH (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 vorhanden)

Was ist CVE-2025-30065?

Apache Parquet ist ein säulenförmiges Speicherformat, das in Big-Data-Ökosystemen weit verbreitet ist. Das parquet-avro-Modul in Versionen bis 1.15.0 enthält eine Deserialisierungsschwachstelle im Schema-Parsing-Code. Wenn eine Java-Anwendung eine Parquet-Datei liest, die ein manipuliertes Avro-Schema enthält, deserialisiert der Parser vom Angreifer kontrollierte Klassenverweise, was zur Ausführung willkürlichen Codes im Kontext der lesenden Anwendung führt.

Dies ist besonders gefährlich, da Datenpipelines routinemäßig Parquet-Dateien aus externen Quellen aufnehmen: S3-Buckets, Datenpartner, Benutzer-Uploads, ETL-Integrationen. Jede Pipeline, die nicht vertrauenswürdige Parquet-Dateien verarbeitet, ist anfällig.

⚠ Supply-Chain-Angriffsvektor

CVE-2025-30065 schafft ein überzeugendes Angriffsszenario für die Lieferkette: Ein Angreifer, der bösartige Parquet-Dateien in eine Datenpipeline einschleusen kann (über einen kompromittierten Datenanbieter, eine S3-Bucket-Fehlkonfiguration oder einen Man-in-the-Middle-Angriff), erhält Codeausführung in der Datenverarbeitungsinfrastruktur – möglicherweise AWS EMR, Databricks, Azure HDInsight oder lokale Hadoop-Cluster, die mit privilegierten Cloud-Anmeldeinformationen ausgeführt werden.

Betroffene Systeme

KomponenteBetroffene VersionenFixierte Version parquet-avro (Java)<= 1.15.01.15.1+ Apache Spark (verwendet Parquet-Avro)Alle, die die betroffene Bibliothek verwendenBibliothek aktualisieren Apache FlinkJeder, der die betroffene Bibliothek verwendetBibliothek aktualisieren Apache HiveAlle, die die betroffene Bibliothek verwendenBibliothek aktualisieren Amazon EMRVersionen, die parquet-avro <= 1.15.0 verwendenEMR aktualisieren oder JAR überschreiben Databricks RuntimeVersionen, die die betroffene Bibliothek verwendenDatabricks-Patch-DBR-Versionen

Technische Details

Die Sicherheitslücke liegt in der Klasse AvroSchemaConverter innerhalb von parquet-avro. Beim Konvertieren des Parquet-Schemas in das Avro-Schema verarbeitet der Code Schema-Metadaten, die beliebige Klassennamen enthalten können. Diese Klassennamen werden bei der reflektierenden Instanziierung ohne Zulassungslistenvalidierung 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]"
  }
}

Ausnutzung der Gadget-Kette

Der Angreifer erstellt eine Parquet-Datei, in der die Metadaten des Avro-Schemas auf eine Java-Gadget-Kette verweisen – eine Folge von Klasseninstanziierungen, die letztendlich zur Ausführung willkürlichen Codes führt. Commons Collections, Spring Framework und andere gängige Java-Bibliotheken bieten geeignete Gadget-Ketten für diesen Angriff.

Wer wird entlarvt

Jede Java-Anwendung, die:

Zu den Umgebungen mit hohem Risiko gehören:

Abhilfe

  1. Aktualisieren Sie parquet-java auf 1.15.1+: Der Fix fügt eine Zulassungslistenvalidierung für Klassennamen in Schemametadaten hinzu
  2. Parquet-Dateiquellen prüfen: Inventarisieren Sie alle Speicherorte, an denen Parquet-Dateien in Ihre Umgebung gelangen
  3. Dateiquellenvalidierung implementieren: Nur Parquet-Dateien aus kryptografisch verifizierten Quellen verarbeiten
  4. Datenpipelines mit minimalen Berechtigungen ausführen: Begrenzen Sie den Blast-Radius, indem Sie sicherstellen, dass Pipeline-Ausführungsrollen über IAM-Richtlinien mit den geringsten Berechtigungen verfügen
  5. Einschränkungen für ausgehenden Netzwerkverkehr: Datenverarbeitungscluster sollten über einen eingeschränkten ausgehenden Internetzugriff verfügen, um die Auswirkungen nach der Ausnutzung zu begrenzen
  6. Stellen Sie Java-Deserialisierungsschutz bereit: Tools wie SerialKiller können einen umfassenden Schutz gegen Deserialisierungsangriffe bieten

KENSAI-Erkennungsfähigkeit

Ist Ihre Datenpipeline anfällig für CVE-2025-30065?

KENSAI scannt Ihre Java-Anwendungen, Container-Images und Cloud-Dateninfrastruktur auf anfällige Parquet-Versionen. Schützen Sie Ihre Datenpipelines, bevor Angreifer sie ausnutzen.

Scannen Sie Ihre Dateninfrastruktur →

Verwandte Artikel

Der Artikel wurde im letzten Jahr veröffentlicht AWS bietet Ihnen die Möglichkeit, Ihren Browser zu öffnen Umleitung... LeakNet Ransomware übernimmt ClickFix + Deno Runtime