---
title: "CVE-2025-62515: pyquokka is Vulnerable to Remote Code Execution by Pickle Deserialization via FlightServer"
url: https://erroneo.us/security/cve/CVE-2025-62515/
description: "CVE-2025-62515 (pyquokka (PyPI)): pyquokka is a framework for making data lakes work for time series. In versions 0.3.1 and prior, the FlightServer class…"
type: vulnerability-record
section: "Security Digest"
date_published: 2025-10-17
date_modified: 2025-10-17
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2025-62515"
kev: false
cvss: 9.8
epss: 0.00835
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2025-62515: pyquokka is Vulnerable to Remote Code Execution by Pickle Deserialization via FlightServer

**Signal:** Critical and remotely reachable. No known exploitation yet, but it is network-reachable without credentials. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- Not in CISA KEV , but CISA’s SSVC assessment records a public proof-of-concept, so attack code exists.
- EPSS 0.8% , percentile 57: FIRST’s model estimates a 0.8% chance of exploitation activity in the next 30 days, higher than 57% of all scored CVEs (moderate). EPSS is a probability, not a verdict.
- Remotely reachable with no login and no user interaction. If the vulnerable service is exposed to the internet, prioritize it.
- Only applies if your dependency tree includes pyquokka (PyPI) <= 0.3.1, no fixed version listed . Check your lockfile, including transitive dependencies.

## What it is

pyquokka is a framework for making data lakes work for time series. In versions 0.3.1 and prior, the FlightServer class directly uses pickle.loads() to deserialize action bodies received from Flight clients without any sanitization or validation in the doaction() method. The vulnerable code is located in pyquokka/flight.py at line 283 where arbitrary data from Flight clients is directly passed to pickle.loads(). When FlightServer is configured to listen on 0.0.0.0, this allows attackers across the entire network to perform arbitrary remote code execution by sending malicious pickled payloads through the setconfigs action. Additional vulnerability points exist in the cachegarbagecollect, doput, and doget functions where pickle.loads is used to deserialize untrusted remote data.

## Affected packages

- PyPI `pyquokka` <= 0.3.1 → fixed: none listed

## Affected products (CVE record)

- marsupialtail quokka: <= 3.0.1

## Severity

- GitHub_M CVSS 3.1: 9.8 `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`
- GitHub CVSS 3.1: 9.8 `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation poc , automatable no , technical impact partial .
- FIRST EPSS (model of 2026-10-21): 0.83% probability of exploitation activity in the next 30 days; percentile 57.

## Sources

- [GitHub Advisory GHSA-f74j-gffq-vm9p](https://github.com/advisories/GHSA-f74j-gffq-vm9p)
- [CVE.org record CVE-2025-62515](https://www.cve.org/CVERecord?id=CVE-2025-62515)
- [NVD entry CVE-2025-62515](https://nvd.nist.gov/vuln/detail/CVE-2025-62515)
- [github.com](https://github.com/marsupialtail/quokka/security/advisories/GHSA-f74j-gffq-vm9p)
- [github.com](https://github.com/marsupialtail/quokka/blob/master/pyquokka/flight.py#L283)

---
Source page: https://erroneo.us/security/cve/CVE-2025-62515/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
