Skip to main content
← All vulnerabilities
CVE-2026-41486PYSEC-2026-2296GHSA-MW35-8RX3-XF9RPYSEC-2026-2272

Ray: Remote Code Execution via Parquet Arrow Extension Type Deserialization

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.55.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: total

Summary

Ray is an AI compute engine. From version 2.54.0 to before version 2.55.0, Ray Data registers custom Arrow extension types (ray.data.arrow_tensor, ray.data.arrow_tensor_v2, ray.data.arrow_variable_shaped_tensor) globally in PyArrow. When PyArrow reads a Parquet file containing one of these extension types, it calls __arrow_ext_deserialize__ on the field's metadata bytes. Ray's implementation passes these bytes directly to cloudpickle.loads(), achieving arbitrary code execution during schema parsing, before any row data is read. This issue has been patched in version 2.55.0.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: total

  3. Record last updated

Affected versions

  • ray-project ray

    From 2.54.0 · fixed in 2.55.0

  • ve-rayPyPI

    through 2.54.0

  • rayPyPI

    through 2.54.0

  • rayPyPI

    From 2.49.0 · fixed in 2.55.0

References 4

GitHub · ray-project/ray