Vulnerability · Published May 8, 2026 · Assigned by GitHub_M

CVE-2026-41486Ray: Remote Code Execution via Parquet Arrow Extension Type Deserialization

High 8.9

In plain English

A high-severity code injection in ray from ray-project. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 41% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 4.0)8.9High
Exploit odds (30 days)0.5%top 58.9% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
PyPIray2.55.0GHSA-mw35-8rx3-xf9r
PyPIrayno fix listedPYSEC-2026-2272
PyPIve-rayno fix listedPYSEC-2026-2296

Affected products (as reported)

VendorProductVersions
ray-project ray >= 2.54.0, < 2.55.0

Weakness: CWE-94, CWE-502 · Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

References