---
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'
---

## Overview

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

## Affected packages

- `apscheduler >= 4.0.0a1, <= 4.0.0a6`

## Remediation

Refer to the advisory for the patched release.
