Skip to content

GH-49967: [Python][CI] Raise oldest NumPy wheel-test requirement to a patched release#49965

Open
arpitjain099 wants to merge 1 commit into
apache:mainfrom
arpitjain099:security/bump-oldest-numpy-wheel-tests
Open

GH-49967: [Python][CI] Raise oldest NumPy wheel-test requirement to a patched release#49965
arpitjain099 wants to merge 1 commit into
apache:mainfrom
arpitjain099:security/bump-oldest-numpy-wheel-tests

Conversation

@arpitjain099
Copy link
Copy Markdown

@arpitjain099 arpitjain099 commented May 12, 2026

Summary

  • Update python/requirements-wheel-test.txt for Python <3.11 from numpy~=1.21.3 to numpy~=1.22.0.

Why

Dependabot flags numpy < 1.22 in this requirements file. Bumping the lower compatible test constraint to the patched line addresses the advisory while preserving the existing per-Python version strategy.

Validation

  • python3 -m pip install -r python/requirements-wheel-test.txt

Signed-off-by: Arpit Jain <arpitjain099@gmail.com>
@github-actions
Copy link
Copy Markdown

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose

Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename the pull request title in the following format?

GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

See also:

Copy link
Copy Markdown
Member

@raulcd raulcd left a comment

Choose a reason for hiding this comment

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

Thanks for the PR. Could you follow the contributing guidelines for the project and open a corresponding issue

@arpitjain099 arpitjain099 changed the title Raise oldest NumPy wheel-test requirement to a patched release GH-49967: [Python][CI] Raise oldest NumPy wheel-test requirement to a patched release May 12, 2026
@arpitjain099
Copy link
Copy Markdown
Author

arpitjain099 commented May 12, 2026

@raulcd
Done, thanks for the review. I opened #49967 to track this change and updated the PR title to follow the project convention.

@github-actions
Copy link
Copy Markdown

⚠️ GitHub issue #49967 has been automatically assigned in GitHub to PR creator.

@github-actions
Copy link
Copy Markdown

⚠️ GitHub issue #49967 has no components, please add labels for components.

@arpitjain099
Copy link
Copy Markdown
Author

@raulcd please review the PR when you can. I added corresponding issue as you asked. Thank you!

Copy link
Copy Markdown
Member

@raulcd raulcd left a comment

Choose a reason for hiding this comment

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

Hi @arpitjain099, just so I understand this better, dependabot flags this dependency as a security issue or what is the exact problem?
There's also this discussion which maybe instead of bumping individual patch releases for numpy we could potentially bump to numpy 2, see:

Also this is just for the minimal test requirements, is there a reason you are using requirements-wheel-test.txt. For build we already have a minimum numpy of >=1.25
I basically want to understand the case you are flagging

@arpitjain099
Copy link
Copy Markdown
Author

@raulcd answers to each:

  1. Yes, dependabot. The alert is GHSA-fpfv-jqm9-f5jm / CVE-2021-34141 (medium, "Incorrect Comparison in NumPy"), vulnerable range < 1.22, first patched 1.22. It's flagged on my fork against python/requirements-wheel-test.txt specifically because that file still pins numpy~=1.21.3 for <3.11.

  2. On the numpy 2 path ([Python] Require numpy 2.x #48473): not mutually exclusive with this. This PR is the minimal fix that closes the dependabot alert without touching the broader migration story. Happy to drop it if you'd rather wait for the full 2.x cutover, but the alert stays open until then.

  3. Right that build already uses numpy>=1.25 so the build side is fine. The vulnerability is specifically on the wheel-test surface where the file still pins numpy~=1.21.3 for Python <3.11. That's the line dependabot points at.

Let me know which direction you'd prefer.

@raulcd
Copy link
Copy Markdown
Member

raulcd commented May 13, 2026

@github-actions crossbow submit wheel-310

@github-actions github-actions Bot added awaiting changes Awaiting changes and removed awaiting review Awaiting review labels May 13, 2026
@github-actions
Copy link
Copy Markdown

Revision: 528258b

Submitted crossbow builds: ursacomputing/crossbow @ actions-52d25f49e0

Task Status
wheel-macos-monterey-cp310-cp310-amd64 GitHub Actions
wheel-macos-monterey-cp310-cp310-arm64 GitHub Actions
wheel-manylinux-2-28-cp310-cp310-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-cp310-arm64 GitHub Actions
wheel-musllinux-1-2-cp310-cp310-amd64 GitHub Actions
wheel-musllinux-1-2-cp310-cp310-arm64 GitHub Actions
wheel-windows-cp310-cp310-amd64 GitHub Actions

Copy link
Copy Markdown
Member

@raulcd raulcd left a comment

Choose a reason for hiding this comment

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

Ok, thanks for the comment. To be honest feels like a minor issue to me. We just use those to specify the minimum version we can be compatible with on testing but we build with a more modern version.
I am running tests for the wheels, which is the only place we use this requirements file on testing, and we can bump it if CI is successful, we are going to drop Python 3.10 support in one release once we add Python 3.15.
Just so I understand, where did you get the dependabot alert? I can't see it in the Arrow repo security alerts.
Thanks

@arpitjain099
Copy link
Copy Markdown
Author

@raulcd the alert is on my fork (Dependabot enabled there): https://github.com/arpitjain099/arrow/security/dependabot/1. apache/arrow's own security tab may not surface this specific file or this Dependabot bucket, which would explain why it isn't visible to you. The advisory is a global GitHub one: GHSA-fpfv-jqm9-f5jm / CVE-2021-34141 against numpy < 1.22 in python/requirements-wheel-test.txt.

Agree the practical impact is small given this is only the wheel-test lower bound and the actual build uses numpy>=1.25. If you're comfortable letting the CI run on the bumped value be the test, happy to wait for that signal and update or close as you prefer once it lands. And if dropping Python 3.10 in a release-or-two effectively retires this file's relevance anyway, that's fine too.

@arpitjain099 arpitjain099 force-pushed the security/bump-oldest-numpy-wheel-tests branch from 528258b to 7847066 Compare May 13, 2026 17:13
@github-actions github-actions Bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants