Skip to content

deps: bump zentinel-modsec to 0.2.0 - #5

Merged
raffaelschneider merged 1 commit into
mainfrom
deps/modsec-0.2.0
Aug 22, 2026
Merged

deps: bump zentinel-modsec to 0.2.0#5
raffaelschneider merged 1 commit into
mainfrom
deps/modsec-0.2.0

Conversation

@raffaelschneider

@raffaelschneider raffaelschneider commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Takes the CRS compatibility work and the chain-semantics fix released today in zentinel-modsec v0.2.0.

Why this needed a deliberate bump

The engine went to a minor version specifically so this would not happen automatically. This crate pinned "0.1.4" — a caret requirement — so a 0.1.5 would have been picked up on the next build.

zentinel-modsec#18 changes which requests get blocked, in both directions:

  • chains no longer fire their disruptive action on a partial match (this was a false-positive source, and CRS leans heavily on chains)
  • continuation rules now inherit the starter's phase, so phase:1 chains that could never complete now can

For a WAF agent that is a security-behaviour change, not a routine dependency bump.

What this gains

  • SecRuleUpdateTargetById — the standard CRS exclusion workflow, so false positives can be tuned away per-target instead of by disabling whole rules
  • MULTIPART_PART_HEADERS actually populated, so CRS's multipart rules evaluate rather than silently matching nothing

Verification

Added tests/engine_behaviour.rs, because the existing suite covers this crate's configuration and protocol surface but not blocking decisions — an engine bump could previously change security behaviour with nothing here to catch it. The new tests assert that complete chains block, partial chains do not, SQLi is detected, clean traffic passes, and anomaly scoring reaches its threshold.

All green on 0.2.0: 17 tests, clippy clean, cargo fmt --check clean.

Operators upgrading should re-test their ruleset against representative traffic, per the release notes.

0.2.0 changes chain evaluation: a chain's actions now fire only when every
link matches, and continuation rules inherit the starter's phase. That
alters which requests are blocked, which is why the engine went to a minor
version rather than a patch -- the upgrade should be deliberate.

Adds tests/engine_behaviour.rs covering what operators actually depend on:
complete chains block, partial chains do not, SQLi is detected, clean
traffic passes, and anomaly scoring reaches its threshold. The agent's
existing tests cover configuration and protocol, not blocking decisions,
so an engine bump could previously change security behaviour with nothing
here to catch it.
@raffaelschneider
raffaelschneider merged commit 8532727 into main Aug 22, 2026
3 checks passed
@raffaelschneider
raffaelschneider deleted the deps/modsec-0.2.0 branch August 31, 2026 18:30
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