Medium, CVSS 4.5PyPIAmendedPublished
Bokeh server applications have Incomplete Origin Validation in WebSockets
CVE-2026-21883 · GHSA-793v-589g-574v
- Affected
- PyPI bokeh < 3.8.2
- Fixed in
- 3.8.2· Vendor fix available
- Issue
- This vulnerability allows for Cross-Site WebSocket Hijacking (CSWSH) of a deployed Bokeh server instance. Scope This vulnerability is only relevant to deployed Bokeh server instances. There is no impact on static HTML output, standalone embedded plots, or Jupyter notebook usage. This vulnerability does not prevent any requirements for up-front authentication on Bokeh servers that have authentication hooks in place, and cannot be used to make Bokeh servers deployed on private, internal networks accessible outside those networks. Impact If a Bokeh server is configured with an allowlist (e.g., dashboard.corp), an attacker can register a domain like dashboard.corp.attacker.com (or use a subdomain if applicable) and lure a victim to visit it. The malicious site can then initiate a WebSocket connection to the vulnerable Bokeh server. Since the Origin header (e.g., http://dashboard.corp.attacker.com/) matches the allowlist according to the flawed logic, the connection is accepted. Once…
Recommended action: Upgrade to 3.8.2 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.