Headline
GHSA-3xf8-g8gr-g7rh: Graylog session fixation vulnerability through cookie injection
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
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
- GHSA-3xf8-g8gr-g7rh
- Graylog2/graylog2-server@1596b74
- Graylog2/graylog2-server@b93a663