mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2026-10-12 02:22:55 +00:00
JWT_REGEX accepts a signature segment of any length and parseJWT only validates the header/payload, so a value that matches the JWT pattern but carries a malformed/truncated signature (e.g. 41 base64url characters, which is length % 4 == 1 and thus impossible base64) reached crackHMAC. There decodeBase64(signature) let binascii.Error propagate, aborting the whole run with an unhandled exception during checkJWT(). Guard the signature decode: a signature that is not valid base64url cannot be an HMAC we could verify, so crackHMAC now treats it as not crackable (returns None) instead of raising. The other auditJWT findings are unaffected. Added a regression doctest. Co-authored-by: chan770 <[email protected]>