Skip to main content

OpenPLC Runtime CVE-2026-88020

| EUVDEUVD-2026-84871 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-22 icscert GHSA-2rm8-h9xj-p8hw
5.3
CVSS 4.0 · Vendor: icscert
View

Attack ChainAIDerived

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

  1. Access
    Craft URL with script in query param
  2. Delivery
    Deliver link to authenticated operator
  3. Exploit
    Victim clicks, parameter reflected unencoded
  4. Execution
    Script executes in operator's session
  5. Impact
    Hijack session / act as user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

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

Exploitation Conditions

Exploitation requires that a victim with an active/authenticated session on the OpenPLC 3 web interface be induced to click an attacker-crafted URL whose routing query-string parameter carries the script payload (UI:R). The specific prerequisite is reaching the web management interface's query-string-based program routing endpoint; no attacker authentication is needed to craft the link (PR:N), but the interface must be network-reachable to the victim and the victim must interact. Limiting factors: success depends entirely on social-engineering a legitimate operator, impact is confined to the victim's browser/session (no direct PLC-runtime compromise or availability loss), and there is no unattended/automatable path.

Impact

This is a reflected cross-site scripting flaw (CWE-79) in the OpenPLC 3 (OpenPLC Runtime) web interface, where a query-string routing parameter is reflected into the generated page without encoding. The vendor/NVD CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N, 6.1 MEDIUM) is internally consistent with a classic reflected XSS: network-reachable, low complexity, no privileges, but requiring victim user interaction (UI:R) and yielding only limited confidentiality/integrity impact in the browser context (C:L/I:L), with a scope change (S:C) reflecting script execution crossing into the victim's authenticated session. No EPSS score, no CISA KEV listing, and no public proof-of-concept were provided in the intelligence, so exploitation status is: no public exploit identified at time of analysis. The 6.1 rating is a realistic, non-inflated MEDIUM - it is not a high-CVSS-but-low-real-risk anomaly, but neither is it a drop-everything priority: successful attack depends on luring an authenticated operator to a crafted link, and impact is confined to the browser rather than the PLC control logic itself. The main aggravating factor is context: OpenPLC drives industrial/OT processes, so session hijack of an engineering/HMI operator could be a stepping stone to control-system manipulation. No signals conflict; the primary gap is the absence of EPSS/KEV/POC data to gauge real-world exploitation likelihood.

Exploit ScenarioDerived

An attacker crafts a malicious URL for an OpenPLC 3 web interface embedding a script payload in the vulnerable routing query-string parameter and delivers it to an authenticated operator via phishing or a planted link. When the operator clicks it, the unencoded parameter is reflected into the served page and the script executes in their browser, allowing session token theft or actions performed as the logged-in user. No public proof-of-concept was provided in the available intelligence.

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 22, 2026

Reflected cross-site scripting in Autonomy Logic OpenPLC 3 (OpenPLC Runtime) lets a remote, unauthenticated attacker craft a URL whose routing query-string parameter carries script payload that is reflected into the page without encoding, executing in the browser of any operator who clicks the link while holding an active web-management session. Exploitation is entirely dependent on social engineering of a legitimate operator (UI:R per CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N, base 6.1) and the web interface must be network-reachable to that operator. No public exploit code was identified at time of analysis and the flaw is not confirmed actively exploited (CISA KEV); impact is confined to the victim's browser session and same-origin web context, with no direct compromise of the PLC runtime or loss of availability.

RemediationAI

No vendor-released patch was identified at time of analysis, so mitigation must be compensatory. Primary action: consult CISA advisory ICSA-26-265-09 (https://www.cisa.gov/news-events/ics-advisories/icsa-26-265-09) for the vendor's current fix guidance and apply the OpenPLC release it designates as soon as it is published; do not treat the wildcard CPE as evidence of a fixed version. Until then, restrict reachability of the OpenPLC web interface to a trusted management VLAN or VPN-only path - this is the highest-value control because the attack needs an operator to reach the UI and click a crafted link, at the cost of added access friction for engineers. Front the interface with a reverse proxy or WAF rule that rejects requests whose routing query-string parameters contain script metacharacters (angle brackets, quotes, javascript:); this blocks common payload shapes but produces false positives on legitimate values and does not fix the underlying encoding defect. Enforce short session timeouts and require operators to log out after administrative work to shrink the click window, and set HttpOnly and SameSite=Strict on the interface's session cookies so script cannot trivially read them - note this limits session theft but does not prevent same-origin script from issuing authenticated requests. Train operators not to open routing URLs from untrusted email or chat, and consider browser isolation for the management UI, accepting the usability and latency trade-offs.

Affected VersionsENISA

OpenPLC Runtime 3

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically the reflected variant: the OpenPLC 3 web interface takes a query-string parameter used for program routing and echoes it into the generated HTML response without output encoding or contextual escaping. The CPE data (cpe:2.3:a:autonomy_logic:openplc_runtime:*:*:*:*:*:*:*:*) uses a wildcard version, indicating the vendor-level product rather than a confirmed fixed/affected version boundary. The CVSS scope change (S:C) reflects that injected script executes in the security context of the vulnerable web application's origin, so it can act on the authenticated operator's session - reading data, performing state-changing requests, or exfiltrating session material - even though the injection point itself is only a routing parameter. Because the interface is the administrative front end for a PLC runtime, the browser session it exposes is the management plane for the underlying control process, making the social-engineering prerequisite the primary limiting factor rather than any technical barrier.

Know when Openplc Runtime 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 (icscert) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
vuln.today AI 6.1 MEDIUM

Reflected XSS reachable over the network with no attacker auth but requiring victim click (UI:R); script crosses into the victim's authenticated session (S:C) with limited browser-context C/I and no availability impact.

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

Primary rating from Vendor (icscert).

CVSS VectorVendor: icscert

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

1
CVSS changed
Sep 22, 2026 - 21:22 NVD
6.1 (MEDIUM) 5.3 (MEDIUM)

DescriptionCVE.org

Autonomy Logic OpenPLC 3 is susceptible to an improper neutralization of input during web page generation vulnerability when the web interface attempts to route the program based on a query string parameter with no encoding.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Low
open-source PLC runtime popular in education/hobbyist/small OT, limited production footprint
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High

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 Yes
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Threat IntelligenceMISP

CISA Advisories
Sources: CISA (public domain)

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