CVE-2026-35589
Received Received - Intake
Cross-Site WebSocket Hijacking in Nanobot Bridge Enables Account Takeover

Publication date: 2026-04-14

Last updated on: 2026-04-23

Assigner: GitHub, Inc.

Description
nanobot is a personal AI assistant. Versions prior to 0.1.5 contain a Cross-Site WebSocket Hijacking (CSWSH) vulnerability exists in the bridge's WebSocket server in bridge/src/server.ts, resulting from an incomplete remediation of CVE-2026-2577. The original fix changed the binding from 0.0.0.0 to 127.0.0.1 and added an optional BRIDGE_TOKEN parameter, but token authentication is disabled by default and the server does not validate the Origin header during the WebSocket handshake. Because browsers do not enforce the Same-Origin Policy on WebSockets unless the server explicitly denies cross-origin connections, any website visited by a user running the bridge can establish a WebSocket connection to ws://127.0.0.1:3001/ and gain full access to the bridge API. This allows an attacker to hijack the WhatsApp session, read incoming messages, steal authentication QR codes, and send messages on behalf of the user. This issue has bee fixed in version 0.1.5.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-04-14
Last Modified
2026-04-23
Generated
2026-05-07
AI Q&A
2026-04-15
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
nanobot nanobot to 0.1.5 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-1385 The product uses a WebSocket, but it does not properly verify that the source of data or communication is valid.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

The vulnerability is a Cross-Site WebSocket Hijacking (CSWSH) issue in the nanobot personal AI assistant's bridge WebSocket server. It exists in versions prior to 0.1.5 due to incomplete remediation of a previous vulnerability (CVE-2026-2577). Although the server was changed to bind only to localhost (127.0.0.1) and an optional token authentication was added, token authentication is disabled by default and the server does not validate the Origin header during the WebSocket handshake.

Because browsers do not enforce the Same-Origin Policy on WebSockets unless the server explicitly denies cross-origin connections, any website visited by a user running the bridge can establish a WebSocket connection to ws://127.0.0.1:3001/ and gain full access to the bridge API.

This allows an attacker to hijack the WhatsApp session, read incoming messages, steal authentication QR codes, and send messages on behalf of the user.


How can this vulnerability impact me? :

This vulnerability can have serious impacts including unauthorized access to your WhatsApp session through the nanobot bridge API.

  • Hijacking your WhatsApp session.
  • Reading your incoming messages without your consent.
  • Stealing authentication QR codes used for session authentication.
  • Sending messages on your behalf, potentially impersonating you.

What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, upgrade nanobot to version 0.1.5 or later, where the issue has been fixed.

Ensure that the WebSocket server is not accessible from external networks by verifying it binds only to localhost (127.0.0.1).

Enable token authentication (BRIDGE_TOKEN) on the WebSocket server to prevent unauthorized access.

Verify that the server validates the Origin header during the WebSocket handshake to enforce same-origin policy.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

The vulnerability allows an attacker to hijack WhatsApp sessions, read incoming messages, steal authentication QR codes, and send messages on behalf of the user by exploiting a Cross-Site WebSocket Hijacking issue in the nanobot bridge's WebSocket server.

Such unauthorized access to personal communications and authentication data could lead to violations of data protection regulations like GDPR and HIPAA, which require safeguarding personal and sensitive information against unauthorized access and disclosure.

However, the provided information does not explicitly discuss compliance impacts or regulatory considerations.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by checking if the Nanobot WhatsApp Bridge WebSocket server is running locally on ws://127.0.0.1:3001 without token authentication enabled and without Origin header validation.

To detect the vulnerable service, you can check for a listening WebSocket server on port 3001 bound to localhost (127.0.0.1). For example, use the following command to check if the port is open:

  • netstat -an | grep 127.0.0.1:3001

You can also use curl or websocat to attempt a WebSocket connection and observe if the server accepts connections without token authentication or Origin validation.

  • websocat ws://127.0.0.1:3001

If the connection is accepted without requiring a token or rejecting cross-origin requests, the system is vulnerable.

Additionally, reviewing the configuration or environment variables to see if BRIDGE_TOKEN is set or not can help determine if token authentication is enabled.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart