Description
An issue in the <code>pickle</code> protocol of Pyro v3.x allows attackers to execute arbitrary code via supplying a crafted pickled string message.
Published: 2026-04-13
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Patch immediately
AI Analysis

Impact

An attacker can supply a maliciously crafted pickled string to Pyro v3.x, which the library deserializes using Python’s pickle protocol without validation. Deserialization triggers execution of arbitrary code embedded in the payload, giving the attacker control over the target process and potentially compromising confidentiality, integrity, and availability. The vulnerability is a case of code injection through unsafe deserialization, classified as CWE‑94.

Affected Systems

Pyro v3.x is an RPC framework for Python. Any deployment of Pyro v3.x that accepts pickled messages from untrusted sources is affected. The vulnerability exists in the pickle protocol handling implemented in the Pyro library, and all releases of Pyro v3.x are at risk until an update is released.

Risk and Exploitability

The vulnerability carries a CVSS score of 9.8, indicating critical severity. The current EPSS score is <1%, reflecting a low but nonzero probability of exploitation. It is not listed in the CISA KEV catalog. The attack vector is remote and requires only that a malicious pickled payload be sent to a Pyro service. Based on the description, it is inferred that deserialization may occur before any authentication, which could make exploitation straightforward if the Pyro service is exposed.

Generated by OpenCVE AI on April 17, 2026 at 08:58 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Pyro to a patched release that removes or secures the unsafe pickle usage
  • Validate or reject pickled payloads before deserialization, or switch to a safer serialization format such as JSON or Protocol Buffers
  • Restrict external access to Pyro endpoints with firewalls or network segmentation to limit exposure to untrusted clients
  • Implement application‑level input validation to ensure only trusted sources can send pickled data

Generated by OpenCVE AI on April 17, 2026 at 08:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 17 Apr 2026 09:15:00 +0000

Type Values Removed Values Added
Title Arbitrary code execution via malicious pickle payload in Pyro v3.x

Wed, 15 Apr 2026 23:00:00 +0000

Type Values Removed Values Added
Title Arbitrary Code Execution via Pickle Deserialization in Pyro v3.x
Weaknesses CWE-502

Wed, 15 Apr 2026 16:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-94
Metrics 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'}

ssvc

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


Tue, 14 Apr 2026 16:45:00 +0000

Type Values Removed Values Added
Title Arbitrary Code Execution via Pickle Deserialization in Pyro v3.x
Weaknesses CWE-502

Tue, 14 Apr 2026 16:30:00 +0000

Type Values Removed Values Added
First Time appeared Irmen
Irmen pyro3
Vendors & Products Irmen
Irmen pyro3

Mon, 13 Apr 2026 19:30:00 +0000

Type Values Removed Values Added
Description An issue in the <code>pickle</code> protocol of Pyro v3.x allows attackers to execute arbitrary code via supplying a crafted pickled string message.
References

cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-04-15T15:31:38.180Z

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

Link: CVE-2026-31048

cve-icon Vulnrichment

Updated: 2026-04-15T15:31:31.970Z

cve-icon NVD

Status : Deferred

Published: 2026-04-13T20:16:33.410

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

Link: CVE-2026-31048

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-17T09:00:10Z

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')