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 (RCE) via Insecure Deserialization.
Does this matter?
High impact if exploited, but EPSS currently rates exploitation as unlikely (0.81%). Schedule it in the normal patch cycle and watch for a rise in EPSS or a public exploit.
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
- CVSS 3.1
- 9.8 CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- EPSS
- 0.81% probability · 55th percentile
- CISA KEV
- Not listed
- Weakness
- CWE-502
- Source
- cve@mitre.org
References
- https://gist.github.com/nedlir/11fb77f35a59cbba73392a086b02a9c6
- https://github.com/agronholm/apscheduler
- https://access.redhat.com/security/cve/CVE-2026-31072
- https://bugzilla.redhat.com/show_bug.cgi?id=2479907
- https://gist.github.com/nedlir/11fb77f35a59cbba73392a086b02a9c6
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31072.json
Source: NVD record, EPSS from FIRST.org, KEV from CISA. Refreshed daily.