GitHub Advisoryadvisory · PyPI
GHSA-9cfw-f3f9-7mm7 APScheduler's JSONSerializer and CBORSerializer are vulnerable to Remote Code Execution (RCE) via Insecure Deserialization
CRITICAL
Official page ↗
- Aliases
- CVE-2026-31072
- Ecosystem
- PyPI
- Packages
- apscheduler
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-502
- Reviewed
- 2026-06-04
Affected packages
• PyPI apscheduler: >= 4.0.0a1, <= 4.0.0a6 (no fix yet)
Description
The JSONSerializer and CBORSerializer in APScheduler (all versions including 3.10.x and 4.0.0a5) are vulnerable to Remote Code Execution (RCE) via Insecure Deserialization. The unmarshal_object function allows for arbitrary class instantiation and state injection by dynamically importing modules and calling __setstate__ on any class available in the Python environment. An attacker can exploit this by submitting a specially crafted JSON or CBOR payload to an application using these serializers
Related
Alias · CVE (1)
- CVE-2026-31072 The JSONSerializer and CBORSerializer in APScheduler (all versions including 3.10.x and 4.0.0a5) are vulnerable to Remote Code Execution… vulnerability
Weakness · CWE (1)
- CWE-502 Deserialization of Untrusted Data weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-31072 advisory
- https://access.redhat.com/security/cve/CVE-2026-31072 web
- https://bugzilla.redhat.com/show_bug.cgi?id=2479907 web
- https://gist.github.com/nedlir/11fb77f35a59cbba73392a086b02a9c6 web
- https://github.com/agronholm/apscheduler package
- https://github.com/pypa/advisory-database/tree/main/vulns/apscheduler/PYSEC-2026-282.yaml web
- https://pypi.org/project/apscheduler web
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31072.json web