CVE-2025-62515
Published: 17 October 2025
Summary
CVE-2025-62515 is a critical-severity Deserialization of Untrusted Data (CWE-502) vulnerability. Its CVSS base score is 9.8 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 31.4% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified are NIST 800-53 SI-10 (Information Input Validation) and SI-2 (Flaw Remediation).
Threat & Defense at a Glance
Threat & Defense Details
Mitigating Controls (NIST 800-53 r5)AI
Directly requires identification, reporting, and correction of the unsafe pickle.loads deserialization flaw in pyquokka's FlightServer, addressing the root cause of remote code execution.
Mandates validation of untrusted information inputs such as Flight client action bodies before deserialization to block malicious pickled payloads.
Enforces boundary protection at network interfaces to restrict unauthorized remote access to the vulnerable FlightServer when bound to 0.0.0.0.
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
The vulnerability is a critical unauthenticated remote code execution in a network-exposed FlightServer component of the pyquokka framework, directly enabling exploitation of a public-facing application.
NVD Description
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 do_action() method.…
more
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 set_configs action. Additional vulnerability points exist in the cache_garbage_collect, do_put, and do_get functions where pickle.loads is used to deserialize untrusted remote data.
Deeper analysisAI
CVE-2025-62515 affects pyquokka, a framework for making data lakes work for time series data, in versions 0.3.1 and prior. The vulnerability stems from the FlightServer class directly using pickle.loads() to deserialize action bodies received from Flight clients without sanitization or validation in the do_action() method, located in pyquokka/flight.py at line 283. Additional deserialization flaws exist in the cache_garbage_collect, do_put, and do_get functions, where untrusted remote data is processed via pickle.loads(). This CWE-502 issue (Deserialization of Untrusted Data) carries a CVSS v3.1 base score of 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), indicating critical severity due to its network accessibility and lack of prerequisites.
Attackers with network access can exploit this vulnerability remotely without authentication. When the FlightServer is configured to listen on 0.0.0.0, adversaries can send malicious pickled payloads through the set_configs action or other vulnerable endpoints, leading to arbitrary remote code execution on the server. This grants high-impact confidentiality, integrity, and availability compromises, as the deserialization executes arbitrary code supplied by the attacker.
For mitigation details, security practitioners should consult the GitHub security advisory at https://github.com/marsupialtail/quokka/security/advisories/GHSA-f74j-gffq-vm9p, published alongside the CVE on 2025-10-17.
Details
- CWE(s)