Skip to main content
CVE-2026-31072VulnerabilityPublished Updated

APScheduler's JSONSerializer and CBORSerializer are vulnerable to Remote Code Execution (RCE) via Insecure

Affects apschedulerSource GCVE Database

0
Authoritative record:CVE-2026-31072· Critical 9.8

Not known to be exploited · CVSS 9.8 Critical.

Data as of 27 Oct 2026, 17:43 UTC

CVSS 3.1 base score
9.8Critical
How severe the flaw is on the 0–10 CVSS scale.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 19 May 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Affected software

ProductAffectedFixed in
PyPIapschedulerAffected
  • >=4.0.0a1 <=4.0.0a6
Fixed in–

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

Red Hat does not ship affected versions and thus does not provide fixes. Users should avoid using these vulnerable versions of APScheduler. If upgrading is possible, move to a version that does not include the vulnerable serializers or apply any vendor-provided mitigations once available. Monitor vendor advisories for updates. Avoid deserializing untrusted data with these serializers.

Description

APScheduler versions 4.0.0a1 through 4.0.0a6 contain a critical remote code execution vulnerability in their JSONSerializer and CBORSerializer components due to insecure deserialization. The vulnerability arises from the unmarshal_object function, which allows arbitrary class instantiation and state injection by dynamically importing modules and invoking __setstate__ on any class in the Python environment. An attacker can exploit this by sending a specially crafted JSON or CBOR payload to an application using these serializers, potentially leading to full system compromise. Red Hat does not ship affected versions and no fix is currently provided by them.

References

Community reviews

Loading reviews…