-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Base64 backports 6.0.x/v2 #9292
Base64 backports 6.0.x/v2 #9292
Commits on Jul 25, 2023
-
util/base64: add test for long string w RFC4648
(cherry picked from commit 85ae1d2)
Configuration menu - View commit details
-
Copy full SHA for bb242a0 - Browse repository at this point
Copy the full SHA bb242a0View commit details -
util/base64: skip any invalid char for RFC2045
RFC 2045 states that any invalid character should be skipped over, this is the RFC used by mime handler in Suricata code to deal with base64 encoded data. So far, only spaces were skipped as a part of implementation of this RFC, extend it to also skip over any other invalid character. Add corresponding test. (cherry picked from commit e46b033)
Configuration menu - View commit details
-
Copy full SHA for 328e247 - Browse repository at this point
Copy the full SHA 328e247View commit details -
util/base64: fix padding bytes for trailing data
Padding bytes for the last remainder data should be as follows: Case | Remainder bytes | Padding ---------------------------------------------- I | 1 | 3 II | 2 | 2 III | 3 | 1 However, we calculate the decoded_bytes with the formula: decoded_bytes = ASCII_BLOCK - padding this means for Case I when padding is 3 bytes, the decoded_bytes would be 0. This is incorrect for any trailing data. In any of the above cases, if the parsing was successful, there should at least be 1 decoded byte. (cherry picked from commit 095c335)
Configuration menu - View commit details
-
Copy full SHA for f7b5bda - Browse repository at this point
Copy the full SHA f7b5bdaView commit details -
util/base64: check for dest buf size in last block
Just like the check for destination buffer size done previously for complete data, it should also be done for the trailing data to avoid goind out of bounds. (cherry picked from commit 0e8b451)
Configuration menu - View commit details
-
Copy full SHA for cb9dd4b - Browse repository at this point
Copy the full SHA cb9dd4bView commit details -
util/base64: check dest buf size to hold 3Bytes
The destination buffer should be able to hold at least 3 Bytes during the processing of the last block of data. If it cannot hold at least 3 Bytes, then that may lead to dynamic buffer overflow while decoding. (cherry picked from commit 62d7821)
Configuration menu - View commit details
-
Copy full SHA for 9308a6c - Browse repository at this point
Copy the full SHA 9308a6cView commit details -
util/base64: update test macro to use user data
(cherry picked from commit c2ae87e)
Configuration menu - View commit details
-
Copy full SHA for 3661231 - Browse repository at this point
Copy the full SHA 3661231View commit details -
util/base64: fix tests for RFC2045
(cherry picked from commit 49ad383)
Configuration menu - View commit details
-
Copy full SHA for 6b42c09 - Browse repository at this point
Copy the full SHA 6b42c09View commit details -
util/mime: skip over any invalid char
For certain edge case handling for spaces, spaces were handled particularly in the remainder processing functions. Make sure that now that as per RFC 2045, util-base64 would skip over any invalid char, the edge cases in MIME processor also be handled the same way. This completes the work done in e46b033. Ticket 6135 Ticket 6207 (cherry picked from commit 789353b)
Configuration menu - View commit details
-
Copy full SHA for cdd6e20 - Browse repository at this point
Copy the full SHA cdd6e20View commit details
Commits on Jul 26, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 77faa88 - Browse repository at this point
Copy the full SHA 77faa88View commit details