Draft: transform/from_base64: Signal error condition (use with absent) #12337
+89
−8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Extend the from_base64 transform to signal cases when the buffer cannot be base64-decoded.
A transform option named
set_error
is added to modify the transform buffer. By default, the transform buffer is unmodified if the content cannot be base64-decoded. Ifset_error
is specified as a transform option and the buffer can't be base64-decoded, the buffer is truncated. In these cases, theabsent
keyword can be used withset_error
to trigger an alert.For example:
content:"/?arg="; from_base64: set_error; absent;
will trigger an alert since the content is not base64-encoded.Link to ticket: https://redmine.openinfosecfoundation.org/issues/7114
Describe changes:
set_error
set_error
behaviorset_error
was specified and the buffer cannot be base64-decoe.Provide values to any of the below to override the defaults.
link to the pull request in the respective
_BRANCH
variable.SV_REPO=
SV_BRANCH=OISF/suricata-verify#2212
SU_REPO=
SU_BRANCH=
LIBHTP_REPO=
LIBHTP_BRANCH=