semicolons can't be escaped in unquoted values
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 67/100
Research direction
Start by reading the parser code that handles unquoted option values and the existing tests for semicolon-delimited options; the issue does not name specific files. Reproduce the example rule and check how the escaped semicolon and backslash appear in the parsed metadata. Done means an escaped semicolon does not end the value, with the parser behavior covered by a test.
Written by the indexing model from the issue text.
Description
Suricata allows for escaped semicolons in unquoted values like in this rule alert ip any any -> any any (metadata:a b\;c; sid:1;). Weirdly, it actually includes the \ in the metadata: "metadata":{"a":["b\\;c"]}.
I haven't actually run into this in the wild but it came up while investigating https://github.com/google/gonids/issues/251. Seems rare and weird but maybe still worth fixing.
Slopfix™: Don't end an unquoted option value at an escaped semicolon
- Dominant language
- Go
- Stars
- 197
- Forks
- 51
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 21
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from google/gonids
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
google/gonids#251 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 56/100
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 58/100
google/gonids#249 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 20/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
status:needs-review type:bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Gentleman-Programming/engram#2079 ·
Maintainers usually reply within 1 day
-
bug triage/pending
Difficulty 1/5 Under an hour Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
limitlessprojects/Go-Hybrid#1377 ·
Maintainers usually reply within 1 day
-
bug report
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 3 days