OpenDJ unauthenticated SSRF, local file read and unbounded-read DoS in the DSMLv2 gatewayGHSA-68r5-9hpg-7qw9
CRITICALFix: OpenIdentityPlatform/OpenDJ@131e857GHSA-68r5-9hpg-7qw9 is a critical-severity (CVSS 9.4) vulnerability in org.openidentityplatform.opendj:opendj-dsml-servlet. A fix is available for org.openidentityplatform.opendj:opendj-dsml-servlet — see the affected versions and patch details below.
Real-World Exposure
org.openidentityplatform.opendj:opendj-dsml-servletReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
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.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | org.openidentityplatform.opendj:opendj-dsml-servlet | all versions | 5.1.2org.openidentityplatform.opendj:opendj-dsml-servlet:5.1.2 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.openidentityplatform.opendj:opendj-dsml-servlet, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update org.openidentityplatform.opendj:opendj-dsml-servlet to 5.1.2 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-68r5-9hpg-7qw9 is resolved across your whole dependency graph.
Workarounds
Restrict outbound requests from the affected component to an allowlist of hosts, block access to link-local and internal address ranges at the network layer, and require authentication on internal services so a forged request cannot reach them unauthenticated.
Frequently Asked Questions
Is GHSA-68r5-9hpg-7qw9 in your dependencies?
Find it across Maven, including transitive dependencies.