Graylog session fixation vulnerability through cookie injection
Moderate severity
GitHub Reviewed
Published
Feb 7, 2024
in
Graylog2/graylog2-server
•
Updated Feb 17, 2024
Package
Affected versions
>= 4.3.0, < 5.1.11
>= 5.2.0-alpha.1, < 5.2.4
Patched versions
5.1.11
5.2.4
Description
Published by the National Vulnerability Database
Feb 7, 2024
Published to the GitHub Advisory Database
Feb 7, 2024
Reviewed
Feb 7, 2024
Last updated
Feb 17, 2024
Impact
Reauthenticating with an existing session cookie would re-use that session id, even if for different user credentials.
In this case, the pre-existing session could be used to gain elevated access to an existing Graylog login session, provided the malicious user could successfully inject their session cookie into someone else's browser.
The complexity of such an attack is high, because it requires presenting a spoofed login screen and injection of a session cookie into an existing browser, potentially through an XSS attack. No such attack has been discovered.
Patches
Graylog 5.1.11 and 5.2.4, and any versions of the 6.0 development branch contain patches to not re-use sessions under any circumstances, making this type of attack impossible.
Workarounds
Using short session expiration and explicit log outs of unused sessions can help limiting the attack vector. Unpatched this vulnerability exists, but is relatively hard to exploit.
A proxy could be leveraged to clear the
authentication
cookie for the Graylog server URL for the/api/system/sessions
endpoint, as that is the only one vulnerable.Analysis provided by Fabian Yamaguchi - Whirly Labs (Pty) Ltd
References