Skip to content

Update dependency pyarrow to v23 [SECURITY]#8795

Open
renovate[bot] wants to merge 1 commit into
developfrom
renovate/pypi-pyarrow-vulnerability
Open

Update dependency pyarrow to v23 [SECURITY]#8795
renovate[bot] wants to merge 1 commit into
developfrom
renovate/pypi-pyarrow-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
pyarrow 21.0.023.0.1 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


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


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

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

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 OSV and the GitHub Advisory Database (CC-BY 4.0).


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

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 OSV and the PyPI 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: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update 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 renovate Bot added the changelog/chore A trivial change label Jul 16, 2026
@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Polar Signals Profiling Results

Latest Run

Status Commit Job Attempt Link
🟢 Done f2b5733 1 Explore Profiling Data
Previous Runs (1)
Status Commit Job Attempt Link
🟢 Done 0fa318b 1 Explore Profiling Data

Powered by Polar Signals Cloud

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: Vortex queries 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +2.8%
Engines: DataFusion No clear signal (+4.2%, low confidence) · DuckDB No clear signal (+1.3%, low confidence)
Vortex (geomean): 0.984x ➖
Parquet (geomean): 0.970x ➖
Shifts: Parquet (control) -3.0% · Median polish -0.9%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.

datafusion / vortex-file-compressed (0.985x ➖, 0↑ 0↓)
name PR f2b5733 (ns) base b7b01d3 (ns) ratio (PR/base)
vortex_q00/datafusion:vortex-file-compressed 9697956 9831831 0.99
vortex_q01/datafusion:vortex-file-compressed 6108554 6216077 0.98
datafusion / parquet (0.945x ➖, 0↑ 0↓)
name PR f2b5733 (ns) base b7b01d3 (ns) ratio (PR/base)
vortex_q00/datafusion:parquet 20014781 21543706 0.93
vortex_q01/datafusion:parquet 4526831 4713514 0.96
duckdb / vortex-file-compressed (1.010x ➖, 0↑ 0↓)
name PR f2b5733 (ns) base b7b01d3 (ns) ratio (PR/base)
vortex_q00/duckdb:vortex-file-compressed 9830531 9900408 0.99
vortex_q01/duckdb:vortex-file-compressed 6128536 5965326 1.03
duckdb / parquet (0.997x ➖, 0↑ 0↓)
name PR f2b5733 (ns) base b7b01d3 (ns) ratio (PR/base)
vortex_q00/duckdb:parquet 23346598 23497829 0.99
vortex_q01/duckdb:parquet 9407321 9407972 1.00

No file size changes detected.

@codspeed-hq

codspeed-hq Bot commented Jul 16, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 1670 untouched benchmarks
⏩ 44 skipped benchmarks1


Comparing renovate/pypi-pyarrow-vulnerability (f2b5733) with develop (b7b01d3)

Open in CodSpeed

Footnotes

  1. 44 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@renovate renovate Bot changed the title chore(deps): update dependency pyarrow to v23 [security] Update dependency pyarrow to v23 [SECURITY] Jul 19, 2026
@renovate
renovate Bot force-pushed the renovate/pypi-pyarrow-vulnerability branch from 0fa318b to f2b5733 Compare July 20, 2026 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants