Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLocate exposed OpenObserve instance
-
DeliverySend GET /config/runtime unauthenticated
-
ExploitFilter fails to mask dsn/creds fields
-
ExecutionReceive full config with plaintext PostgreSQL DSN
-
ImpactConnect to backing database with leaked credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitable against default configurations because /config/runtime is registered without authentication and requires no user interaction (AV:N/AC:L/PR:N/UI:N) - any client with network reachability to the instance can trigger it. The MOST severe outcome (plaintext database credentials) is LIMITED to deployments using the PostgreSQL metadata backend, since the leaked meta_postgres_dsn/meta_postgres_ro_dsn/meta_ddl_dsn/usage_reporting_creds fields only carry credentials in that configuration; other deployments still leak root admin email, internal NATS address, and filesystem layout. Realistic risk is further gated by whether the instance is exposed to untrusted networks (e.g., internet-facing) versus isolated behind internal-only access. Affected versions are prior to 0.90.3. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, base 7.5) is well-supported by the description: the /config/runtime endpoint is registered with no authentication and is reachable by any network client, requiring no user interaction and no special conditions on a default install. The confidentiality-only impact (C:H, I:N, A:N) is appropriate because the flaw leaks secrets rather than modifying state - but that leak is severe on PostgreSQL-backed deployments, where meta_postgres_dsn/meta_postgres_ro_dsn/meta_ddl_dsn expose full database connection strings (credentials included), enabling downstream compromise of the backing store. No EPSS score, KEV entry, POC, or SSVC decision data was provided, so exploitation-likelihood signals are absent; per the precision rules this is 'no public exploit identified at time of analysis.' The fix is confirmed (PR #12220 removes the /runtime and /reload routes; commit 4f3db1cf; release v0.90.3), and the root cause - a hide_sensitive_fields keyword filter that does not recognize 'dsn' or 'creds' substrings - is concrete and easily weaponized. Net: this is a genuine, high-value unauthenticated information-disclosure issue for exposed instances, tempered by the fact that OpenObserve is a moderately-deployed platform rather than ubiquitous infrastructure, so realistic risk depends heavily on whether the instance is internet-reachable and PostgreSQL-backed. |
| Exploit ScenarioDerived | An unauthenticated attacker who can reach an OpenObserve instance sends a single GET request to /config/runtime and receives the full server configuration serialized as JSON. Because the sensitive-field filter misses 'dsn' and 'creds' names, the response includes plaintext PostgreSQL DSNs (with credentials), the root admin email, internal NATS address, and filesystem layout, which the attacker then uses to connect directly to the backing database. No public exploit code is identified, but the attack is a trivial single HTTP GET requiring no authentication or tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 24, 2026
Unauthenticated network clients can retrieve the complete runtime configuration of an OpenObserve instance - including plaintext PostgreSQL connection strings (meta_postgres_dsn, meta_postgres_ro_dsn, meta_ddl_dsn) and usage_reporting_creds - simply by issuing a GET request to /config/runtime, which is registered without any authentication check. The flaw affects all OpenObserve releases prior to 0.90.3 and stems from a hide_sensitive_fields keyword filter that does not recognize the field names dsn or creds, so those values are serialized verbatim; deployments using a PostgreSQL metadata backend are most severely impacted because live database credentials are exposed, while all deployments leak the root administrator email, internal NATS address, and filesystem layout. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, base 7.5) confirms remote, unauthenticated, no-interaction exploitation against default configurations; no public exploit code or active exploitation was identified at time of analysis. Vendor-released patch: 0.90.3.
RemediationAI
Apply the vendor-released patch by upgrading OpenObserve to 0.90.3 or later; the fix commit 4f3db1cf790ffe8ea065d98f87344e839ec6e477 and PR 12220 (https://github.com/openobserve/openobserve/pull/12220) remove the /config/runtime and /config/reload routes from config_routes() outright, so there is no configuration toggle that re-enables the safe behavior - upgrading is the only complete fix. If immediate upgrade is not possible, block GET requests to /config/runtime and /config/reload at the reverse proxy, load balancer, or WAF in front of OpenObserve and restrict the instance to trusted networks; note that this compensating control only covers traffic through the proxy and does not protect clients with direct network reachability to the server port, so network segmentation must accompany it. Because the endpoint is unauthenticated, assume any exposure window resulted in disclosure: rotate the PostgreSQL credentials referenced by meta_postgres_dsn, meta_postgres_ro_dsn, meta_ddl_dsn, and usage_reporting_creds, and rotate any other secrets present in those DSNs; also review logs for requests to /config/runtime and treat the leaked root administrator email, internal NATS address, and filesystem paths as reconnaissance data that could enable follow-on attacks. Full details and version confirmation are in the advisory at https://github.com/openobserve/openobserve/security/advisories/GHSA-v496-g5c9-vqxw.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
OpenObserve is a cloud-native observability platform written in Rust, with HTTP routing defined in src/handler/http/router/mod.rs. The vulnerable handler, status::config_runtime, serializes the entire in-memory configuration structure to the HTTP response after passing it through a keyword-based redaction routine (hide_sensitive_fields). That routine operates on a denylist of sensitive key names and simply fails to include the substrings dsn and creds, so any configuration field whose name contains those tokens - meta_postgres_dsn, meta_postgres_ro_dsn, meta_ddl_dsn, and usage_reporting_creds - is emitted in cleartext. This is a classic CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) failure: a denylist-based sanitizer combined with an unauthenticated diagnostic endpoint. The upstream fix (PR #12220, commit 4f3db1cf790ffe8ea065d98f87344e839ec6e477) removes the /runtime and /reload routes from config_routes() entirely rather than extending the keyword filter, eliminating the disclosure surface. CPE data (cpe:2.3:a:openobserve:openobserve:*:*:*:*:*:*:*:*) marks the whole pre-0.90.3 version range as affected.
Know when Openobserve gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Unauthenticated network GET with no interaction on default config (AV:N/AC:L/PR:N/UI:N); leaks DB credentials/secrets so C:H, with no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
OpenObserve is a cloud-native observability platform. Prior to 0.90.3, OpenObserve registers the /config/runtime endpoint without authentication and serializes the complete server configuration after applying the hide_sensitive_fields keyword filter. The filter does not recognize dsn or creds field names, so meta_postgres_dsn, meta_postgres_ro_dsn, meta_ddl_dsn, and usage_reporting_creds can be returned in plaintext to an unauthenticated network client. PostgreSQL deployments can expose database credentials, and the same response can disclose the root administrator email address, internal NATS address, filesystem layout, and other deployment details. This issue is fixed in version 0.90.3.
Articles & Coverage 1
Technical POC Analysis
CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor), arising from two independent defects that combine: Missing authentication on the route.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
OpenObserve deployments running versions below 0.90.3 expose their complete runtime configuration - including live PostgreSQL connection strings - to anyone who can reach the service over the network, with no authentication required. For organizations using OpenObserve as their observability platform, this hands an attacker the keys to the underlying metadata database, creating a realistic path to broad data compromise and lateral movement beyond the observability stack. Leadership should treat this as a high-priority exposure, because the leaked credentials remain valid until they are rotated, even after the vulnerable endpoint is closed.
No vendor-released patch identified at time of analysis; interim mitigations: block or deny access to /config/runtime at the reverse proxy, load balancer, or WAF, restrict OpenObserve management interfaces to trusted networks, and immediately rotate all exposed PostgreSQL DSN credentials and usage_reporting_creds.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Openobserve
View allOpenObserve is a observability platform built specifically for logs, metrics, traces, analytics, designed to work at pet
OpenObserve is a observability platform built specifically for logs, metrics, traces, analytics, designed to work at pet
The OpenObserve open-source observability platform provides the ability to filter logs in a dashboard by the values uplo
Server-Side Request Forgery (SSRF) in OpenObserve up to 0.70.3 allows authenticated attackers to bypass IPv6 address val
OpenObserve is an open-source observability platform. Rated medium severity (CVSS 6.1), this vulnerability is remotely e
EUVD-2026-86328
NVD
CVE.org
EPSS
GitHub
Exploit-DB