openidentityplatform/opendj · Security
OpenDJ unauthenticated SSRF, local file read and unbounded-read DoS in the DSMLv2 gateway
- GHSA ID
- GHSA-68r5-9hpg-7qw9
- Severity
- critical
- Published
- Updated
- CVSS
- 9.4 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
- CVSS v3
- 9.4 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
Description
The DSMLv2 SOAP gateway (opendj-dsml-servlet) in OpenIdentityPlatform OpenDJ through 5.1.1 dereferences attacker-supplied xsd:anyURI values server-side without a scheme allowlist, egress filtering, or a size cap, and is reachable without authentication by default. A remote unauthenticated attacker can submit a DSML add/modify request whose value is a URI to (1) perform server-side request forgery against internal services and the cloud metadata endpoint (SSRF), (2) read local files via file: URIs, and (3) exhaust memory through an unbounded response read (DoS). Fixed in 5.1.2: anyURI dereferencing is disabled by default; when enabled it is limited to an http/https allowlist, rejects loopback/link-local/private/reserved targets, refuses HTTP redirects, and caps the bytes read. The gateway also now requires container-managed authentication by default.
CWEs
- CWE-73 · External Control of File Name or Path
- CWE-400 · Uncontrolled Resource Consumption
- CWE-918 · Server-Side Request Forgery (SSRF)
References
- https://github.com/OpenIdentityPlatform/OpenDJ/security/advisories/GHSA-68r5-9hpg-7qw9 ↗
- https://github.com/OpenIdentityPlatform/OpenDJ/commit/131e8576dcf3613f944c3e02527959bbf52370c3 ↗
- https://github.com/OpenIdentityPlatform/OpenDJ/releases/tag/5.1.2 ↗
- https://github.com/advisories/GHSA-68r5-9hpg-7qw9 ↗