CVE-2025-53106: Graylog2 server Graylog Vulnerable To Privilege Escalation Vulnerability

HIGH
Advisory Identifier: GHSA-3m86-c9x3-vwm9
CWE-285
Published
Advisory Summary

CVE-2025-53106 is a HIGH graylog vulnerable to privilege escalation vulnerability (CWE-285: Improper Authorization) affecting Graylog2 server libraries in the Maven ecosystem. The issue involves graylog vulnerable to privilege escalation through api tokens. Remediation is available by upgrading affected packages to version 6.2.4, 6.3.0-rc.2.

CVE-2025-53106 at a Glance

CVE Identifier CVE-2025-53106
GHSA Identifier GHSA-3m86-c9x3-vwm9
Severity HIGH
CVSS v3.1 Base Score N/A
CWE Classification CWE-285: Improper Authorization
Affected Product Graylog2 server
Package Ecosystem Maven
Published Date
Last Updated

How to Fix CVE-2025-53106

To remediate this vulnerability, upgrade all affected Graylog2 server dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

org.graylog2:graylog2-server fixed: 6.2.4
<dependency>
    <groupId>org.graylog2</groupId>
    <artifactId>graylog2-server</artifactId>
    <version>6.2.4</version>
</dependency>
org.graylog2:graylog2-server fixed: 6.3.0-rc.2
<dependency>
    <groupId>org.graylog2</groupId>
    <artifactId>graylog2-server</artifactId>
    <version>6.3.0-rc.2</version>
</dependency>
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

mvn dependency:tree -Dincludes=org.graylog2

How to Check if You Are Affected

To determine whether your Java application is affected by CVE-2025-53106, inspect your build dependencies using the Maven Dependency Plugin:

mvn dependency:tree -Dincludes=org.graylog2

Analyze the terminal output to locate any version of Graylog2 server in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 6.2.4), your application is affected.

Note: The mvn dependency:tree -Dincludes=org.graylog2 command inspects the resolved dependency graph declared in your project's POM files; it does not perform automated security scanning or inspect runtime dynamic classpaths. Always verify runtime container classpaths and shaded JARs.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-285: Improper Authorization, where the product does not perform or incorrectly performs an authorization check when an actor attempts to access a resource or perform an action. In Graylog2 server, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Impact Graylog users can gain elevated privileges by creating and using API tokens for the local Administrator or any other user for whom the malicious user knows the ID. For the attack to succeed, the attacker needs a user account in Graylog. They can then proceed to issue hand-crafted requests to the Graylog REST API and exploit a weak permission check for token creation. ### Workarounds In Graylog version `6.2.0` and above, regular users can be restricted from creating API tokens. The respective configuration can be found in `System > Configuration > Users > "Allow users to create personal access tokens"`. This option should be *Disabled*, so that only administrators are allowed to create tokens. ### Recommended Actions After upgrading Graylog from a vulnerable version to a patched version, administrators are advised to perform the following steps to ensure the integrity of their system: #### Review API tokens An overview of all existing API tokens is available at `System > Users and Teams > Token Management`. Please review this list carefully and ensure each token is there for a reason. #### Check Audit Log (Graylog Enterprise only) Graylog Enterprise provides an audit log that can be used to review which API tokens were created when the system was vulnerable. Please search the Audit Log for `action:create token` and match the *Actor* with the user for whom the token was created. In most cases this should be the same user, but there might be legitimate reasons for users to be allowed to create tokens for other users. If in doubt, please review the user's actual permissions. #### Review API token creation requests Graylog Open does not provide audit logging, but many setups contain infrastructure components, like reverse proxies, in front of the Graylog REST API. These components often provide HTTP access logs. Please check the access logs to detect malicious token creations by reviewing all API token requests to the `/api/users/{user_id}/tokens/{token_name}` endpoint (`{user_id}` and `{token_name}` may be arbitrary strings).

CVE-2025-53106 Affected Graylog2 server Versions

2 component(s)
Fixed Versions:
6.2.46.3.0-rc.2
Product / Package Ecosystem Affected Versions Fixed Version
org.graylog2:graylog2-server
Maven
≥ 6.2.0
< 6.2.4
6.2.4
org.graylog2:graylog2-server
Maven
≥ 6.3.0-alpha.1
< 6.3.0-rc.2
6.3.0-rc.2

References

Frequently Asked Questions

What is CVE-2025-53106?
CVE-2025-53106 is a security vulnerability in Graylog2 server involving Graylog vulnerable to privilege escalation through API tokens under CWE-285: Improper Authorization.
Which Graylog2 server versions are affected?
Affected versions include releases prior to 6.2.4, 6.3.0-rc.2 across affected packages: org.graylog2:graylog2-server.
What version fixes CVE-2025-53106?
Upgrading to 6.2.4, 6.3.0-rc.2 (or the latest patched release for your respective branch) resolves the vulnerability.
Is graylog2-server affected?
Yes, org.graylog2:graylog2-server is affected in releases prior to 6.2.4, 6.3.0-rc.2. Upgrade your dependency to 6.2.4, 6.3.0-rc.2 or later.
What CWE is associated with CVE-2025-53106?
CVE-2025-53106 is classified under CWE-285: Improper Authorization (The product does not perform or incorrectly performs an authorization check when an actor attempts to access a resource or perform an action.).
How can I check Maven dependencies for CVE-2025-53106?
Run the dependency tree command: 'mvn dependency:tree -Dincludes=org.graylog2'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-3m86-c9x3-vwm9",
  "modified" : "2025-07-02T18:55:45Z",
  "published" : "2025-06-30T19:35:38Z",
  "aliases" : [ "CVE-2025-53106" ],
  "summary" : "Graylog vulnerable to privilege escalation through API tokens",
  "details" : "### Impact\n\nGraylog users can gain elevated privileges by creating and using API tokens for the local Administrator or any other user for whom the malicious user knows the ID.\n\nFor the attack to succeed, the attacker needs a user account in Graylog. They can then proceed to issue hand-crafted requests to the Graylog REST API and exploit a weak permission check for token creation.\n\n### Workarounds\n\nIn Graylog version `6.2.0` and above, regular users can be restricted from creating API tokens. The respective configuration can be found in `System > Configuration > Users > \"Allow users to create personal access tokens\"`. This option should be *Disabled*, so that only administrators are allowed to create tokens.\n\n### Recommended Actions\n\nAfter upgrading Graylog from a vulnerable version to a patched version, administrators are advised to perform the following steps to ensure the integrity of their system:\n\n#### Review API tokens \nAn overview of all existing API tokens is available at `System > Users and Teams > Token Management`. Please review this list carefully and ensure each token is there for a reason.  \n\n#### Check Audit Log (Graylog Enterprise only)\nGraylog Enterprise provides an audit log that can be used to review which API tokens were created when the system was vulnerable. Please search the Audit Log for `action:create token` and match the *Actor* with the user for whom the token was created. In most cases this should be the same user, but there might be legitimate reasons for users to be allowed to create tokens for other users. If in doubt, please review the user's actual permissions.\n\n#### Review API token creation requests\nGraylog Open does not provide audit logging, but many setups contain infrastructure components, like reverse proxies, in front of the Graylog REST API. These components often provide HTTP access logs. Please check the access logs to detect malicious token creations by reviewing all API token requests to the `/api/users/{user_id}/tokens/{token_name}` endpoint (`{user_id}` and `{token_name}` may be arbitrary strings).",
  "severity" : [ {
    "type" : "CVSS_V4",
    "score" : "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "Maven",
      "name" : "org.graylog2:graylog2-server"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "6.2.0"
      }, {
        "fixed" : "6.2.4"
      } ]
    } ]
  }, {
    "package" : {
      "ecosystem" : "Maven",
      "name" : "org.graylog2:graylog2-server"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "6.3.0-alpha.1"
      }, {
        "fixed" : "6.3.0-rc.2"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/Graylog2/graylog2-server/security/advisories/GHSA-3m86-c9x3-vwm9"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2025-53106"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/Graylog2/graylog2-server/commit/6936bd16a783c2944a3d2f1e83902062520f90e3"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/Graylog2/graylog2-server/commit/9215b8f1fd32566c31e6f7447ed864df3590c157"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/Graylog2/graylog2-server"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-285" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2025-06-30T19:35:38Z",
    "nvd_published_at" : "2025-07-02T14:15:26Z"
  }
}