{"id":"CVE-2026-31072","aliases":["GHSA-9cfw-f3f9-7mm7","PYSEC-2026-282"],"title":"APScheduler's JSONSerializer and CBORSerializer are vulnerable to Remote Code Execution (RCE) via Insecure Deserialization","summary":"APScheduler's JSONSerializer and CBORSerializer are vulnerable to Remote Code Execution (RCE) via Insecure Deserialization","severity":"critical","cvss":9.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","vendor":"apscheduler","product":"apscheduler","ecosystem":"pip","affected":["apscheduler >= 4.0.0a1, <= 4.0.0a6"],"published":"2026-05-19","updated":"2026-10-27","sourceUpdated":"2026-10-27T16:15:05.357367646Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-9cfw-f3f9-7mm7","references":[{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31072"},{"url":"https://access.redhat.com/security/cve/CVE-2026-31072"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2479907"},{"url":"https://gist.github.com/nedlir/11fb77f35a59cbba73392a086b02a9c6"},{"url":"https://github.com/agronholm/apscheduler"},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/apscheduler/PYSEC-2026-282.yaml"},{"url":"https://pypi.org/project/apscheduler"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31072.json"},{"url":"https://github.com/advisories/GHSA-9cfw-f3f9-7mm7"}],"tags":["osv","pip","ghsa"],"epss":0.0081,"epssPercentile":0.56705,"cwe":["CWE-502"],"ingestedAt":"2026-10-27T16:11:58.701Z","slug":"CVE-2026-31072","body":"## Overview\n\nThe 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\n\n## Affected packages\n\n- `apscheduler >= 4.0.0a1, <= 4.0.0a6`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"midnight","depthScore":54,"depthScoreParts":{"impact":53.9,"likelihood":0.2,"exploitation":0,"ransomware":0},"changes":[]}