CVE-2026-39361 json
OpenObserve has a SSRF Protection Bypass via IPv6 Bracket Notation in validate_enrichment_url
published 2026-04-07 7 mo ago modified 2026-10-06 33 d ago also EUVD-2026-19869
- cvss
- 7.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 19%
- public exploits
- 0
- none known
Summary
OpenObserve is a cloud-native observability platform. In 0.70.3 and earlier, the validate_enrichment_url function in src/handler/http/request/enrichment_table/mod.rs fails to block IPv6 addresses because Rust's url crate returns them with surrounding brackets (e.g. "[::1]" not "::1"). An authenticated attacker can reach internal services blocked from external access. On cloud deployments this enables retrieval of IAM credentials via AWS IMDSv1 (169.254.169.254), GCP metadata, or Azure IMDS. On self-hosted deployments it allows probing internal network services.
Patch / fix
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 19% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/openobserve/openobserve/security/advisories/GHSA-gcwf-3p7h-wm79 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.7 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N |
Affected products
- openobserve openobserve
Classification
- Weakness
-
- CWE-918 Server-Side Request Forgery
References
-
github.com
/openobserve/openobserve/commit/d1a5d8f65b432e2e82f83231390dec7f107e8d75
patch
-
github.com
/openobserve/openobserve/security/advisories/GHSA-gcwf-3p7h-wm79
exploit, mitigation, vendor-advisory
Sources
- CVE List CVE-2026-39361
- NVD CVE-2026-39361
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.