Every CVE Search/ Get API key

CVE-2023-47248

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

9.8 CriticalPublic exploitFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

14.5%Up 14.5 points since Nov 9, 2023
90%50%10%1%

What each source reports

NVD Score used 9.8

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.

Record
CVE-2023-47248
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-502
Updated
2026-11-02
CVE List No score

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

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.

Record
CVE-2023-47248
Weakness
CWE-502
Updated
2026-11-02
EUVDEUVD-2023-0212 0.0

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.

Record
EUVD-2023-0212
CVSS
0.0 NoneCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-03
GitHub AdvisoriesGHSA-5wvp-7f3h-6wmm 9.3

PyArrow: Arbitrary code execution when loading a malicious data file

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, maintainers provide a separate package pyarrow-hotfix that disables the vulnerability on older PyArrow versions. See https://pypi.org/project/pyarrow-hotfix/ for instructions.

Record
GHSA-5wvp-7f3h-6wmm
CVSS 4.0
9.3 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-502
Updated
2026-11-02
OSVGHSA-5wvp-7f3h-6wmm 9.3

PyArrow: Arbitrary code execution when loading a malicious data file

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, maintainers provide a separate package pyarrow-hotfix that disables the vulnerability on older PyArrow versions. See https://pypi.org/project/pyarrow-hotfix/ for instructions.

Record
GHSA-5wvp-7f3h-6wmm
CVSS 4.0
9.3 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-502
Updated
2026-11-02
OSVROOT-APP-PYPI-CVE-2023-47248 9.8

CVE-2023-47248 in pyarrow - Patched by Root

Root has patched CVE-2023-47248 in the pyarrow package for Root:PyPI. Multiple fixed versions available.

Record
ROOT-APP-PYPI-CVE-2023-47248
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 8 moreShow less
OSVCLSA-2026-1778805964 No score

TuxCare security update for pyarrow (1 CVE)

TuxCare rebuilt pyarrow to address 1 CVE. Fixed in 12.0.1.post1+tuxcare.

Record
CLSA-2026-1778805964
Updated
2026-11-02
OSV No score

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

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.

Record
CVE-2023-47248
Weakness
CWE-502
Updated
2026-11-02
OSVopenSUSE-SU-2024:13431-1 No score

python310-pyarrow-14.0.1-2.1 on GA media

These are all security issues fixed in the python310-pyarrow-14.0.1-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13431-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:13460-1 No score

python310-geopandas-0.14.1-1.1 on GA media

These are all security issues fixed in the python310-geopandas-0.14.1-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13460-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:13480-1 No score

python310-pandas-2.1.3-1.1 on GA media

These are all security issues fixed in the python310-pandas-2.1.3-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13480-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11341-1 No score

python313-pandas-3.0.3-1.2 on GA media

These are all security issues fixed in the python313-pandas-3.0.3-1.2 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11341-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11616-1 No score

python313-geopandas-1.1.4-1.1 on GA media

These are all security issues fixed in the python313-geopandas-1.1.4-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11616-1
Updated
2026-11-02
OSVPYSEC-2023-238 No score

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).

Record
PYSEC-2023-238
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
pyarrow
PyPI
0.14.0 up to 14.0.1
14.0.1
pyarrow
TuxCare:PyPI
12.0.1 up to 12.0.1.post1+tuxcare
12.0.1.post1+tuxcare
pyarrow
PyPI
0.14.0 up to 14.0.1, plus listed versions
0.14.10.15.00.15.10.16.00.17.0
Show 20 moreShow less
0.17.11.0.01.0.110.0.010.0.111.0.012.0.012.0.113.0.014.0.02.0.03.0.04.0.04.0.15.0.06.0.06.0.17.0.08.0.09.0.0
14.0.1
pyarrow
Root:PyPI
before 6.0.1+aikido.3
6.0.1+aikido.3
python-pandas
openSUSE:Tumbleweed
before 3.0.3-1.2
3.0.3-1.2
python-geopandas
openSUSE:Tumbleweed
before 1.1.4-1.1
1.1.4-1.1

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
NucleiPyArrow Flight RPC - Remote Code Execution
PoC in GitHubProdigysec/pyarrow-CVE-2023-472482025-12-27

History

History
RecordedChangedSources
aliases, publishedEUVD
first indexedCVE List, GitHub Advisories, Nuclei, NVD, OSV, PoC in GitHub

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2023-47248 is a critical vulnerability (CVSS 9.8) in Apache Pyarrow, published November 9, 2023. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 14.5%, the 96th percentile. Fixed in pyarrow 14.0.1.

References

Show 10 moreShow less
MoveEnter Open