Open
Description
Describe the bug
SecRule REQUEST_BODY "@rx abc" "id:111, msg:'test', t:base64DecodeExt,multiMatch, phase:2, block, capture, severity:'CRITICAL', tag:'attack-rce', tag:'paranoia-level/1', setvar:'tx.matched=%{MATCHED_VAR}', chain"
SecRule REQUEST_BODY "@rx 123"
The above rule match request which body is 'abc'
curl 127.0.0.1:86 -d 'abc'
The match is not expected, because the rule is "chained" rule, the second rule require the body contains "123" string.
If i remove multiMatch ,then everything is expected.
SecRule REQUEST_BODY "@rx abc" "id:222, msg:'test', t:none, phase:2, block, capture, severity:'CRITICAL', tag:'attack-rce', tag:'paranoia-level/1', setvar:'tx.matched=%{MATCHED_VAR}', chain"
SecRule REQUEST_BODY "@rx 123"
curl 127.0.0.1:86 -d 'abc' // not match
curl 127.0.0.1:86 -d 'abc123' // match
So i think the multiMatch flag has bug when it is used with chain rule