/

CVE-2026-75128

Severity:

CRITICAL RISK

(9.8)

Missing Authentication (CWE-306) in Langchain-Chatchat

CVE-2026-75128

Awaiting Analysis

Vulnerability type

Category:

Missing Authentication

CWE:

CWE-306

Impact:

Remote Code Execution

Severity:

CRITICAL RISK

(9.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Langchain-Chatchat exposes a tool-calling API endpoint without authentication, allowing unauthenticated remote users to invoke registered tools by name. Because a shell tool is available by default, a remote attacker may execute arbitrary operating-system commands with the privileges of the server process, potentially including root in the shipped Docker image.

Langchain-Chatchat exposes a tool-calling API endpoint without authentication, allowing unauthenticated remote users to invoke registered tools by name. Because a shell tool is available by default, a remote attacker may execute arbitrary operating-system commands with the privileges of the server process, potentially including root in the shipped Docker image.

Affected context

The issue occurs in Langchain-Chatchat deployments that expose the POST /tools/call endpoint and leave tool invocation accessible without an authentication or authorization boundary. Risk is greatest when the shell tool remains registered and the service runs with elevated operating-system privileges, such as root inside a container.

The issue occurs in Langchain-Chatchat deployments that expose the POST /tools/call endpoint and leave tool invocation accessible without an authentication or authorization boundary. Risk is greatest when the shell tool remains registered and the service runs with elevated operating-system privileges, such as root inside a container.

Exploit preconditions

  • Attack surface: Network-accessible POST /tools/call API endpoint
  • Required access: No authentication is required when the endpoint is exposed
  • Trigger point: A request naming a registered tool, particularly the shell tool
  • Why exploitation is possible: The endpoint dispatches tool calls without verifying the caller's identity or authorization, allowing untrusted requests to reach command-execution functionality
  • Attack surface: Network-accessible POST /tools/call API endpoint
  • Required access: No authentication is required when the endpoint is exposed
  • Trigger point: A request naming a registered tool, particularly the shell tool
  • Why exploitation is possible: The endpoint dispatches tool calls without verifying the caller's identity or authorization, allowing untrusted requests to reach command-execution functionality

Why this happens

The vulnerability results from exposing a security-sensitive tool-dispatch operation without an authentication and authorization check. The application treats requests to invoke registered tools as trusted even when they originate from unauthenticated remote clients. This maps to CWE-306: Missing Authentication for Critical Function, because a critical operation can be reached without establishing the caller's identity.

The vulnerability results from exposing a security-sensitive tool-dispatch operation without an authentication and authorization check. The application treats requests to invoke registered tools as trusted even when they originate from unauthenticated remote clients. This maps to CWE-306: Missing Authentication for Critical Function, because a critical operation can be reached without establishing the caller's identity.

Potential impact

  • Remote attackers may execute arbitrary operating-system commands
  • Attackers could access, modify, or destroy data available to the server process
  • The application environment may be compromised
  • Elevated container privileges could increase the severity of the compromise
  • Attackers may use the host or service for lateral movement, persistence, or further abuse
  • Remote attackers may execute arbitrary operating-system commands
  • Attackers could access, modify, or destroy data available to the server process
  • The application environment may be compromised
  • Elevated container privileges could increase the severity of the compromise
  • Attackers may use the host or service for lateral movement, persistence, or further abuse

General mitigation guidance

Mitigation generally focuses on protecting tool invocation with strong identity and authorization controls and reducing the capabilities exposed to untrusted callers.

Common defensive patterns include:

  • Require authentication and per-tool authorization before dispatching any tool call
  • Avoid registering shell or other command-execution tools in externally reachable services unless they are explicitly required
  • Apply allowlists that restrict callable tools, arguments, and execution contexts
  • Run the service with a dedicated non-root identity and minimal filesystem, network, and operating-system permissions
  • Bind administrative or tool APIs to trusted networks or private interfaces where appropriate
  • Treat all tool names and arguments as untrusted input and validate them against strict schemas
  • Add rate limiting, request auditing, and isolation controls around high-impact operations

Mitigation generally focuses on protecting tool invocation with strong identity and authorization controls and reducing the capabilities exposed to untrusted callers.

Common defensive patterns include:

  • Require authentication and per-tool authorization before dispatching any tool call
  • Avoid registering shell or other command-execution tools in externally reachable services unless they are explicitly required
  • Apply allowlists that restrict callable tools, arguments, and execution contexts
  • Run the service with a dedicated non-root identity and minimal filesystem, network, and operating-system permissions
  • Bind administrative or tool APIs to trusted networks or private interfaces where appropriate
  • Treat all tool names and arguments as untrusted input and validate them against strict schemas
  • Add rate limiting, request auditing, and isolation controls around high-impact operations

How teams detect issues like this

Detection can combine code review, runtime monitoring, and policy enforcement:

  • Use static analysis to identify sensitive API routes that dispatch tools without authentication or authorization checks
  • Review routes that accept tool names or command-like arguments from HTTP requests
  • Search deployment configuration for publicly exposed tool APIs and services running as root
  • Monitor requests to /tools/call, especially unauthenticated calls and unusual tool names or argument patterns
  • Enforce CI or API security policies requiring authentication for critical operations and prohibiting shell tools in public-facing deployments
  • Use automated review tools to flag command execution reachable from network handlers

Detection can combine code review, runtime monitoring, and policy enforcement:

  • Use static analysis to identify sensitive API routes that dispatch tools without authentication or authorization checks
  • Review routes that accept tool names or command-like arguments from HTTP requests
  • Search deployment configuration for publicly exposed tool APIs and services running as root
  • Monitor requests to /tools/call, especially unauthenticated calls and unusual tool names or argument patterns
  • Enforce CI or API security policies requiring authentication for critical operations and prohibiting shell tools in public-facing deployments
  • Use automated review tools to flag command execution reachable from network handlers

Sources

SourceLink
github.comgithub.com/chatchat-space/Langchain-Chatchat/blob/a6a9193b5002061719f0eee62c6310bd5b1b7f63/libs/chatchat-server/chatchat/server/api_server/tool_routes.py#L33
lasso.securitylasso.security/vulnerability-database/cve-2026-75128
vulncheck.comvulncheck.com/advisories/langchain-chatchat-through-0.3.1.3-unauthenticated-rce-via-tools-call-endpoint

Frequently asked

questions

Yes. When the affected API is network-accessible, an attacker may invoke the endpoint remotely without first authenticating.

The attacker generally needs only network reachability to the POST /tools/call endpoint. No valid account is required when authentication is absent.

Require authentication and fine-grained authorization before any tool dispatch, and remove or isolate shell execution capabilities that are not essential.

Classify tool invocation as a privileged operation, enforce secure API policies in development and deployment, run services with least privilege, and continuously monitor sensitive endpoints.

Yes. When the affected API is network-accessible, an attacker may invoke the endpoint remotely without first authenticating.

The attacker generally needs only network reachability to the POST /tools/call endpoint. No valid account is required when authentication is absent.

Require authentication and fine-grained authorization before any tool dispatch, and remove or isolate shell execution capabilities that are not essential.

Classify tool invocation as a privileged operation, enforce secure API policies in development and deployment, run services with least privilege, and continuously monitor sensitive endpoints.

Find out what's already
exploitable in your codebase.