CVE-2019-6828
📋 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
- Modicon M580
- Modicon M340
- Modicon Premium
- Modicon Quantum
📦 What is this software?
Modicon M340 Firmware by Schneider Electric
Modicon M580 Firmware by Schneider Electric
Modicon Premium Firmware by Schneider Electric
Modicon Quantum Firmware by Schneider Electric
⚠️ 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.
🎯 Exploit Status
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
allIsolate PLCs from untrusted networks using firewalls and VLANs.
Modbus Access Control
allRestrict 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"