Skip to content

Fix BSON iterator safety: sub-doc minimum length check and key_len underflow guard - #2358

Open
dfengliu wants to merge 3 commits into
mongodb:masterfrom
dfengliu:fix/bson-iter-safety
Open

Fix BSON iterator safety: sub-doc minimum length check and key_len underflow guard#2358
dfengliu wants to merge 3 commits into
mongodb:masterfrom
dfengliu:fix/bson-iter-safety

Conversation

@dfengliu

Copy link
Copy Markdown

Summary

Fix two safety issues in the BSON iterator (bson-iter.c):

  1. Missing minimum length check for sub-documents/arrays
  2. Unsigned integer underflow in bson_iter_key_len

Changes

  • Add l >= 5 validation for DOCUMENT/ARRAY elements
  • Add runtime guard in bson_iter_key_len

…n underflow guard

- Add l >= 5 validation for DOCUMENT/ARRAY elements in _bson_iter_next_internal
  to prevent iterator desync from malformed sub-documents
- Add runtime guard in bson_iter_key_len to prevent unsigned underflow
  on exhausted/invalid iterators in release builds
@dfengliu
dfengliu requested a review from a team as a code owner July 29, 2026 08:28
@dfengliu
dfengliu requested a review from connorsmacd July 29, 2026 08:28
dfengliu added 2 commits July 29, 2026 16:56
- test_bson_iter_subdoc_min_len: verify sub-doc minimum length check
- test_bson_iter_key_len_after_exhaust: verify key_len return value
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.

1 participant