gosaml2 vulnerable to Denial Of Service Via Deflate Decompression Bomb
Moderate severity
GitHub Reviewed
Published
Mar 1, 2023
in
russellhaering/gosaml2
•
Updated May 20, 2024
Description
Published to the GitHub Advisory Database
Mar 2, 2023
Reviewed
Mar 2, 2023
Published by the National Vulnerability Database
Mar 3, 2023
Last updated
May 20, 2024
Impact
SAML Service Providers using this library for SAML authentication support are likely susceptible to Denial of Service attacks. A bug in this library enables attackers to craft a
deflate
-compressed request which will consume significantly more memory during processing than the size of the original request. This may eventually lead to memory exhaustion and the process being killed.Mitigation
The maximum compression ratio achievable with
deflate
is 1032:1, so by limiting the size of bodies passed to gosaml2, limiting the rate and concurrency of calls, and ensuring that lots of memory is available to the process it may be possible to help Go's garbage collector "keep up".Implementors are encouraged not to rely on this.
Patches
This issue is addressed in v0.9.0
References