Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-30065 PoC — Apache Parquet Java: Arbitrary code execution in the parquet-avro module when reading an Avro schema from a Parquet file

Source
Associated Vulnerability
Title:Apache Parquet Java: Arbitrary code execution in the parquet-avro module when reading an Avro schema from a Parquet file metadata (CVE-2025-30065)
Description:Schema parsing in the parquet-avro module of Apache Parquet 1.15.0 and previous versions allows bad actors to execute arbitrary code Users are recommended to upgrade to version 1.15.1, which fixes the issue.
Description
PoC
Readme
# 💥 CVE-2025-30065 - Parquet Deserialization PoC

This project demonstrates a safe proof-of-concept for CVE-2025-30065 using Apache Parquet and Java deserialization.

When a Parquet file containing a serialized Java object is read, the payload executes a visible command to prove code execution.

---

## 📦 Usage

### Generate the Parquet payload:

```bash
docker-compose run --rm maven-parquet mvn compile exec:java -Dexec.mainClass=ParquetPayloadWriter

docker-compose run --rm maven-parquet mvn compile exec:java -Dexec.mainClass=ParquetPayloadReader
```

You should see something like:

[👀 payload output] {output of whoami}

### Won't work in patched 1.15.1
Try to change the version number to 1.15.1 from the vulnerable <1.15.0 in /app/pom.xml. It will no longer work.

### links
[BleepingComputer](https://www.bleepingcomputer.com/news/security/max-severity-rce-flaw-discovered-in-widely-used-apache-parquet/)

[NIST CVE](https://nvd.nist.gov/vuln/detail/CVE-2025-30065)

File Snapshot

[4.0K] /data/pocs/8f770999d7b94c322c5916999e02346bf6837af8 ├── [4.0K] app │   ├── [1.8K] pom.xml │   └── [4.0K] src │   └── [4.0K] main │   └── [4.0K] java │   ├── [1.2K] MaliciousPayload.java │   ├── [2.0K] ParquetPayloadReader.java │   ├── [1.8K] ParquetPayloadWriter.java │   └── [ 350] SerializePayload.java ├── [ 249] docker-compose.yaml └── [ 988] README.md 4 directories, 7 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →