Skip to content

OpenObserve Privilege Escalation Vulnerability in Users API

Critical
prabhatsharma published GHSA-hfxx-g56f-8h5v Feb 8, 2024

Package

cargo OpenObserve (Rust)

Affected versions

< 0.8.0

Patched versions

>= 0.8.0

Description

Summary

A critical vulnerability has been identified in the "/api/{org_id}/users" endpoint. This vulnerability allows any authenticated regular user ('member') to add new users with elevated privileges, including the 'root' role, to an organization. This issue circumvents the intended security controls for role assignments.

Details

The vulnerability resides in the user creation process, where the payload does not validate the user roles. A regular user can manipulate the payload to assign root-level privileges.

Affected Endpoint:

  • /api/{org_id}/users

PoC (Proof of Concept)

  • As a regular member of an organization without "Admin" or "Root" role, run the following command against your OpenObserve instance:
curl -X 'POST' \
  'http://localhost:5080/api/default/users' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "email": "priv_escalation@localhost.com",
  "password": "12345678",
  "role": "root"
}'

Impact

This vulnerability leads to Unauthorized Privilege Escalation and significantly compromises the application's role-based access control system. It allows unauthorized control over application resources and poses a risk to data security. All users, particularly those in administrative roles, are impacted.

Severity

Critical
10.0
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

CVE ID

CVE-2024-24830

Credits