π‘οΈ Sentinel: Fix DoS via Long Version Strings #820
+25
β0
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.
π‘οΈ Sentinel: [CRITICAL/MEDIUM] Fix DoS via Long Version Strings
π¨ Severity: MEDIUM
π‘ Vulnerability: The
compareTofunction lacked input length validation, allowing processing of arbitrarily long version strings.π― Impact: Potential Denial of Service (DoS) via resource exhaustion (CPU/Memory) in string operations (
split,trim,replace).π§ Fix: Added
MAX_VERSION_LENGTH(256) constant and a check at the start ofcompareTo.β Verification: Added a regression test in
src/security.test.tsthat verifies long strings returnfalseimmediately.Also updated
.jules/sentinel.mdwith the new learning.PR created automatically by Jules for task 11839686817003230731 started by @srod
Summary by cubic
Prevented DoS in version comparison by limiting input length and rejecting excessively long version strings. Inputs longer than 256 characters are now rejected early to avoid CPU and memory exhaustion.
Written for commit 635568f. Summary will update on new commits.