Grid Protection Alliance openPDC and openHistorian
Grid Protection Alliance openPDC and openHistorian are vulnerable to unsafe deserialization in the Modbus TCP interface. An attacker with network access to the unprotected interface can send crafted serialized objects to achieve arbitrary code execution on the device. The vulnerability is caused by insufficient validation of serialized data (CWE-502) combined with missing authentication checks (CWE-306) and Server-Side Request Forgery vectors (CWE-918). Default configurations in versions prior to 2.9.482 (openPDC) and 2.8.585 (openHistorian) bind the Modbus interface to all network interfaces, making it accessible from untrusted networks. Systems using Windows Authentication are partially protected as they require prior authentication. The published Docker images do not contain the fix and are recommended against for production use.
- Network access to the Modbus TCP interface (typically port 502 on openPDC/openHistorian device)
- Device interface must be bound to accept connections from the attacker's network (not restricted to loopback)
- No authentication required if Windows Authentication is not enabled; requires valid system credentials if Windows Authentication is in use
Patching may require device reboot — plan for process interruption
/api/v1/advisories/894578d1-9235-480b-a784-48b49cfc5a7bGet OTPulse briefings by email
Advisory breakdowns and incident analyses for the people actually defending OT environments. Sent when there's something worth your attention, not on a schedule. Free, no account required.