CVE-2024-24824

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:graylog:graylog:*:*:*:*:*:*:*:*
cpe:2.3:a:graylog:graylog:*:*:*:*:*:*:*:*

History

15 Feb 2024, 15:40

Type Values Removed Values Added
References () https://github.com/Graylog2/graylog2-server/blob/e458db8bf4f789d4d19f1b37f0263f910c8d036c/graylog2-server/src/main/java/org/graylog2/rest/resources/system/ClusterConfigResource.java#L208-L214 - () https://github.com/Graylog2/graylog2-server/blob/e458db8bf4f789d4d19f1b37f0263f910c8d036c/graylog2-server/src/main/java/org/graylog2/rest/resources/system/ClusterConfigResource.java#L208-L214 - Product
References () https://github.com/Graylog2/graylog2-server/commit/75ef2b8d60e7d67f859b79fe712c8ae7b2e861d8 - () https://github.com/Graylog2/graylog2-server/commit/75ef2b8d60e7d67f859b79fe712c8ae7b2e861d8 - Patch
References () https://github.com/Graylog2/graylog2-server/commit/7f8ef7fa8edf493106d5ef6f777d4da02c5194d9 - () https://github.com/Graylog2/graylog2-server/commit/7f8ef7fa8edf493106d5ef6f777d4da02c5194d9 - Patch
References () https://github.com/Graylog2/graylog2-server/security/advisories/GHSA-p6gg-5hf4-4rgj - () https://github.com/Graylog2/graylog2-server/security/advisories/GHSA-p6gg-5hf4-4rgj - Exploit, Vendor Advisory
First Time Graylog
Graylog graylog
CPE cpe:2.3:a:graylog:graylog:*:*:*:*:*:*:*:*
Summary
  • (es) Graylog es una plataforma de gestión de registros abierta y gratuita. A partir de la versión 2.0.0 y anteriores a las versiones 5.1.11 y 5.2.4, se pueden cargar y crear instancias de clases arbitrarias mediante una solicitud HTTP PUT al endpoint `/api/system/cluster_config/`. El sistema de configuración del clúster de Graylog utiliza nombres de clases completos como claves de configuración. Para validar la existencia de la clase solicitada antes de usarlas, Graylog carga la clase usando el cargador de clases. Si un usuario con los permisos adecuados realiza la solicitud, se pueden crear instancias de clases arbitrarias con constructores String de 1 argumento. Esto ejecutará código arbitrario que se ejecuta durante la creación de instancias de clase. En el caso de uso específico de `java.io.File`, el comportamiento de la pila interna del servidor web provocará la exposición de la información al incluir todo el contenido del archivo en la respuesta a la solicitud REST. Las versiones 5.1.11 y 5.2.4 contienen una solución para este problema.

07 Feb 2024, 18:16

Type Values Removed Values Added
New CVE

Information

Published : 2024-02-07 18:15

Updated : 2024-02-15 15:40


NVD link : CVE-2024-24824

Mitre link : CVE-2024-24824

CVE.ORG link : CVE-2024-24824


JSON object : View

Products Affected

graylog

  • graylog
CWE
CWE-863

Incorrect Authorization

CWE-284

Improper Access Control