jwt-go allows excessive memory allocation during header parsing
Description
Published to the GitHub Advisory Database
Mar 21, 2025
Reviewed
Mar 21, 2025
Published by the National Vulnerability Database
Mar 21, 2025
Last updated
Mar 24, 2025
Summary
Function
parse.ParseUnverified
currently splits (via a call to strings.Split) its argument (which is untrusted data) on periods.As a result, in the face of a malicious request whose Authorization header consists of
Bearer
followed by many period characters, a call to that function incurs allocations to the tune of O(n) bytes (where n stands for the length of the function's argument), with a constant factor of about 16. Relevant weakness: CWE-405: Asymmetric Resource Consumption (Amplification)Details
See
parse.ParseUnverified
Impact
Excessive memory allocation
References