Bug #6280
closedOptimization #7065: base64: move the decoder to rust
base64: strict mode should only accept strings that can be reliably converted back
Description
A string such as D=aB
is invalid and should be rejected by the parser.
More strings that should be rejected from the conversation on https://github.com/OISF/suricata/pull/11195 thanks to catenacyber
====
@X===D=
Updated by Shivani Bhardwaj 8 months ago
- Target version changed from TBD to 8.0.0-beta1
This needs a decision. Our parser would accept such a string in all modes as the string does not have any non base64 alphabet. On popular base64 decoders as well such a string is accepted but it is rejected by some parsers like Python's base64 library as it is incorrect to have padding bytes in the middle of a string.
Updated by Shivani Bhardwaj 8 months ago
@Philippe Antoine what do you think about this issue?
Updated by Philippe Antoine 8 months ago
Should be rejected in strict mode, not in others if it is accepted by popular base64 decoders
Updated by Shivani Bhardwaj 7 months ago ยท Edited
- Status changed from Assigned to In Review
Closed by: https://github.com/OISF/suricata/pull/11802
Updated by Shivani Bhardwaj 7 months ago
- Subject changed from base64: don't accept = in the middle of a string to base64: strict mode should only accept strings that can be reliably converted back
Updated by Shivani Bhardwaj 7 months ago
- Related to Task #7058: fuzz/base64: check decoded strings for correctness in strict mode added
Updated by Shivani Bhardwaj 3 months ago
- Status changed from In Review to Closed