CVE-2026-103042 Overview
CVE-2026-103042 is a memory exhaustion vulnerability in LightLLM through version 1.2.0. The flaw exists in the NCCL control channel when the server is launched with the --pd_trans_mode nccl option. Unauthenticated remote attackers can invoke the exposed_set_value method to store unbounded key-value pairs in the KV-transfer worker. Because no size or quantity limit is enforced, the worker process consumes all available memory and crashes, triggering node failure. The issue is classified under CWE-770: Allocation of Resources Without Limits or Throttling.
Critical Impact
Unauthenticated network attackers can crash LightLLM inference nodes running in NCCL prefill-decode mode, disrupting availability of hosted large language model services.
Affected Products
- LightLLM versions up to and including 1.2.0
- Deployments started with the --pd_trans_mode nccl flag
- KV-transfer worker processes exposing the NCCL control channel
Discovery Timeline
- 2026-09-29 - CVE-2026-103042 published to NVD
- 2026-09-29 - Last updated in NVD database
Technical Details for CVE-2026-103042
Vulnerability Analysis
LightLLM is an inference framework for large language models developed by ModelTC. When operators enable the prefill-decode disaggregation feature with the NCCL transport mode, the KV-transfer worker exposes a control channel used to coordinate key-value cache movement between nodes. This channel exposes a remote method named exposed_set_value that accepts arbitrary key-value pairs and stores them in worker memory.
The method performs no authentication, no rate limiting, and no bounds checking on the number or size of stored entries. An attacker with network reachability to the control port can repeatedly call exposed_set_value with large payloads until the worker exhausts host memory. When the operating system terminates the process, the affected inference node fails and disrupts service availability for the hosted model.
Root Cause
The root cause is missing input validation and missing resource quotas on the RPC handler that backs exposed_set_value. The relevant code paths reside in lightllm/server/router/model_infer/mode_backend/pd/nccl_kv_transporter.py and base_kv_move_manager.py. See the VulnCheck Advisory for LightLLM for annotated source references.
Attack Vector
Exploitation requires only network access to the NCCL control channel port exposed by the KV-transfer worker. No credentials, user interaction, or elevated privileges are required. An attacker sends a stream of RPC requests invoking exposed_set_value with unique keys and large value payloads. Memory growth is unbounded until the kernel out-of-memory killer terminates the worker, causing node failure.
Refer to the GitHub Issue #1595 and the GitHub LightLLM Repository for the technical write-up and code context.
Detection Methods for CVE-2026-103042
Indicators of Compromise
- Rapid, sustained growth in resident memory of LightLLM KV-transfer worker processes
- Repeated inbound connections to the NCCL control channel port from unexpected source addresses
- Kernel oom-killer log entries terminating LightLLM worker processes
- Unexplained node failures or restarts in prefill-decode LightLLM deployments
Detection Strategies
- Monitor per-process memory metrics for LightLLM workers and alert on sustained growth exceeding baseline
- Inspect network telemetry for high-volume RPC traffic targeting the NCCL control channel port
- Correlate worker crash events with preceding spikes in inbound control channel traffic
- Review application logs for repeated invocations of exposed_set_value from unexpected clients
Monitoring Recommendations
- Collect host-level memory, OOM kill events, and process restart telemetry from all inference nodes
- Enable network flow logging on ports bound by the NCCL control channel
- Baseline normal call rates for KV-transfer RPC methods and alert on deviations
- Forward logs and telemetry to a centralized analytics platform for correlation across the inference fleet
How to Mitigate CVE-2026-103042
Immediate Actions Required
- Restrict network exposure of the NCCL control channel to trusted inference nodes only
- Place LightLLM workers behind firewall rules that permit only intra-cluster peers
- Disable --pd_trans_mode nccl on deployments that do not require prefill-decode disaggregation
- Monitor worker memory consumption and configure automatic restart with alerting
Patch Information
At the time of publication, no fixed release is referenced in the NVD entry. Operators should track the GitHub LightLLM Repository and GitHub Issue #1595 for upstream remediation. A durable fix requires authentication on the NCCL control channel, per-connection quotas on exposed_set_value, and bounds on total stored key-value memory.
Workarounds
- Bind the NCCL control channel to a private management interface unreachable from untrusted networks
- Apply host firewall rules (iptables, nftables, or cloud security groups) that allow only known peer IPs
- Deploy inference nodes inside an isolated network segment or service mesh with mutual TLS
- Set cgroup memory limits on the KV-transfer worker to contain resource exhaustion to a single container
# Example: restrict NCCL control channel to a trusted subnet using nftables
nft add table inet lightllm
nft add chain inet lightllm input { type filter hook input priority 0 \; policy drop \; }
nft add rule inet lightllm input ip saddr 10.0.0.0/24 tcp dport 29500 accept
nft add rule inet lightllm input tcp dport 29500 drop
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

