Skip to content

fix(detection): keep scanning after a value with no reportable category - #152

Merged
rennf93 merged 2 commits into
masterfrom
fix/scan-continue
Oct 15, 2026
Merged

rennf93 merged 2 commits into
masterfrom
fix/scan-continue

Conversation

@rennf93

@rennf93 rennf93 commented Oct 15, 2026

Copy link
Copy Markdown
Member

Security fix for GHSA-c9ww-6vhw-667p, shipping in 4.4.0.

scan_request ended the request scan as clean on a value that was a threat but had no reportable category: a value whose threats were all filtered out (a disabled category, a header skip set) returned an empty verdict immediately, so a later query, header or body value carrying an enabled attack was never scanned, and a semantic-only threat was never reported. A value none of whose threats is reportable is now treated as a miss and the scan continues, as the reference _check_value_enhanced does. Semantic threats report their attack type as the category and a threat with no threats list reports as uncategorized. The conformance pipeline runner follows the same rule.

Probe tests in detection_exclusions cover a filtered-out value followed by an attack, a disabled category, a semantic-only value, and the uncategorized case. The CHANGELOG 4.4.0 section notes the fix and the category-list change.

A value whose threats were all category-filtered (disabled category or an excluded header skip set) ended the whole request scan as clean, and a semantic-only threat was never reported. Filtered values now fall through to the next value, and semantic threats report their attack type as the category like the reference.
@rennf93 rennf93 added security Security-related issue (use private reporting first!) no-issue Chore or dependency PR that does not need an issue labels Oct 15, 2026
@github-actions github-actions Bot added documentation Docs site, README, CHANGELOG, license files area: engine Touches crates/guard-core-engine/ (compiler, preprocessor, semantic, detect, patterns) area: conformance Touches the spec 4.0.2 corpus, ledger, or xfail baseline labels Oct 15, 2026
@rennf93
rennf93 merged commit e9783d5 into master Oct 15, 2026
22 checks passed
@rennf93
rennf93 deleted the fix/scan-continue branch October 15, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: conformance Touches the spec 4.0.2 corpus, ledger, or xfail baseline area: engine Touches crates/guard-core-engine/ (compiler, preprocessor, semantic, detect, patterns) documentation Docs site, README, CHANGELOG, license files no-issue Chore or dependency PR that does not need an issue security Security-related issue (use private reporting first!)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant