Junglewise Threat Intelligence

CVE-2026-43580: OpenClaw browser press/type navigation guard bypass

CVE-2026-43580 · Severity: low · CVSS 3.1 · Published 2026-04-17

Technologies: Openclaw. Vendors: Openclaw.

Executive brief

OpenClaw is an open-source browser automation library used by developers to test and interact with web pages programmatically. The vulnerability allows attackers who can control user interactions (such as keyboard presses or form submissions) to bypass SSRF (Server-Side Request Forgery) protections, potentially enabling access to restricted internal URLs or services. This could allow an attacker to redirect browser automation to malicious or restricted destinations that should have been blocked by security policies.

Technical details

The vulnerability is an authorization/access control bypass (CWE-862, CWE-918) in OpenClaw's browser automation framework. The root cause: pressKeyViaPlaywright and typeViaPlaywright(submit=true) used a legacy single-shot URL check (assertPostInteractionNavigationSafe) that performed no framenavigated listener and no delayed-navigation grace window. This allowed delayed JavaScript redirects (e.g., setTimeout(() => location.href = disallowed_url, 100)) triggered by Enter/submit keypresses to complete after the synchronous check, bypassing SSRF policy validation. The fix threads the resolved SSRF policy through interaction routes and applies a three-phase navigation guard (framenavigated listener ON → action executes → listener OFF → 250ms grace-window check) matching the guard already applied to click/evaluate/batch paths. Attack requires authenticated access to invoke browser automation and ability to control interaction triggers. No network prerequisites beyond the configured SSRF policy enforcement.

Affected products

  • OpenClaw openclaw < 2026.4.10

Timeline

  • 2026-04-17: disclosed
  • 2026-04-10: patched: Fixed in openclaw 2026.4.10; openclaw@2026.4.14 includes the fix
  • 2026-04-07: other: PR #62023 merged (initial guard on click/evaluate/batch)
  • 2026-04-08: other: PR #63226 merged (re-check on interaction-driven navigations)
  • 2026-04-10: other: PR #63889 merged (extend guard to pressKey and type(submit))

References