Skip to main content
← All vulnerabilities
CVE-2024-24824GHSA-P6GG-5HF4-4RGJ

graylog2-server vulnerable to instantiation of arbitrary classes triggered by API request

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.1.11, 5.2.4
1 proof of concept on GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

Graylog is a free and open log management platform. Starting in version 2.0.0 and prior to versions 5.1.11 and 5.2.4, arbitrary classes can be loaded and instantiated using a HTTP PUT request to the `/api/system/cluster_config/` endpoint. Graylog's cluster config system uses fully qualified class names as config keys. To validate the existence of the requested class before using them, Graylog loads the class using the class loader. If a user with the appropriate permissions performs the request, arbitrary classes with 1-arg String constructors can be instantiated. This will execute arbitrary code that is run during class instantiation. In the specific use case of `java.io.File`, the behavior of the internal web-server stack will lead to information exposure by including the entire file content in the response to the REST request. Versions 5.1.11 and 5.2.4 contain a fix for this issue.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated
  4. EPSS reached 10%

    FIRST estimates at least a 10% chance of exploitation in the next 30 days

Affected versions

  • Graylog2 graylog2-server

    From 2.0.0 · fixed in 5.1.11; From 5.2.0 · fixed in 5.2.4

  • org.graylog2:graylog2-serverMaven

    From 2.0.0 · fixed in 5.1.11

  • org.graylog2:graylog2-serverMaven

    From 5.2.0-alpha.1 · fixed in 5.2.4

References 5

GitHub · Graylog2/graylog2-server

GitHub · rootkiTED/graylog-cve-2024-24824-exploit