# CVE-2023-41041: User session is still usable after logout in graylog2-server

> Attackers can reuse logged-out sessions in multi-node Graylog clusters to perform API requests until expiry, enabling unauthorized access.

- **Severity:** Low 2.6 (`CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Over the internet
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 30 Aug 2023
- **Updated:** 1 Oct 2024
- **Also known as:** GHSA-3fqm-frhg-7c85

## What is CVE-2023-41041?

CVE-2023-41041 is a low-severity authentication bypass vulnerability in graylog2-server, published on 30 Aug 2023. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.

### Official description

Graylog is a free and open log management platform. In a multi-node Graylog cluster, after a user has explicitly logged out, a user session may still be used for API requests until it has reached its original expiry time. Each node maintains an in-memory cache of user sessions. Upon a cache-miss, the session is loaded from the database. After that, the node operates solely on the cached session. Modifications to sessions will update the cached version as well as the session persisted in the database. However, each node maintains their isolated version of the session. When the user logs out, the session is removed from the node-local cache and deleted from the database. The other nodes will however still use the cached session. These nodes will only fail to accept the session id if they intent to update the session in the database. They will then notice that the session is gone. This is true for most API requests originating from user interaction with the Graylog UI because these will lead to an update of the session's "last access" timestamp. If the session update is however prevented by setting the `X-Graylog-No-Session-Extension:true` header in the request, the node will consider the (cached) session valid until the session is expired according to its timeout setting. No session identifiers are leaked. After a user has logged out, the UI shows the login screen again, which gives the user the impression that their session is not valid anymore. However, if the session becomes compromised later, it can still be used to perform API requests against the Graylog cluster. The time frame for this is limited to the configured session lifetime, starting from the time when the user logged out. This issue has been addressed in versions 5.0.9 and 5.1.3. Users are advised to upgrade.

Weakness: CWE-613 (DEPRECATED: Insufficient Session Expiration)

## Which versions are affected by CVE-2023-41041?

4 open source packages ship an affected version, including org.graylog2:graylog2-server. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `org.graylog2:graylog2-server` | Maven | From 1.0 | 5.0.9 |
| `org.graylog2:graylog2-server` | Maven | From 1.0 | 5.0.9 |
| `org.graylog2:graylog2-server` | Maven | From 5.1.0 | 5.1.3 |
| `org.graylog2:graylog2-server` | Maven | From 5.1.0 | 5.1.3 |

Products: Graylog Graylog.

## How do I fix CVE-2023-41041?

Upgrade org.graylog2:graylog2-server to a fixed version for your release line: 5.0.9 or 5.1.3.

## Is CVE-2023-41041 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2023-41041 exists.

## Other vulnerabilities in graylog2-server

- [CVE-2021-37759](https://insights.sbomify.com/CVE-2021-37759/): Information disclosure in n/a (critical 9.8)
- [CVE-2021-37760](https://insights.sbomify.com/CVE-2021-37760/): Information disclosure in n/a (critical 9.8)
- [CVE-2026-1435](https://insights.sbomify.com/CVE-2026-1435/): Incorrect management of session invalidation vulnerability in Graylog Web Interface (critical 9.3)
- [CVE-2025-53106](https://insights.sbomify.com/CVE-2025-53106/): Graylog vulnerable to privilege escalation through API tokens (high 8.8)
- [CVE-2024-24824](https://insights.sbomify.com/CVE-2024-24824/): graylog2-server vulnerable to instantiation of arbitrary classes triggered by API request (high 8.8)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2023-41041 and fix it if it is affected.

What it is: CVE-2023-41041 is a low-severity authentication bypass vulnerability in graylog2-server, published on 30 Aug 2023. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2023-41041 exists.

Affected packages and fixed versions:
- org.graylog2:graylog2-server (Maven): affected from 1.0; fixed in 5.0.9
- org.graylog2:graylog2-server (Maven): affected from 1.0; fixed in 5.0.9
- org.graylog2:graylog2-server (Maven): affected from 5.1.0; fixed in 5.1.3
- org.graylog2:graylog2-server (Maven): affected from 5.1.0; fixed in 5.1.3

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2023-41041/ (Markdown: https://insights.sbomify.com/CVE-2023-41041/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2023-41041
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2023-41041
- OSV: https://osv.dev/vulnerability/CVE-2023-41041

---
From sbomify Insights: https://insights.sbomify.com/CVE-2023-41041/
Summaries are generated and may contain mistakes; the official description above is the record.
