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
Published: 2026-05-19
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Analysis and contextual insights are available on OpenCVE Cloud.

Remediation

No vendor fix or workaround currently provided.

Additional remediation guidance may be available on OpenCVE Cloud.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9cfw-f3f9-7mm7 APScheduler's JSONSerializer and CBORSerializer are vulnerable to Remote Code Execution (RCE) via Insecure Deserialization
History

Wed, 20 May 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Wed, 20 May 2026 11:45:00 +0000

Type Values Removed Values Added
First Time appeared Agronholm
Agronholm apscheduler
Vendors & Products Agronholm
Agronholm apscheduler

Wed, 20 May 2026 02:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-116

Wed, 20 May 2026 00:15:00 +0000

Type Values Removed Values Added
Title Insecure Deserialization in APScheduler Enabling Arbitrary Code Execution apscheduler: APScheduler: Remote Code Execution via Insecure Deserialization
References
Metrics threat_severity

None

cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Important


Tue, 19 May 2026 17:15:00 +0000

Type Values Removed Values Added
Title Insecure Deserialization in APScheduler Enabling Arbitrary Code Execution
Weaknesses CWE-116
CWE-502

Tue, 19 May 2026 15:45:00 +0000

Type Values Removed Values Added
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
References

Subscriptions

Agronholm Apscheduler
cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-06-30T03:17:32.543Z

Reserved: 2026-03-09T00:00:00.000Z

Link: CVE-2026-31072

cve-icon Vulnrichment

Updated: 2026-05-20T15:03:44.297Z

cve-icon NVD

Status : Deferred

Published: 2026-05-19T16:16:20.610

Modified: 2026-06-17T10:33:21.677

Link: CVE-2026-31072

cve-icon Redhat

Severity : Important

Publid Date: 2026-05-19T00:00:00Z

Links: CVE-2026-31072 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-05-20T18:00:14Z

Weaknesses