CVE-2025-40943: Siemens Devices allow Code Injection via Malformed Trace Files
CVE-2025-40943 Published on March 10, 2026
Affected devices do not properly sanitize contents of trace files. This could allow an attacker to inject code through social engineering an authorized user, who has the function right "Read diagnostics", to import a specially crafted trace file. The malicious trace file is insufficiently sanitized and malicious code could be executed in the clients browser session and trigger PLC operations via the webserver that the legitimate user is authorized to perform.
Weakness Type
What is an Eval Injection Vulnerability?
The software receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. "eval"). This may allow an attacker to execute arbitrary code, or at least modify what code can be executed.
CVE-2025-40943 has been classified to as an Eval Injection vulnerability or weakness.
Products Associated with CVE-2025-40943
stack.watch emails you whenever new vulnerabilities are published in Siemens Simatic S7 1500 Software Controller or Siemens Simatic S7 Plcsim Advanced. Just hit a watch button to start following.
Affected Versions
Siemens SIMATIC Drive Controller CPU 1504D TF:- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before V4.1.2 is affected.
- Before V4.1.2 is affected.
- Before V4.1.2 is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before V4.1.2 is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before V4.1.2 is affected.
- Before V4.1.2 is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before V4.1.2 is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.