CVE-2026-41486
Received Received - Intake
Remote Code Execution in Ray AI Compute Engine

Publication date: 2026-05-08

Last updated on: 2026-05-08

Assigner: GitHub, Inc.

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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-08
Last Modified
2026-05-08
Generated
2026-05-09
AI Q&A
2026-05-09
EPSS Evaluated
N/A
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
ray ray to 2.55.0 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-94 The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
CWE-502 The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in Ray, an AI compute engine, specifically in versions from 2.54.0 up to but not including 2.55.0. Ray Data registers custom Arrow extension types globally in PyArrow. When PyArrow reads a Parquet file containing one of these extension types, it calls a deserialization method (__arrow_ext_deserialize__) on the field's metadata bytes.

The issue arises because Ray's implementation passes these metadata bytes directly to cloudpickle.loads(), which can execute arbitrary code during the schema parsing phase, even before any row data is read. This means that a specially crafted Parquet file can trigger execution of malicious code on the system processing the file.

This vulnerability has been fixed in Ray version 2.55.0.


How can this vulnerability impact me? :

This vulnerability can lead to arbitrary code execution on any system that processes a malicious Parquet file using the affected versions of Ray Data. An attacker could exploit this to run unauthorized code, potentially leading to system compromise, data theft, or disruption of services.


What immediate steps should I take to mitigate this vulnerability?

The vulnerability has been patched in Ray version 2.55.0. The immediate step to mitigate this vulnerability is to upgrade Ray to version 2.55.0 or later.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart