Skip to content

Conversation

jlucovsky
Copy link
Contributor

Continuation of #13793

Issue: 1412

Extend the checks added for 7549 to include buffers.

Only consider sig matches with compatible ids/lists.

Link to ticket: https://redmine.openinfosecfoundation.org/issues/1412

Describe changes:

  • Extend buffer/variable checks to buffers init data
  • In strict-mode, do not load rules using variables from different buffers.
  • When not in strict mode, issue warning for rules that use variables from different buffers.

Updates:

Provide values to any of the below to override the defaults.

  • To use a Suricata-Verify or Suricata-Update pull request,
    link to the pull request in the respective _BRANCH variable.
  • Leave unused overrides blank or remove.

SV_REPO=
SV_BRANCH=OISF/suricata-verify#2576
SU_REPO=
SU_BRANCH=

Issue: 1412

When in strict mode, issue an error and refuse to load the rule if
variables produced from a different buffer are used with a separate
buffer.

When not in strict mode (default), issue a warning and load the rule.

Only consider sig matches with compatible ids/lists.
Issue 1412

Add mention of byte_{extract,math,test,jump} variable usage
and buffer scope and include how the command line option
strict-rule-keywords affects validation.
Copy link

codecov bot commented Sep 7, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.71%. Comparing base (0662736) to head (2bc7173).
⚠️ Report is 28 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #13809      +/-   ##
==========================================
- Coverage   83.71%   83.71%   -0.01%     
==========================================
  Files        1011     1011              
  Lines      275116   275153      +37     
==========================================
+ Hits       230321   230342      +21     
- Misses      44795    44811      +16     
Flag Coverage Δ
fuzzcorpus 63.03% <96.10%> (+0.02%) ⬆️
livemode 18.99% <0.00%> (-0.01%) ⬇️
pcap 44.69% <37.66%> (-0.01%) ⬇️
suricata-verify 65.08% <94.80%> (-0.02%) ⬇️
unittests 59.17% <74.02%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@suricata-qa
Copy link

Information: QA ran without warnings.

Pipeline = 27344

void DetectByteExtractRegister(void);

SigMatch *DetectByteExtractRetrieveSMVar(const char *, int sm_list, const Signature *);
const SigMatch *DetectByteExtractRetrieveSMVar(const char *, int *found_list, const Signature *);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a reminder that there is some decision required here, see #13720 (comment)

@catenacyber catenacyber added the decision-required Waiting on deliberation from the team label Sep 14, 2025
@catenacyber catenacyber removed the decision-required Waiting on deliberation from the team label Sep 22, 2025
@catenacyber
Copy link
Contributor

Decision: Try to tackle https://redmine.openinfosecfoundation.org/issues/7801

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants