Skip to content
Fencer Vulns
critical 9.8

CVE-2023-47248 in the critical feed json

PyArrow, PyArrow: Arbitrary code execution when loading a malicious data file

published 2023-11-09 3 y ago modified 2026-09-10 1 mo ago also GHSA-5wvp-7f3h-6wmm , PYSEC-2023-238 , EUVD-2023-0212

cvss
9.8
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
14.5%
EPSS 14.5% chance of exploitation in 30 days, percentile 96%
public exploits
0
none known, plus a Nuclei check

Summary

Deserialization of untrusted data in IPC and Parquet readers in PyArrow versions 0.14.0 to 14.0.0 allows arbitrary code execution. An application is vulnerable if it reads Arrow IPC, Feather or Parquet data from untrusted sources (for example user-supplied input files).

This vulnerability only affects PyArrow, not other Apache Arrow implementations or bindings.

It is recommended that users of PyArrow upgrade to 14.0.1. Similarly, it is recommended that downstream libraries upgrade their dependency requirements to PyArrow 14.0.1 or later. PyPI packages are already available, and we hope that conda-forge packages will be available soon.

If it is not possible to upgrade, we provide a separate package `pyarrow-hotfix` that disables the vulnerability on older PyArrow versions. See https://pypi.org/project/pyarrow-hotfix/ for instructions.

Patch / fix

  • pypi pyarrow 14.0.1
  • python-geopandas openSUSE Tumbleweed 1.1.4-1.1
  • python-pandas openSUSE Tumbleweed 3.0.3-1.2

opensuse advisories openSUSE-SU-2026:11616-1openSUSE-SU-2026:11341-1

Exploit prediction

14.53% chance of exploitation in the next 30 days, higher than 96% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • Nuclei template PyArrow Flight RPC - Remote Code Execution nuclei detection template

CVSS scores

assigned by version score vector
NVD 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
GitHub 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
pypi pyarrow
>=0.14.0, <14.0.1
14.0.1

Affected products

  • Apache Software Foundation PyArrow

Classification

Weakness
  • CWE-502 Deserialization of Untrusted Data

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.