Staging Environment: Content and features may be unstable or change without notice.
Search for packages
Package details: pkg:pypi/ray@2.55.0
purl pkg:pypi/ray@2.55.0
Vulnerabilities affecting this package (0)
Vulnerability Summary Fixed by
This package is not known to be affected by vulnerabilities.
Vulnerabilities fixed by this package (1)
Vulnerability Summary Aliases
VCID-e8qj-xgec-nfb2 Ray: Remote Code Execution via Parquet Arrow Extension Type Deserialization 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. In May 2024, Ray fixed a related vulnerability in `PyExtensionType`-based extension types ([issue #41314](https://github.com/ray-project/ray/issues/41314), [PR #45084](https://github.com/ray-project/ray/pull/45084)). In July 2025, [PR #54831](https://github.com/ray-project/ray/pull/54831) introduced `cloudpickle.loads()` into the replacement extension types' deserialization path, reintroducing the same class of vulnerability. ## Impact - **Affected versions**: Ray 2.49.0 through 2.54.0 (latest release as of March 2026). The vulnerable `_deserialize_with_fallback` function with `cloudpickle.loads()` was introduced in commit `f6d21db1a4` ([PR #54831](https://github.com/ray-project/ray/pull/54831), July 2025), first released in Ray 2.49.0. - **Affected configurations**: Any process that uses Ray Data and reads Parquet files. The extension types are registered globally in PyArrow, so all Parquet reads in the process are affected, including `ray.data.read_parquet()`, `pyarrow.parquet.read_table()`, `pandas.read_parquet()`, etc. - **Attacker prerequisites**: The attacker must place a crafted Parquet file where a Ray Data pipeline reads it. No authentication or cluster access is required. The Parquet file must contain a column with a `ray.data.arrow_tensor` (or v2, or variable-shaped) extension type name, which makes this a targeted attack against Ray Data users. CVE-2026-41486
GHSA-mw35-8rx3-xf9r

Date Actor Action Vulnerability Source VulnerableCode Version
2026-06-07T20:54:12.340415+00:00 GHSA Importer Fixing VCID-e8qj-xgec-nfb2 https://github.com/advisories/GHSA-mw35-8rx3-xf9r 38.6.0
2026-06-06T08:17:12.501363+00:00 GitLab Importer Fixing VCID-e8qj-xgec-nfb2 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/ray/CVE-2026-41486.yml 38.6.0
2026-06-04T16:53:11.693860+00:00 GithubOSV Importer Fixing VCID-e8qj-xgec-nfb2 https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-mw35-8rx3-xf9r/GHSA-mw35-8rx3-xf9r.json 38.6.0