Skip to content

Update dependency pyarrow to v23 [SECURITY]#14398

Open
renovate-bot wants to merge 1 commit into
GoogleCloudPlatform:mainfrom
renovate-bot:renovate/pypi-pyarrow-vulnerability
Open

Update dependency pyarrow to v23 [SECURITY]#14398
renovate-bot wants to merge 1 commit into
GoogleCloudPlatform:mainfrom
renovate-bot:renovate/pypi-pyarrow-vulnerability

Conversation

@renovate-bot

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
pyarrow ==21.0.0==23.0.1 age confidence
pyarrow ==20.0.0==23.0.1 age confidence
pyarrow ==17.0.0==23.0.1 age confidence

Apache Arrow: Potential use-after-free when reading IPC file with pre-buffering

CVE-2026-25087 / GHSA-rgxp-2hwp-jwgg

More information

Details

Use After Free vulnerability in Apache Arrow C++.

This issue affects Apache Arrow C++ from 15.0.0 through 23.0.0. It can be triggered when reading an Arrow IPC file (but not an IPC stream) with pre-buffering enabled, if the IPC file contains data with variadic buffers (such as Binary View and String View data). Depending on the number of variadic buffers in a record batch column and on the temporal sequence of multi-threaded IO, a write to a dangling pointer could occur. The value (a std::shared_ptr<Buffer> object) that is written to the dangling pointer is not under direct control of the attacker.

Pre-buffering is disabled by default but can be enabled using a specific C++ API call (RecordBatchFileReader::PreBufferMetadata). The functionality is not exposed in language bindings (Python, Ruby, C GLib), so these bindings are not vulnerable.

The most likely consequence of this issue would be random crashes or memory corruption when reading specific kinds of IPC files. If the application allows ingesting IPC files from untrusted sources, this could plausibly be exploited for denial of service. Inducing more targeted kinds of misbehavior (such as confidential data extraction from the running process) depends on memory allocation and multi-threaded IO temporal patterns that are unlikely to be easily controlled by an attacker.

Advice for users of Arrow C++:

  1. check whether you enable pre-buffering on the IPC file reader (using RecordBatchFileReader::PreBufferMetadata)

  2. if so, either disable pre-buffering (which may have adverse performance consequences), or switch to Arrow 23.0.1 which is not vulnerable

Severity

  • CVSS Score: 7.0 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Never, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate-bot renovate-bot requested review from a team and chalmerlowe as code owners July 9, 2026 00:17
@trusted-contributions-gcf trusted-contributions-gcf Bot added kokoro:force-run Add this label to force Kokoro to re-run the tests. owlbot:run Add this label to trigger the Owlbot post processor. labels Jul 9, 2026
@product-auto-label product-auto-label Bot added samples Issues that are directly related to samples. api: bigquery Issues related to the BigQuery API. api: bigquerystorage Issues related to the BigQuery Storage API. labels Jul 9, 2026
@kokoro-team kokoro-team removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jul 9, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the pyarrow dependency version to 23.0.1 across multiple requirements.txt files. Feedback was provided to simplify these requirements by removing environment markers and fallback versions for Python versions older than 3.10, which are no longer supported in this repository.

Comment on lines +5 to +6
pyarrow==23.0.1; python_version <= '3.8'
pyarrow==23.0.1; python_version > '3.9'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Python versions below 3.10 are no longer supported in this repository. Please do not specify fallback dependency versions or environment markers for Python versions older than 3.10. Since pyarrow 23.0.1 is compatible with Python 3.10+, we can simplify this requirement by removing the environment markers.

pyarrow==23.0.1
References
  1. Do not specify fallback dependency versions or environment markers for Python versions older than 3.10, as Python versions below 3.10 are no longer supported.

Comment on lines +8 to +9
pyarrow==23.0.1; python_version <= '3.8'
pyarrow==23.0.1; python_version > '3.9'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Python versions below 3.10 are no longer supported in this repository. Please do not specify fallback dependency versions or environment markers for Python versions older than 3.10. Since pyarrow 23.0.1 is compatible with Python 3.10+, we can simplify this requirement by removing the environment markers.

pyarrow==23.0.1
References
  1. Do not specify fallback dependency versions or environment markers for Python versions older than 3.10, as Python versions below 3.10 are no longer supported.

pyarrow===12.0.1; python_version == '3.7'
pyarrow===17.0.0; python_version == '3.8'
pyarrow==21.0.0; python_version >= '3.9'
pyarrow==23.0.1; python_version >= '3.9'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Python versions below 3.10 are no longer supported in this repository. Please do not specify fallback dependency versions or environment markers for Python versions older than 3.10. Since pyarrow 23.0.1 is compatible with Python 3.10+, we can simplify this requirement by removing the environment markers.

pyarrow==23.0.1
References
  1. Do not specify fallback dependency versions or environment markers for Python versions older than 3.10, as Python versions below 3.10 are no longer supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigquery Issues related to the BigQuery API. api: bigquerystorage Issues related to the BigQuery Storage API. owlbot:run Add this label to trigger the Owlbot post processor. samples Issues that are directly related to samples.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants