CVE-2026-87996: Open WebUI: SSRF into internal services via DNS rebinding in the Playwright web loader
With the Playwright web loader enabled, Open WebUI checks the address behind a user-submitted URL before allowing the request, then handed the request to the browser to perform. The browser resolved the hostname a second time, on its own, and that answer was never checked. An attacker who controls the authoritative DNS for a hostname they submit can answer the first lookup with a public address and the second with an internal one, so the browser connects to an address the check exists to block. The connection-layer pinning that protects the other fetch paths could not apply here, because the request ran inside the browser rather than through our own HTTP clients.
References
- github.com/advisories/GHSA-4v28-j6q3-5m4r
- github.com/open-webui/open-webui/commit/27402ff210bfa253445720920dfb86b15a00327b
- github.com/open-webui/open-webui/pull/28634
- github.com/open-webui/open-webui/releases/tag/v0.11.1
- github.com/open-webui/open-webui/security/advisories/GHSA-4v28-j6q3-5m4r
- nvd.nist.gov/vuln/detail/CVE-2026-87996
Code Behaviors & Features
Detect and mitigate CVE-2026-87996 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →