CVE-2024-24823: graylog2-server 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
Other sources
Graylog is a free and open log management platform. Starting in version 4.3.0 and prior to versions 5.1.11 and 5.2.4, 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 a cross-site scripting attack. No such attack has been discovered. 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. Some workarounds are available. 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.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
maven/org.graylog2:graylog2-serverto a version that resolves this vulnerability.Fixed in 5.2.4 - Upgrade
Upgrade
maven/org.graylog2:graylog2-serverto a version that resolves this vulnerability.Fixed in 5.1.11 - Upgrade
Upgrade
Graylogto a version that resolves this vulnerability.Fixed in 5.1.11 - Upgrade
Upgrade
Graylogto a version that resolves this vulnerability.Fixed in 5.2.4 - Configuration
Use short session expiration to limit the window for session fixation via cookie injection.
Graylog short session expiration = enabled/shorter - Configuration
Explicitly log out unused sessions to reduce exposure to re-used session IDs.
Graylog explicit log outs of unused sessions = enabled
Event History
Frequently Asked Questions
What is the severity of CVE-2024-24823?
CVE-2024-24823 has been classified with a high severity level due to its potential to allow unauthorized access through session hijacking.
How do I fix CVE-2024-24823?
To mitigate CVE-2024-24823, upgrade to Graylog version 5.2.4 or 5.1.11, as these versions contain fixes for the vulnerability.
What type of vulnerability is CVE-2024-24823?
CVE-2024-24823 is a session management vulnerability that allows reusing session cookies for different user credentials.
What versions of Graylog are affected by CVE-2024-24823?
CVE-2024-24823 affects all Graylog versions from 4.3.0 to 5.1.11 and from 5.2.0-alpha.1 to 5.2.4.
Is there a workaround for CVE-2024-24823?
Currently, the recommended action is to update to the fixed versions as there is no known workaround to fully resolve the issue.