CVE-2026-49357

CVE-2026-49357 is a high-severity missing authentication for critical function vulnerability in line-desktop-mcp (npm), affecting versions <= 1.1.1. It is fixed in 1.1.2.

Does this CVE actually affect you?

Kodem shows which CVEs are reachable and running in your applications, so you fix what's exploitable, not just what's listed.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Runtime intelligence, not another scanner.

Summary

Streamable HTTP mode exposes LINE Desktop read/send tools without MCP authentication

Streamable HTTP mode exposes LINE Desktop read/send tools without MCP authentication

line-desktop-mcp supports a --http-mode Streamable HTTP transport for use with clients such as n8n. In this mode the server binds to 0.0.0.0 and exposes the MCP /mcp endpoint without an MCP-layer authentication check. Any network client that can reach the port can initialize a session, list tools, and call tools that read LINE Desktop chat history or send LINE messages through the already logged-in desktop application.

This is High for deployments where the HTTP port is reachable beyond the local host, because the server acts with the user authority of the logged-in LINE Desktop session. It is lower if the listener is strictly firewalled to trusted local clients.

Affected version

Repository: dtwang/line-desktop-mcp

Current source checked: fbed0d2d3048e63f48a356a1267ed8ec5e78f3ae on main, committed 2026-05-14.

Published npm package checked: [email protected].

Source evidence

README.md documents Streamable HTTP mode:

npx line-desktop-mcp@latest --http-mode --port 3000

The same README documents MCP endpoints at /mcp and explains that this mode is intended for clients such as n8n.

src/server.js registers LINE Desktop tools including:

  • get_line_chatroom_history_default
  • get_line_chatroom_history_long
  • get_line_chatroom_history_short
  • send_message_manual
  • send_message_auto

Those tool handlers call into the desktop automation layer: getChatHistory(...) and sendChatMessage(...).

In HTTP mode, src/server.js creates an Express app and Streamable HTTP transport, accepts POSTs to /mcp, creates sessions, connects the transport to the MCP server, and calls transport.handleRequest(...). I did not find an authentication or bearer-token check before session creation or tool invocation.

The listener is explicitly network-bound:

app.listen(port, 0.0.0.0, () => {
  console.error(`LINE Desktop MCP Server running on Streamable HTTP mode`);
  console.error(`  Local:   http://127.0.0.1:${port}${endpoint}`);
  console.error(`  Network: http://0.0.0.0:${port}${endpoint}`);
});

Vulnerability chain

  1. A user starts the server with --http-mode --port 3000.
  2. The server binds on 0.0.0.0:3000, not only loopback.
  3. A network client reaches /mcp and sends the normal MCP initialize request.
  4. The server creates a Streamable HTTP session without authenticating the caller.
  5. The caller can list and invoke LINE Desktop tools.
  6. Tool calls execute through the logged-in LINE Desktop application on the user workstation.

Impact

An unauthenticated network client can read LINE chat history through the MCP history tools and can send LINE messages through the send-message tools, including send_message_auto when the tool call requests immediate sending. The attacker does not need LINE credentials or a LINE API token; they only need network reachability to the MCP HTTP port.

The practical impact is disclosure of private LINE conversations and unauthorized messages sent as the logged-in desktop user.

A critical operation is accessible without requiring any authentication. Typical impact: any user can invoke the privileged function.

Affected versions

line-desktop-mcp (<= 1.1.1)

Security releases

line-desktop-mcp → 1.1.2 (npm)

Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.

Already deployed Kodem?

See it in your environmentNew to Kodem? Get a demo →

Remediation advice

Require authentication before accepting Streamable HTTP MCP sessions or tool calls. For example:

  • require a bearer token or local secret when --http-mode is used;
  • bind HTTP mode to 127.0.0.1 by default unless the operator explicitly opts into network exposure;
  • refuse to start 0.0.0.0 HTTP mode without authentication;
  • document that host.docker.internal / n8n setups must still authenticate to the MCP server.

A defense-in-depth improvement would also keep send_message_auto disabled unless explicitly enabled by a server-side flag, because it converts MCP tool access into immediate message sending as the desktop user.

Frequently Asked Questions

  1. What is CVE-2026-49357? CVE-2026-49357 is a high-severity missing authentication for critical function vulnerability in line-desktop-mcp (npm), affecting versions <= 1.1.1. It is fixed in 1.1.2. A critical operation is accessible without requiring any authentication.
  2. Which versions of line-desktop-mcp are affected by CVE-2026-49357? line-desktop-mcp (npm) versions <= 1.1.1 is affected.
  3. Is there a fix for CVE-2026-49357? Yes. CVE-2026-49357 is fixed in 1.1.2. Upgrade to this version or later.
  4. Is CVE-2026-49357 exploitable, and should I be worried? Whether CVE-2026-49357 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
  5. What actually determines whether CVE-2026-49357 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
  6. How do I fix CVE-2026-49357? Upgrade line-desktop-mcp to 1.1.2 or later.

Stop the waste.
Protect your environment with Kodem.