OS Command Injection in LMS (LAN Management System)
CVE-2026-40456 is an OS command injection vulnerability in LMS (LAN Management System) affecting versions before commit 9fcb4de. The flaw is caused by an IP address parameter being passed to the PHP exec() function without proper validation or sanitization. Because user-controlled input reaches an operating system command execution sink, an attacker can inject shell metacharacters or additional command content and cause arbitrary commands to be executed by the underlying OS in the security context of the LMS application.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Successful exploitation allows arbitrary operating system command execution on the host running LMS. This can result in full compromise of the application context, including unauthorized access to sensitive data, modification of system or application state, deployment of additional tooling or malware, and disruption of service availability. The supporting content indicates high impact to confidentiality, integrity, and availability.
If you can’t patch tonight, do this now.
If immediate patching is not possible, restrict access to the vulnerable LMS functionality to trusted administrators and trusted networks only. Reduce exposure of the LMS application, especially any feature that accepts the affected IP address parameter. Add compensating input validation or filtering to enforce strict IP address syntax, monitor for anomalous command execution, and harden the runtime environment to limit the privileges available to the LMS process until the fix is deployed.
Patch, then assume compromise.
Update LMS to a version that includes the fix introduced after commit 9fcb4de, or apply the corresponding patch/code change. Remediation should ensure that the affected IP address parameter is strictly validated against an allowlist format for legitimate IP addresses and is never passed unsafely into exec(). Where command execution is necessary, avoid shell invocation, use safer APIs that do not invoke a shell, and ensure any arguments are properly separated and escaped.
No public exploits tracked yet. Mallory keeps watching.
3 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.