Repository navigation
Conversation
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.
Silent array-index overflow in decode_array_index_from_pointer
A JSON pointer / JSON Patch array index is accumulated digit by digit into a
size_twith no overflow guard, so a numeric reference token larger thansize_twraps around. On 64-bit,/18446744073709551617(2^64 + 1) wraps to index 1, socJSONUtils_GetPointerand the patch add/remove/replace/move/copy operations resolve or target an in-range element the literal index never denotes, instead of failing as out of range. This is the same function that CVE-2025-57052 was fixed in. Reject any token that would exceedsize_t.Reproducer on master:
cJSONUtils_GetPointer(cJSON_Parse("[10,20,30]"), "/18446744073709551617")returns the element20rather thanNULL.Regression test added in
tests/misc_utils_tests.c.