ICU-23394 Validate serialized spoof data in SpoofData deserialization#3962
Open
TristanInSec wants to merge 3 commits into
Open
ICU-23394 Validate serialized spoof data in SpoofData deserialization#3962TristanInSec wants to merge 3 commits into
TristanInSec wants to merge 3 commits into
Conversation
3e7e5d0 to
699de55
Compare
|
Hooray! The files in the branch are the same across the force-push. 😃 ~ Your Friendly Jira-GitHub PR Checker Bot |
699de55 to
30fc708
Compare
|
Hooray! The files in the branch are the same across the force-push. 😃 ~ Your Friendly Jira-GitHub PR Checker Bot |
Member
|
same comments/questions as in #3961 (comment) |
This was referenced May 4, 2026
Author
|
Hi @markusicu, Addressed in my reply on #3961. This PR is tracked under ICU-23394. I'll restore the PR template and add unit tests. |
Test that uspoof_openFromSerialized returns U_INVALID_FORMAT_ERROR when given crafted data with inconsistent table sizes or a truncated header, rather than crashing with a NULL dereference or heap OOB read.
…Data() Add offset+size bounds checking and cross-table consistency validation in readData(). Guard confusableLookup() against empty/null key data.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bounds check all offset+size pairs in
SpoofData::initPtrs(), addcross-table consistency validation, guard against null/empty data in
confusableLookup(), and bounds check string table access inappendValueTo(). Malformed serialized data now returnsU_INVALID_FORMAT_ERROR.Checklist