golang-jwt is a Go implementation of JSON Web Tokens. Prior to 5.2.2 and 4.5.2, the function parse.ParseUnverified 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 functions argument), with a constant factor of about 16. This issue is fixed in 5.2.2 and 4.5.2.
The product does not properly control situations in which an adversary can cause the product to consume or produce excessive resources without requiring the adversary to invest equivalent work or otherwise prove authorization, i.e., the adversary’s influence is “asymmetric.”
Name | Vendor | Start Version | End Version |
---|---|---|---|
Red Hat Enterprise Linux 9 | RedHat | grafana-0:10.2.6-9.el9_5 | * |
Golang-github-golang-jwt-jwt | Ubuntu | upstream | * |
Golang-github-golang-jwt-jwt-v5 | Ubuntu | upstream | * |