PatchSiren

PatchSiren cyber security CVE debrief

CVE-2021-47952 Jsonpickle CVE debrief

CVE-2021-47952 is a critical Python deserialization issue in jsonpickle 2.0.0. According to the supplied record, a crafted JSON payload using py/repr directives can trigger eval during deserialization and lead to arbitrary Python command execution. Systems that accept untrusted JSON and rely on jsonpickle for object round-tripping should treat this as an immediate remediation item.

Vendor
Jsonpickle
Product
Unknown
CVSS
CRITICAL 9.3
CISA KEV
Not listed in stored evidence
Original CVE published
2026-05-16
Original CVE updated
2026-07-15
Advisory published
2026-05-16
Advisory updated
2026-07-15

Who should care

Security teams and developers using jsonpickle in Python applications, especially services that accept or process attacker-controlled JSON. This is most important for internet-facing APIs, message consumers, data import pipelines, and any workflow that deserializes untrusted content.

Technical summary

The supplied description states that jsonpickle 2.0.0 can deserialize malicious JSON containing py/repr objects in a way that invokes eval, enabling arbitrary code execution. NVD lists the weakness as CWE-94 and rates the issue 9.3 Critical. The practical risk is that untrusted JSON can be converted into executable behavior during object reconstruction.

Defensive priority

Immediate / critical. Prioritize this alongside other remote code execution issues, especially if jsonpickle is reachable through untrusted input paths.

Recommended defensive actions

  • Inventory where jsonpickle is used and identify every path that deserializes attacker-controlled JSON.
  • Upgrade jsonpickle to a non-vulnerable upstream release as soon as possible, and verify the change in deployment artifacts.
  • Until patched, do not deserialize untrusted JSON with jsonpickle; replace it with a safer parser or a restricted data-only format where feasible.
  • Add input validation and trust boundaries around any serialization/deserialization workflow that currently accepts external data.
  • Segment or isolate services that must continue using jsonpickle so a successful deserialization issue has less impact.
  • Review logs and telemetry for unexpected deserialization failures or unusual payload patterns on affected endpoints.

Evidence notes

The debrief is based on the supplied NVD record for CVE-2021-47952, which marks the vulnerability as received and associates it with CWE-94. The supplied description states that jsonpickle 2.0.0 can execute arbitrary Python commands when deserializing malicious JSON containing py/repr objects. No fix version or exploit validation steps were inferred beyond the provided corpus.

Sources and references

Verified primary and authoritative sources

  • CVE-2021-47952 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2021-47952

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2021-47952 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2021-47952

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.