Skip to content

chore(deps): update dependency pyarrow to v23 [security] - #166

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

chore(deps): update dependency pyarrow to v23 [security]#166
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/pypi-pyarrow-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
pyarrow ==22.0.0==23.0.1 age adoption passing 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).


Release Notes

apache/arrow (pyarrow)

v23.0.1

Bug Fixes

  • GH-48160 - [C++][Gandiva] Pass CPU attributes to LLVM (#​48161)
  • GH-48311 - [C++] Fix OOB memory access in buffered IO (#​48322)
  • GH-48637 - [C++][FlightRPC] ODBC: Disable absl deadlock detection (#​48747)
  • GH-48856 - [Release] Update copyright NOTICE year to 2026 (#​48857)
  • GH-48858 - [C++][Parquet] Avoid re-serializing footer for signature verification (#​48859)
  • GH-48861 - [CI] Fix wrong smtplib.SMTP.send_message usage (#​48876)
  • GH-48880 - [Ruby] Fix a bug that Arrow::ExecutePlan nodes may be GC-ed (#​48919)
  • GH-48885 - [C++] Add missing curl dependency of Arrow::arrow_static CMake target (#​48891)
  • GH-48894 - [Python][C++] Use base Azure::Core::RequestFailedException instead of final Azure::Storage::StorageException and set minimum nodejs on conda env to 16 for Azurite to work (#​48895)
  • GH-48900 - [C++] Avoid memory blowup with excessive variadic buffer count in IPC (#​48901)
  • GH-48961 - [Docs][Python] Doctest fails on pandas 3.0
  • GH-48965 - [Python][C++] Compare unique_ptr for CFlightResult or CFlightInfo to nullptr instead of NULL (#​48968)
  • GH-48966 - [C++] Fix cookie duplication in the Flight SQL ODBC driver and the Flight Client (#​48967)
  • GH-48983 - [Packaging][Python] Build wheel from sdist using build and add check to validate LICENSE.txt and NOTICE.txt are part of the wheel contents (#​48988)
  • GH-49003 - [C++] Don't consider out_of_range an error in float parsing (#​49095)
  • GH-49044 - [CI][Python] Fix test_download_tzdata_on_windows by adding required user-agent on urllib request (#​49052)
  • GH-49059 - [C++] Fix issues found by OSS-Fuzz in IPC reader (#​49060)
  • GH-49137 - [CI][Release] macOS conda source verification jobs fail to build Arrow C++
  • GH-49138 - [Packaging][Python] Remove nightly cython install from manylinux wheel dockerfile (#​49139)
  • GH-49156 - [Python] Require GIL for string comparison (#​49161)
  • GH-49159 - [C++][Gandiva] Detect overflow in repeat() (#​49160)

New Features and Improvements

v23.0.0

Bug Fixes

  • GH-33473 - [Python] Fix KeyError on Pandas roundtrip with RangeIndex in MultiIndex (#​39983)
  • GH-35957 - [C++][Compute] Graceful error for decimal binary arithmetic and comparison instead of firing confusing assertion (#​48639)
  • GH-41246 - [C++][Python] Simplify nested field encryption configuration (#​45462)
  • GH-42173 - [R][C++] Writing partitioned dataset on S3 fails if ListBucket is not allowed for the user (#​47599)
  • GH-43660 - [C++][Compute] Avoid ZeroCopyCastExec when casting Binary offset -> Binary offset types (#​48171)
  • GH-44318 - [C++][Python] Fix RecordBatch::FromStructArray for sliced arrays with offset = 0 (#​47843)
  • GH-45260 - [R][Docs] Improve documentation on GCS support
  • GH-45867 - [Python] Fix SetuptoolsDeprecationWarning (#​47141)
  • GH-46063 - [C++][Compute] Fix the issue that MinMax kernel emits -inf/inf for all-NaN input (#​48459)
  • GH-46584 - [C++][FlightRPC] Iterate over endpoints in ODBC driver (#​47991)
  • GH-47000 - [R] concat_tables on a record_batch causes segfault (#​47885)
  • GH-47022 - [Python] Support unsigned dictionary indices in pandas conversion (#​48451)
  • GH-47099 - [C++][Parquet] Add missing pragma warning(pop) to parquet/platform.h (#​47114)
  • GH-47371 - , GH-48281: [Python][CI] Fix Numba-CUDA interop (#​48284)
  • GH-47559 - [Python] Fix missing argument in pyarrow fs (#​47497)
  • GH-47564 - [C++] Update expected L2 CPU cache range to 32KiB-64MiB (#​47563)
  • GH-47664 - [C++][Parquet] add num_rows_ before each call to RowGroupWriter::Close in FileSerializer (#​47665)
  • GH-47734 - [Python] Fix hypothesis timedelta bounds for duration/interval types (#​48460)
  • GH-47751 - [CI] Fix check for job to ignore on reporting (#​47755)
  • GH-47778 - [CI][Python] Remove ORC alias timezone for US/Pacific on test_orc.py::test_timezone_absent (#​47956)
  • GH-47781 - [C++] Cleaned up type-limit warning in sink_node.cc (#​47782)
  • GH-47807 - [C++][Compute] Fix the issue that null count is not updated when setting slice on an array span (#​47808)
  • GH-47812 - [R][CI] Fix lint for new version of styler (#​47813)
  • GH-47821 - [CI][Release][R] Fix test repository path in release (#​47929)
  • GH-47823 - [Python] Use PyWeakref_GetRef instead of PyWeakref_GET_OBJECT (Python 3.15) (#​48027)
  • GH-47825 - [C++] Fix the issue that bitmap ops overriding partial leading byte (#​47912)
  • GH-47830 - [Release] Run RC verification source testing step in a subshell (#​47831)
  • GH-47836 - [C++] Fix Meson configuration after bpacking changes (#​47837)
  • GH-47840 - [CI][C++] Check whether the CSV module/thread sanitizer is enabled or not before building example (#​47841)
  • GH-47844 - [CI] Fix unconditionally running extra workflows reporting when there are jobs failing (#​47917)
  • GH-47859 - [C++] Fix creating union types without type_codes for fields.size() == 128 (#​47815)
  • GH-47861 - [Python] reduce memory usage when using to_pandas() with many extension arrays columns (#​47860)
  • GH-47883 - [CI] Add openssl gem explicitly to fix ceriticate validation error on test (#​47884)
  • GH-47909 - [C++] Fix MSVC ARM64 build (#​47910)
  • GH-47914 - [C++] Fix system Apache ORC/Google logging used detection (#​47915)
  • GH-47918 - [Format] Clarify that empty compressed buffers can omit the length header (#​48541)
  • GH-47919 - [C++] Update Meson config for C Data Interface changes (#​47920)
  • GH-47921 - [C++] Implement substrait option in Meson (#​48016)
  • GH-47923 - [CI] Use macos-15-intel instead of macos-13 for macOS x86 runner (#​47690)
  • GH-47924 - [C++] Fix issues in CSV reader with invalid inputs (#​47925)
  • GH-47927 - [Release] Fix APT repository metadata generation with new repository (#​47928)
  • GH-47932 - [Release][Python] PyPI rejects our source distribution due to missing LICENSE.txt
  • GH-47933 - [Release][R] Don't upload *.sha512.{asc,sha512} (#​47982)
  • GH-47941 - [R] Fix codegen.R error from dplyr pipe to base pipe change (#​47985)
  • GH-47942 - [R] CRAN 22.0.0 R package release fails on Winbuilder due to "non-API call to R: 'Rf_lazy_duplicate'" (#​47943)
  • GH-47945 - [C++] Add support for Boost 1.89.0 and require Boost 1.69 or later (#​47947)
  • GH-47948 - [CI][Packaging][Deb] Add missing directory existent check (#​47949)
  • GH-47953 - [C++] Remove Windows inclusion from int_util_overflow.h (#​47950)
  • GH-47955 - [C++][Parquet] Support reading INT-encoded Decimal stats as Arrow scalar (#​48001)
  • GH-47961 - [C++] Fix Meson's Boost process version detection (#​48017)
  • GH-47964 - [Docs] Add dcleblanc/SafeInt to the LICENSE.txt file (#​47965)
  • GH-47966 - [Python] PyArrow v22.0 assumes Pandas DataFrame attrs are serializable (#​47977)
  • GH-47967 - [C++] Update Meson Configuration with SafeInt Changes (#​47968)
  • GH-47970 - [CI][C++] Fix a bug that JNI jobs runs nothing (#​47972)
  • GH-47973 - [C++][Parquet] Fix invalid Parquet files written when dictionary encoded pages are large (#​47998)
  • GH-47981 - [C++][Parquet] Add compatibility with non-compliant RLE stream (#​47992)
  • GH-47983 - [CI][R] R nightly upload workflow failing for a few weeks (#​47984)
  • GH-48004 - [C++][Parquet] Fix hang in ColumnReader benchmark (#​48005)
  • GH-48010 - [C++] Update bundled RE2 from 2022-06-01 to 2023-03-01 (#​48011)
  • GH-48029 - [R][CI] R nightly upload workflow failing in pruning step (#​48030)
  • GH-48044 - [Packaging][RPM][Parquet] Don't install parquet-glib.pc by parquet-devel (#​48045)
  • GH-48046 - [Docs][C++] Clarify "Exporting Tracing Information" section in OTel docs (#​48047)
  • GH-48057 - [R] Slow reading performance caused by apply_arrow_r_metadata() looping through all columns, including NULL ones (#​48104)
  • GH-48062 - [C++] Fix null pointer dereference in MakeExecBatch (#​48063)
  • GH-48064 - [C++] Set ARROW_BUILD_STATIC=ON when features-flight are enabled on CMake presets (#​48065)
  • GH-48076 - [C++][Flight] fix GeneratorStream for Tables (#​48082)
  • GH-48079 - [CI] Fix a typo in util_free_space.sh (#​48088)
  • GH-48095 - [Python][Docs] Add missing {pyarrow,compute} functions to API docs (#​48117)
  • GH-48098 - [R] Fix nightly libarrow binary uploads (#​48100)
  • GH-48107 - [CI] Update testing submodule (#​48114)
  • GH-48115 - [C++] Better align Meson configuration and config.h (#​48116)
  • GH-48125 - [C++] Remove gnu11 standard from the Meson configuration (#​48126)
  • GH-48127 - [R] stringr argument deprecation - add binding for stringr::str_ilike() and remove ignore_case argument for stringr::str_like() (#​48262)
  • GH-48129 - [CI] Stale issues bot only looks at 30 issues at a time (#​48130)
  • GH-48134 - [C++] Make StructArray::field() thread-safe (#​48128)
  • GH-48142 - [CI] Disallow scheduled GitHub Actions run on forked repos (#​48143)
  • GH-48146 - [C++][Parquet] Fix undefined behavior with invalid column/offset index (#​48147)
  • GH-48162 - [CI] Stale issues bot hit secondary rate limit and did not complete (#​48165)
  • GH-48168 - [C++][Parquet] Fix setting column-specific options when writing an encrypted Dataset (#​48170)
  • GH-48234 - [C++][Parquet] Fix overly strict check for BIT_PACKED levels byte size (#​48235)
  • GH-48238 - [C++] Actually write IPC schema endianness, not host endianness (#​48239)
  • GH-48246 - [C++][Parquet] Fix pre-1970 INT96 timestamps roundtrip (#​48247)
  • GH-48263 - [CI] Stale issues workflow doesn't go through enough issues (#​48264)
  • GH-48268 - [C++][Acero] Enhance the type checking for hash join residual filter (#​48272)
  • GH-48280 - [CI] PYTHON_PATCH_VERSION docker warnings (#​48282)
  • GH-48283 - [R][CI] Failures on R Lint on main (#​48286)
  • GH-48308 - [C++][Parquet] Fix potential crash when reading invalid Parquet data (#​48309)
  • GH-48314 - [Python] Compat with pandas 3.0 changed default datetime unit (#​48319)
  • GH-48340 - [R] respected MAKEFLAGS (#​48341)
  • GH-48376 - [C++] Update GoogleTest from 1.16.0 to 1.17.0 (#​48377)
  • GH-48416 - [Packaging][CI] Use custom orc_for_bundling when using FetchContent to avoid ar issues with + symbol on path (#​48430)
  • GH-48417 - [Packaging][CI] Skip downgrade testing for Debian testing (#​48427)
  • GH-48432 - [CI][Ruby] Don't run Red Arrow Format tests with Ruby 3.1 (#​48434)
  • GH-48478 - [Ruby] Fix Ruby list inference for nested non-negative integer arrays (#​48584)
  • GH-48481 - [Ruby] Correctly infer types for nested integer arrays (#​48699)
  • GH-48540 - [Python][C++][CI] test_s3_options crash on macOS
  • GH-48566 - [C++][CI] Fix compilation on Valgrind job (#​48567)
  • GH-48570 - [C++] Add Missing Fuzz Sources to Meson configuration (#​48571)
  • GH-48608 - [Python] Fix interpolate actual values in Message.repr f-string (#​48656)
  • GH-48610 - [Ruby] Add FixedSizeListArray glue (#​48609)
  • GH-48625 - [Python] Add temporal unit checking in NumPyDtypeUnifier (#​48626)
  • GH-48641 - [CI] Multiple nightly R builds failing due to ssache errors
  • GH-48725 - [C++] Fix bundled Protobuf doesn't exist in libarrow_bundled_dependencies (#​48726)
  • GH-48735 - [CI][Python] Fix macOS wheel builds by forcing setuptools upgrade in venv (#​48739)
  • GH-48736 - [CI][Python] Restore AlmaLinux 8 support of dev/release/setup-rhel-rebuilds.sh for wheel verification (#​48748)
  • GH-48741 - [C++] Fix deadlock in CSV AsyncThreadedTableReader destructor (#​48742)
  • GH-48750 - [CI][Documentation] Disable Unity build for OpenTelemetry (#​48751)
  • GH-48776 - [CI][Ruby][Windows] Ensure removing temporary files (#​48777)
  • GH-48780 - [CI] Add missing permissions for reusable workflow calls (#​48778)
  • GH-48782 - [Docs][CI] Skip Markdown files with doxygen and trigger Docs job on PR when files are modified (#​48786)
  • GH-48784 - [GLib] Make (system) Parquet C++ is optional (#​48785)
  • GH-48787 - [C++] Disable -Werror for s2n-tls (#​48791)
  • GH-48806 - [CI][Packaging] ubuntu-noble-arm64 has failes for several days due to network failure (403 Forbidden [IP: 91.189.92.19 80])
  • GH-48807 - [CI] Clean up space on GitHub runner to fix manylinux wheel failure (#​48790)
  • GH-48809 - [CI] Fix homebrew-cpp with Mac by using formula-based dependency resolution (#​48824)
  • GH-48811 - [C++][FlightRPC] ODBC: Add missing arrow:: to fix build (#​48810)
  • GH-48827 - [CI][Python] Add required xz dependency to emscripten dockerfile (#​48828)
  • GH-48838 - [Release] Use gh cli to download sources for Linux packages and publish draft release before verification (#​48839)
  • GH-48841 - [Release][Package] Add GH_TOKEN to rake build step on Linux Packaging jobs (#​48842)

New Features and Improvements

Note

PR body was truncated to here.


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 changed the title chore(deps): update dependency pyarrow to v23 [security] chore(deps): update dependency pyarrow to v23 [security] - autoclosed Sep 5, 2026
@renovate renovate Bot closed this Sep 5, 2026
@renovate
renovate Bot deleted the renovate/pypi-pyarrow-vulnerability branch September 5, 2026 13:35
@renovate renovate Bot changed the title chore(deps): update dependency pyarrow to v23 [security] - autoclosed chore(deps): update dependency pyarrow to v23 [security] Sep 7, 2026
@renovate renovate Bot reopened this Sep 7, 2026
@renovate
renovate Bot force-pushed the renovate/pypi-pyarrow-vulnerability branch 2 times, most recently from 8c11ac8 to 2b847ea Compare September 7, 2026 22:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants