Grid Protection Alliance (GPA) updated its openPDC and openHistorian to handle multiple vulnerabilities, according to a report with CISA.

The vulnerabilities, discovered by Shubham Raj (Cipher) of Causal Security, are deserialization of untrusted data, missing authentication for critical function, server-side request forgery (SSRF), use of hard-coded credentials, use of externally-controlled input to select classes or code (unsafe reflection).

Grid Protection Alliance offers open-source software tools – openPDC and openHistorian – designed to collect, process, and store real-time data for electric power grids. Both released under the permissive MIT License with no licensing fees.

The following versions of Grid Protection Alliance openPDC and openHistorian suffer from the vulnerabilities:

  • openPDC up to version 2.9.477 and version 2.9.482
  • openPDC (Docker image) up to version 2.9.477 and version 2.9.482
  • openHistorian up to version 2.8.580 and up to version 2.8.585

In one issue, a service console interface on openPDC and openHistorian deserializes a client-supplied data structure. On systems using Windows Authentication, an attacker must already end up authenticated to reach this function; on systems without Windows Authentication, this is reachable by an unauthenticated network attacker. This allows an attacker to trigger deserialization of an arbitrary object graph, which could allow remote code execution under the privileges of the affected service account.

Schneider Bold

CVE-2026-100730 is the case number for the vulnerability, which has a CVSS V3 base score of 9.8. There is also a V4 base score of 9.3.

Another Vulnerability

Additionally, the internal data publisher on openPDC accepts network connections without authentication in its default configuration. An unauthenticated network attacker can connect to this interface and retrieve the complete device and measurement topology of the system.

CVE-2026-105281 is the case number for the vulnerability, which has a CVSS V3 base score of 7.5. There is also a V4 base score of 8.7.

Also, the STTP-based data publisher on openPDC accepts network connections without authentication in its default configuration. An unauthenticated network attacker can connect to this interface and exchange data with it.

CVE-2026-85479 is the case number for the vulnerability, which has a CVSS V3 base score of 5.3. There is also a V4 base score of 6.9.

Meanwhile, a Modbus connection feature on openPDC accepts a caller-specified destination address and port with no restriction on which internal hosts may be targeted. An authenticated user can attempt connections to arbitrary internal network destinations, revealing which destinations are reachable. With repeated attempts, an attacker may be able to map the internal network.

CVE-2026-101022 is the case number for the vulnerability, which has a CVSS V3 base score of 4.3. There is also a V4 base score of 5.3.

Moreover, the published Docker image for openPDC includes a fixed administrative credential with no forced change on first use. An attacker with network access to the management interface can authenticate using this credential and gain full administrative control of the application.

CVE-2026-105278 is the case number for the vulnerability, which has a CVSS V3 base score of 9.8. There is also a V4 base score of 9.3.

Arbitrary Constructor Code

Furthermore, a component loading mechanism in openPDC and openHistorian will construct and run any specified type, which may be an invalid component to load. An attacker with an authenticated user account and the ability to place a file on the host filesystem can use this to run arbitrary constructor code, and this code runs with the privileges of the affected service account.

CVE-2026-104629 is the case number for the vulnerability, which has a CVSS V3 base score of 8.8. There is also a V4 base score of 7.7.

The product sees use mainly in the energy sector, and on a global basis.

No exploit currently targets these vulnerabilities.

In terms of mitigations Grid Protection Alliance:

  • openPDC added additional verification and integrity checks of adapters in openPDC version 2.9.477 and later and openHistorian version 2.8.580 and later.
  • openPDC (Docker image) does not recommend production use of published Docker images in any case. The fix for this vulnerability has not been published to the Docker image.
  • openHistorian added additional verification and integrity checks of adapters in openPDC version 2.9.477 and later and openHistorian version 2.8.580 and later.

Click here for the CSAF version.

Pin It on Pinterest

Share This