Pyarrow-hotfix is a pure Python package designed to mitigate the PyArrow security vulnerability CVE-2023-47248, which affected PyArrow versions 0.14.0 to 14.0.0. It disables the vulnerable deserialization feature, offering a temporary solution for users unable to immediately upgrade to PyArrow 14.0.1 or later. The library is released on an as-needed basis for security patches.
pip install pyarrow-hotfixVerified import paths — ran on the pinned version, not inferred.
The hotfix is activated simply by importing the `pyarrow_hotfix` module. This should be done early in your application's lifecycle to ensure the vulnerability is disabled before any potentially malicious PyArrow data is processed.
The recommended long-term solution is to upgrade to PyArrow 14.0.1 or later. If upgrading PyArrow is not immediately possible, consider refactoring your code to use the secure API `pyarrow.ExtensionType` instead of `pyarrow.PyExtensionType`.
Prioritize upgrading your `pyarrow` dependency to version 14.0.1 or higher to fully resolve the underlying vulnerability and remove the need for the hotfix package.
Always use `pip install pyarrow-hotfix` for installation and `import pyarrow_hotfix` in your Python code for clarity and consistency.
Ensure that `pyarrow` is installed in your environment before attempting to use or hotfix it. For example, `pip install pyarrow`.
Ensure `pyarrow` is installed in your environment. For example, add `pip install pyarrow` to your project's dependencies or installation steps.
Install the package using pip: `pip install pyarrow_hotfix`
This is often the intended behavior, signifying the hotfix is working. If you legitimately need to deserialize data that uses `pyarrow.PyExtensionType` (which is the insecure type), you must either upgrade PyArrow to version 14.0.1 or later, or refactor your code and data to use `pyarrow.ExtensionType` (the secure API).
Add `import pyarrow_hotfix` at the beginning of your application's entry point or any module that uses PyArrow to ensure the hotfix takes effect.