Repository navigation
Bound hostile-input allocations; decode PDF name escapes (replaces #186) - #187
Merged
Merged
Conversation
EWF2: cap the chunk count against the image size. Registry log: reject a hive size beyond the log. AFF4: inflate with a max_length and refuse members or chunks that inflate past their declared size or are truncated. PDF: decode #HH escapes in names before matching active content. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…inputs # Conflicts: # CHANGELOG.md
deadp
added a commit
to deadp/strata
that referenced
this pull request
Oct 30, 2026
Co-authored-by: Queue runner <queue-runner@noreply.invalid>
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.
Replaces #186 (by @deadp), which conflicted with
maininCHANGELOG.mdafter #185 merged. Its branch lives on a fork this session can't push to, so the original commit is carried here unchanged, with its authorship, plus one merge commit that keeps both Security entries. Close #186 when this merges.What the change does (from #186)
Crafted evidence could make Strata allocate without limit, and PDF active content could hide behind name escapes.
decompressobjwithmax_length; output past the declared size, or a truncated stream, is refused with a finding.#HHescapes in names are decoded before matching active content, so/Java#53criptis stripped like/JavaScript. Malformed escapes stay literal.One test per part with a small crafted input. CHANGELOG entry under Unreleased / Security.
Verification
Only
CHANGELOG.mdconflicted. Full suite on the merged result: 1426 tests OK (14 skipped).Generated by Claude Code