Skip to content

GH-47803: [C++][Parquet] Fix read out of bounds on invalid RLE data - #47804

Merged
pitrou merged 2 commits into
apache:mainfrom
pitrou:gh47803-parquet-fuzz-regression
Oct 14, 2025
Merged

GH-47803: [C++][Parquet] Fix read out of bounds on invalid RLE data#47804
pitrou merged 2 commits into
apache:mainfrom
pitrou:gh47803-parquet-fuzz-regression

Conversation

@pitrou

@pitroupitrou commented Oct 13, 2025

Copy link
Copy Markdown
Member

Rationale for this change

Found by OSS-Fuzz, should fix https://issues.oss-fuzz.com/issues/451150486.

What changes are included in this PR?

Ensure RLE run is within bounds before reading it.

Are these changes tested?

Yes, by fuzz regression test in ASAN/UBSAN build.

Are there any user-facing changes?

No.

This PR contains a "Critical Fix". (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)

@pitrou

pitrou commented Oct 13, 2025

Copy link
Copy Markdown
MemberAuthor

This is ready for review, but should not be merged before the regression file is added to the arrow-testing repo. @wgtmac@AntoinePrv@adamreeve

@pitrou
pitrou marked this pull request as ready for review October 13, 2025 16:56
@github-actionsgithub-actionsBot added awaiting committer review Awaiting committer review and removed awaiting review Awaiting review labels Oct 13, 2025

@wgtmacwgtmac left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM. Do we need to include it in the 22.0.0 release?

@pitrou

Copy link
Copy Markdown
MemberAuthor

Yes, I've tagged #47803 for 22.0.0. I believe it is going to get cherry-picked automatically (@raulcd ).

@pitrou
pitrou merged commit f83b301 into apache:mainOct 14, 2025
43 of 44 checks passed
@pitroupitrou removed the awaiting committer review Awaiting committer review label Oct 14, 2025
@pitrou
pitrou deleted the gh47803-parquet-fuzz-regression branch October 14, 2025 06:44
raulcd pushed a commit that referenced this pull request Oct 14, 2025
…47804)
Found by OSS-Fuzz, should fix https://issues.oss-fuzz.com/issues/451150486.
Ensure RLE run is within bounds before reading it.
Yes, by fuzz regression test in ASAN/UBSAN build.
No.
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: #47803
Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Antoine Pitrou <antoine@python.org>
@raulcd

Copy link
Copy Markdown
Member

I've cherry-picked this for 22.0.0.

@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit f83b301.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 40 possible false positives for unstable benchmarks that are known to sometimes produce them.

zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Oct 15, 2025
…data (apache#47804)
### Rationale for this change
Found by OSS-Fuzz, should fix https://issues.oss-fuzz.com/issues/451150486.
### What changes are included in this PR?
Ensure RLE run is within bounds before reading it.
### Are these changes tested?
Yes, by fuzz regression test in ASAN/UBSAN build.
### Are there any user-facing changes?
No.
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: apache#47803
Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…data (apache#47804)
### Rationale for this change
Found by OSS-Fuzz, should fix https://issues.oss-fuzz.com/issues/451150486.
### What changes are included in this PR?
Ensure RLE run is within bounds before reading it.
### Are these changes tested?
Yes, by fuzz regression test in ASAN/UBSAN build.
### Are there any user-facing changes?
No.
**This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)
* GitHub Issue: apache#47803
Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@pitrou@raulcd@adamreeve@wgtmac