Synopsis
ScadaLTS is an open-source, web-based SCADA/HMI application. Version 2.8.1-release-candidate build 0 is affected by multiple vulnerabilities:
CVE-2026-84858: Authenticated Remote Code Execution via Scripting Sandbox Bypass (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
The DWR "DataSourceEditDwr" class exposes the "validateScript" method that compiles and executes attacker-supplied JavaScript via the Rhino scripting engine. There are no authorization checks on this method and so it is possible for an attacker with access to a low privilege user to abuse this flaw by leveraging the DWR routing bypass (see below).
The vendor added a source-level regex validator (ScriptValidatorUtils) and expanded the ClassShutter denylist in this build to block classes such as java.lang.ProcessBuilder. However, this defense is trivially bypassed by spawning a new unrestricted JavaScript engine via javax.script.ScriptEngineManager (which is not in the denylist) and encoding the inner payload as integer character codes to evade the source-level regex check. The new engine does not inherit the Rhino ClassShutter, giving full unrestricted access to java.lang.ProcessBuilder.
This results in a single HTTP request from a low-privilege user achieving root-level remote code execution with inline output exfiltration.
CVE-2026-84859 : Authenticated Blind SQL Injection (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N)
The /api/events/search endpoint accepts a JSON body containing a sortBy array. The values in this array are concatenated directly into the SQL ORDER BY clause without any sanitization or parameterization. This allows authenticated users with the ROLE_USER role to perform time-based and boolean-based blind SQL injection to extract arbitrary data from the database, including password hashes of all users.
The endpoint is accessible to any authenticated user with ROLE_USER, ROLE_ADMIN, or ROLE_PUBLIC via POST /api/events/search as defined in spring-security.xml.
This vulnerability can allow malicious users to extract data from the database.
Prerequisite: The attacking user must have at least one visible event in the userEvents table. This is the normal operational state for any SCADA operator who has data-point or data-source event subscriptions configured.
CVE-2026-84860 DWR Authorization Bypass - Systemic (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Spring Security gates DWR endpoints by URL path pattern, but DWR itself dispatches method calls based on the POST body parameters c0-scriptName and c0-methodName. The crossDomainSessionSecurity setting in web.xml is set to false, which disables DWR's built-in origin validation. This means any authenticated user can invoke any DWR method (regardless of the URL-based access control) by sending their request to a URL they are permitted to access (e.g. MiscDwr.initializeLongPoll.dwr) while targeting a restricted class in the POST body.
This is the systemic root cause that enables multiple other findings to be exploited as a low privilege user.
Solution
Scada-LTS has released a fix. Users should upgrade to version 2.8.1, available from the vendor's download page:
https://scada-lts.com/#downloads
Note: the fix is distributed as a build from the vendor's download page and is not currently published as a tagged release in the project's GitHub repository.
Disclosure Timeline
All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.
Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.
For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.
If you have questions or corrections about this advisory, please email [email protected]
Tenable One
Request a demo
The world’s leading AI-powered exposure management platform.
Thank You
Thank you for your interest in Tenable One.
A representative will be in touch soon.
Form ID: 7469
Form Name: one-eval
Form Class: c-form form-panel__global-form c-form--mkto js-mkto-no-css js-form-hanging-label c-form--hide-comments
Form Wrapper ID: one-eval-form-wrapper
Confirmation Class: one-eval-confirmform-modal
Simulate Success