{"id":"CVE-2026-31072","aliases":["DEBIAN-CVE-2026-31072","EUVD-2026-30947","GHSA-9cfw-f3f9-7mm7","PYSEC-2026-282","UBUNTU-CVE-2026-31072"],"status":"published","title":"APScheduler's JSONSerializer and CBORSerializer are vulnerable to Remote Code Execution (RCE) via Insecure Deserialization","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","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-09","score":0.0081,"percentile":0.57165,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-502"],"published":"2026-05-19T00:00:00Z","modified":"2026-10-27T16:15:05Z","affected":[{"source":"ghsa","ecosystem":"PyPI","package":"apscheduler","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0a1"},{"last_affected":"4.0.0a6"}]}]},{"source":"osv","ecosystem":"PyPI","package":"apscheduler","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0a1"},{"last_affected":"4.0.0a6"}]}],"versions":["4.0.0a1","4.0.0a2","4.0.0a3","4.0.0a4","4.0.0a5","4.0.0a6"]},{"source":"osv","ecosystem":"PyPI","package":"apscheduler","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0a1"},{"last_affected":"4.0.0a6"}]}],"versions":["4.0.0a1","4.0.0a2","4.0.0a3","4.0.0a4","4.0.0a5","4.0.0a6"]}],"products":[{"vendor":"red hat","product":"red hat ansible automation platform 2"},{"vendor":"red hat","product":"red hat openstack platform 18.0"},{"vendor":"red hat","product":"red hat quay 3"},{"vendor":"red hat","product":"red hat satellite 6"}],"references":[{"url":"https://github.com/agronholm/apscheduler","tags":["package","report"]},{"url":"https://gist.github.com/nedlir/11fb77f35a59cbba73392a086b02a9c6","tags":["exploit","web","report"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-31072","tags":["vdb-entry","x_refsource_REDHAT","web"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2479907","tags":["issue-tracking","x_refsource_REDHAT","web"]},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31072.json","tags":["x_sadp-csaf-vex","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31072","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/apscheduler/PYSEC-2026-282.yaml","tags":["web"]},{"url":"https://pypi.org/project/apscheduler","tags":["web","package"]},{"url":"https://github.com/advisories/GHSA-9cfw-f3f9-7mm7","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-31072","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-31072","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-31072","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-31072","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","status":"published","published":"2026-05-19T00:00:00Z","modified":"2026-07-15T01:09:35.786Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp"},{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"adp"}],"cwes":["CWE-502","CWE-502"],"updated_at":"2026-11-02T14:19:50.92611Z"}],"euvd":[{"id":"EUVD-2026-30947","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","status":"published","published":"2026-05-19T00:00:00Z","modified":"2026-07-15T01:09:35Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T18:19:55.842782Z"}],"ghsa":[{"id":"GHSA-9cfw-f3f9-7mm7","title":"APScheduler's JSONSerializer and CBORSerializer are vulnerable to Remote Code Execution (RCE) via Insecure Deserialization","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","status":"published","published":"2026-05-19T18:32:11Z","modified":"2026-10-27T15:58:30Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:41:37.912288Z"}],"nvd":[{"id":"CVE-2026-31072","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","status":"published","published":"2026-05-19T16:16:20.61Z","modified":"2026-07-24T12:10:00.21Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"},{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:12:19.752984Z"}],"osv":[{"id":"GHSA-9cfw-f3f9-7mm7","title":"APScheduler's JSONSerializer and CBORSerializer are vulnerable to Remote Code Execution (RCE) via Insecure Deserialization","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","status":"published","published":"2026-05-19T18:32:11Z","modified":"2026-10-27T16:15:05.357367646Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T15:46:43.524801Z"},{"id":"PYSEC-2026-282","title":"APScheduler's JSONSerializer and CBORSerializer are vulnerable to Remote Code Execution (RCE) via Insecure Deserialization","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","status":"published","published":"2026-06-29T11:50:49.946441Z","modified":"2026-07-01T20:22:49.421836Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:56.429374Z"},{"id":"UBUNTU-CVE-2026-31072","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","status":"withdrawn","published":"2026-05-19T16:16:00Z","modified":"2026-06-10T01:15:08.023140434Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T16:56:11.640778Z"},{"id":"DEBIAN-CVE-2026-31072","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","status":"withdrawn","published":"2026-05-19T16:16:20.61Z","modified":"2026-06-13T02:01:38.2824127Z","updated_at":"2026-11-02T15:45:53.877573Z"}]}}
