Skip to main content

ScadaLTS EUVDEUVD-2026-80826

| CVE-2026-84859 MEDIUM
SQL Injection (CWE-89)
2026-09-16 tenable GHSA-gqpm-g63c-92xv
6.5
CVSS 3.1 · Vendor: tenable
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with low-privilege ROLE_USER account
  2. Delivery
    POST crafted sortBy array to /api/events/search
  3. Exploit
    Payload concatenated into ORDER BY clause
  4. Execution
    Blind boolean/time-based inference executes
  5. Impact
    Extract user password hashes from database

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated ScadaLTS session with any of ROLE_USER, ROLE_ADMIN, or ROLE_PUBLIC (per spring-security.xml), so the attacker needs valid credentials but only the lowest privilege tier - deployments that provision public or self-service low-privilege accounts effectively lower this barrier. The specific vector is the sortBy array in the JSON body of POST /api/events/search, whose values are concatenated unsanitized into the SQL ORDER BY clause; exploitation is blind (time-based/boolean-based inference) so it is slower and noisier than in-band SQLi but requires no special non-default configuration. Affected build is ScadaLTS 2.8.1-release-candidate build 0.

Impact

This is a genuine but moderate-priority issue whose CVSS 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) is well-calibrated and I agree with it. The network attack vector and low complexity are offset by PR:L - exploitation requires an authenticated account, though the description notes the endpoint is reachable by the lowest privilege tier (ROLE_USER, and even ROLE_PUBLIC), so the authentication barrier is thin in deployments that hand out low-privilege or public accounts. The impact is correctly scoped to confidentiality only (C:H/I:N/A:N): an ORDER BY-clause injection is read-oriented and lets an attacker exfiltrate arbitrary data including all users' password hashes, but does not by itself grant write/modify or availability impact. No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided data, so there is no signal of active or automated exploitation - this is a Tenable-disclosed research finding (TRA-2026-60), not an in-the-wild threat. CWE is listed as N/A in the input but this is unambiguously CWE-89 (SQL Injection). Net: a real, credible authenticated data-disclosure bug that should be patched, but not an emergency given the authentication requirement and absence of exploitation signals.

Exploit ScenarioDerived

An attacker who holds any low-privilege ScadaLTS account (ROLE_USER, ROLE_ADMIN, or ROLE_PUBLIC) sends a POST to /api/events/search with a crafted sortBy array whose values embed time-based or boolean-based blind SQL payloads. Because the array is concatenated directly into the ORDER BY clause without sanitization or parameterization, the attacker iteratively infers and extracts arbitrary database contents, including every user's password hash. No public exploit code is identified at time of analysis, but Tenable documents the technique in TRA-2026-60.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 16, 2026

Authenticated blind SQL injection in ScadaLTS 2.8.1-release-candidate build 0 lets any logged-in user with the lowest privilege tier (ROLE_USER, ROLE_ADMIN, or ROLE_PUBLIC) extract arbitrary database contents, including password hashes for every account on the platform. The flaw lives in the JSON sortBy array accepted by POST /api/events/search, whose values are concatenated straight into the SQL ORDER BY clause with no sanitization or parameterization, forcing attackers to use slower time-based and boolean-based inference rather than in-band extraction. CVSS 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) is well calibrated: exploitation requires valid credentials but scada-lts deployments that grant ROLE_PUBLIC or self-service low-privilege accounts effectively erase that barrier, and there is no public exploit code and no confirmed active exploitation (CISA KEV) at time of analysis.

RemediationAI

No vendor-released patch was identified at time of analysis, so remediation depends on compensating controls until an upstream fix ships. The most effective short-term measure is to deny access to the POST /api/events/search endpoint at the reverse proxy or application firewall for any principal that does not genuinely need event search, since the flaw is only reachable through that single route; the trade-off is that the event-search feature of the HMI becomes unavailable to operators. In parallel, audit and remove ROLE_PUBLIC or self-service low-privilege accounts, because the endpoint accepts the lowest privilege tier and the practical severity scales directly with how many accounts exist; disabling public access may break anonymous dashboard or kiosk views. If the deployment can tolerate database slimming, recreate the ScadaLTS datasource user with read-only privileges scoped away from the users/credentials tables so a successful injection cannot reach password hashes; this will break any application feature that legitimately writes through that account. Deploy WAF rules that inspect the sortBy array for SQL metacharacters, ORDER BY keywords, and delay-inducing functions such as SLEEP or BENCHMARK, accepting the risk of false positives on legitimate sort field names. Finally, monitor database and application logs for anomalous sortBy values, repeated queries with consistent response-time deltas, or unexpected ORDER BY constructs, which are the observable signatures of time-based and boolean-based blind exploitation. Tenable's advisory at https://www.tenable.com/security/research/tra-2026-60 and the NVD record at https://nvd.nist.gov/vuln/detail/CVE-2026-84859 should be monitored for a fixed build.

Affected VersionsENISA

Scada-LTS 2.8.1

Affected Packages

euvd scada_lts no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ScadaLTS is a Java/Spring-based open-source Supervisory Control and Data Acquisition (SCADA) platform built on the legacy ScadaBR codebase, exposing a REST API alongside its HMI/SCADA tooling. The vulnerable component is the event-search REST resource backing POST /api/events/search; it deserializes a JSON request body and passes the user-supplied sortBy array directly into a dynamically constructed SQL statement's ORDER BY clause. Because ORDER BY cannot be parameterized with standard JDBC placeholders, the developers concatenated the values into the query string, which places the code firmly in the SQL injection class (CWE-89) even though the CWE field was not populated in the upstream record. The root cause is string-built SQL combined with insufficient input validation on a sortable field list. Access control is defined in spring-security.xml, which grants the endpoint to ROLE_USER, ROLE_ADMIN, and ROLE_PUBLIC, so no elevated role is required. The blind nature of the injection (no result set returned to the caller) forces time-based and boolean-based inference techniques, making extraction slower and noisier than classic in-band SQLi but still fully capable of dumping credential tables. The CPE cpe:2.3:a:scada-lts:scada-lts:*:*:*:*:*:*:*:* and the ENISA EUVD entry (EUVD-2026-80826) both scope the issue to ScadaLTS 2.8.1, consistent with the reported release-candidate build 0.

Know when Scada Lts gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (tenable) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

Network endpoint reachable by any low-privilege authenticated user (PR:L); ORDER BY injection enables blind read of all data including password hashes (C:H), with no write or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (tenable).

CVSS VectorVendor: tenable

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

ScadaLTS 2.8.1-release-candidate build 0 is affected by an Authenticated Blind SQL Injection

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.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
niche open-source SCADA/HMI web application, limited industrial footprint
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2023-33472 HIGH POC
8.8 Jan 13

An issue was discovered in Scada-LTS v2.7.5.2 build 4551883606 and before, allows remote attackers with low-level authen

CVE-2026-19656 CRITICAL
9.9 Aug 12

Privileged remote code execution in ScadaLTS 2.7.8.1 lets any authenticated user - including accounts holding only low-p

CVE-2026-84860 HIGH
8.8 Sep 16

Authorization bypass in ScadaLTS 2.8.1-release-candidate build 0 lets any authenticated user invoke restricted DWR metho

CVE-2026-84858 HIGH
8.8 Sep 16

Authenticated remote code execution in ScadaLTS 2.8.1-release-candidate build 0 allows any holder of a low-privilege acc

CVE-2026-19657 MEDIUM
6.1 Aug 12

Reflected cross-site scripting in ScadaLTS 2.7.8.1 enables an unauthenticated remote attacker to execute arbitrary JavaS

CVE-2025-13791 LOW POC
2.1 Nov 30

A vulnerability was identified in Scada-LTS up to 2.7.8.1. Rated medium severity (CVSS 5.3), this vulnerability is remot

CVE-2025-13790 LOW POC
2.1 Nov 30

A vulnerability was determined in Scada-LTS up to 2.7.8.1. Rated medium severity (CVSS 5.3), this vulnerability is remot

CVE-2025-9139 LOW POC
2.1 Aug 19

A vulnerability was determined in Scada-LTS 2.7.8.1. Rated medium severity (CVSS 5.3), this vulnerability is remotely ex

CVE-2025-7729 LOW POC
2.0 Jul 17

Stored cross-site scripting (XSS) in Scada-LTS up to version 2.7.8.1 allows authenticated remote attackers to inject mal

CVE-2025-7728 LOW POC
2.0 Jul 17

Stored cross-site scripting (XSS) in Scada-LTS up to 2.7.8.1 allows authenticated users to inject malicious scripts via

CVE-2025-9137 LOW POC
2.0 Aug 19

A vulnerability has been found in Scada-LTS 2.7.8.1. Rated medium severity (CVSS 5.1), this vulnerability is remotely ex

CVE-2025-9388 LOW POC
2.0 Aug 24

A vulnerability was determined in Scada-LTS up to 2.7.8.1. Rated medium severity (CVSS 5.1), this vulnerability is remot

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy