CVE-2019-6828

7.5 HIGH

📋 TL;DR

This vulnerability allows an attacker to cause a denial of service (DoS) in Schneider Electric Modicon PLCs by sending specific Modbus requests that trigger uncaught exceptions. Affected systems include Modicon M580, M340, Premium, and Quantum PLCs with vulnerable firmware versions. The vulnerability can be exploited remotely via the Modbus protocol.

💻 Affected Systems

Products:
  • Modicon M580
  • Modicon M340
  • Modicon Premium
  • Modicon Quantum
Versions: M580: prior to V2.90, M340: prior to V3.10, Premium: all versions, Quantum: all versions
Operating Systems: PLC firmware
Default Config Vulnerable: ⚠️ Yes
Notes: All affected PLCs with Modbus enabled are vulnerable by default. Modbus is typically enabled for industrial communication.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete PLC unavailability requiring physical reset or reboot, disrupting industrial processes and potentially causing safety incidents.

🟠

Likely Case

Temporary PLC unresponsiveness requiring manual intervention to restore functionality, causing production downtime.

🟢

If Mitigated

Minimal impact if PLCs are isolated from untrusted networks and have proper network segmentation.

🌐 Internet-Facing: HIGH - PLCs exposed to internet via Modbus TCP are directly exploitable without authentication.
🏢 Internal Only: MEDIUM - Requires internal network access but Modbus typically lacks authentication controls.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires sending specific Modbus requests to vulnerable coils/registers. No authentication needed for Modbus protocol.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: M580: V2.90 or later, M340: V3.10 or later

Vendor Advisory: https://www.schneider-electric.com/en/download/document/SEVD-2019-134-11/

Restart Required: Yes

Instructions:

1. Download firmware updates from Schneider Electric website. 2. Backup PLC configuration. 3. Apply firmware update via programming software. 4. Restart PLC. 5. Verify firmware version.

🔧 Temporary Workarounds

Network Segmentation

all

Isolate PLCs from untrusted networks using firewalls and VLANs.

Modbus Access Control

all

Restrict Modbus TCP access to trusted IP addresses only.

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate PLCs from untrusted networks
  • Deploy industrial firewalls with deep packet inspection to block malicious Modbus traffic

🔍 How to Verify

Check if Vulnerable:

Check PLC firmware version via programming software or web interface. If version is below patched versions, system is vulnerable.

Check Version:

Use Schneider Electric programming software (Unity Pro, EcoStruxure Control Expert) to read PLC firmware version.

Verify Fix Applied:

Confirm firmware version is M580 V2.90+ or M340 V3.10+ via programming software. Test Modbus communication remains functional.

📡 Detection & Monitoring

Log Indicators:

  • PLC fault logs showing communication errors
  • Unexpected PLC restarts or fault conditions

Network Indicators:

  • Unusual Modbus traffic patterns to specific coils/registers
  • Multiple Modbus exception responses

SIEM Query:

source="modbus_traffic" AND (exception_code=0x01 OR exception_code=0x02) AND dest_ip="PLC_IP"

🔗 References

📤 Share & Export