CVE-2026-84858: ScadaLTS authenticated remote code execution via scripting sandbox bypass

CVE-2026-84858 · Severity: high · CVSS 8.8 · Published 2026-09-16

ScadaLTS is an open-source web-based SCADA/HMI application used to monitor and control industrial systems. An authenticated attacker with low privilege credentials can bypass security controls in the JavaScript scripting sandbox to execute arbitrary code on the server with root-level privileges. This allows complete compromise of the industrial control system, including data manipulation, system shutdown, and lateral movement to connected equipment.

Technologies: ScadaLTS. Vendors: ScadaLTS.

Quick answers

Is CVE-2026-84858 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-84858 being exploited in the wild.
How severe is CVE-2026-84858?
High severity, with a CVSS score of 8.8, published 16 September 2026.
Which products and versions are affected?
ScadaLTS 2.8.1-release-candidate build 0.
Is there a fix for CVE-2026-84858?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-84858 attacked?
It is attacked over the network, in a network appliance.
Am I affected by CVE-2026-84858?
Check whether you run ScadaLTS at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability exists in the DWR (Direct Web Remoting) "DataSourceEditDwr" class, which exposes a "validateScript" method that compiles and executes attacker-supplied JavaScript via the Rhino scripting engine. Although the vendor implemented a regex validator (ScriptValidatorUtils) and expanded the ClassShutter denylist to block dangerous classes like java.lang.ProcessBuilder, this defense is trivially bypassed by instantiating an unrestricted JavaScript engine via javax.script.ScriptEngineManager (not in the denylist) and encoding the payload as integer character codes to evade regex detection. The new engine lacks the restrictive ClassShutter, enabling direct access to java.lang.ProcessBuilder for code execution. Authentication is required, but the DWR authorization bypass (CVE-2026-84860) allows any authenticated user to invoke restricted methods regardless of URL-based access controls due to disabled crossDomainSessionSecurity. A single HTTP request from a low-privilege user achieves remote code execution with output exfiltration.

Affected products

  • ScadaLTS ScadaLTS 2.8.1-release-candidate build 0

Timeline

  • 2026-09-16: disclosed

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.