Read the docs

Unsafe reflection in Grid Protection Alliance openPDC and openHistorian

Priority LOW 36CWE-470Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA.

Summary

openPDC before 2.9.477 and before 2.9.482, the openPDC Docker image, and openHistorian before 2.8.580 and before 2.8.585 are affected. A component loading mechanism constructs and runs any specified type without checking that it is a valid component (CWE-470). An attacker with an authenticated user account who can place a file on the host filesystem can run arbitrary constructor code with the privileges of the affected service account.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00337 27th percentileScored 2026-11-07
Fix Fixed openPDC (Grid Protection Alliance): 2.9.477, 2.9.482openPDC (Docker image) (Grid Protection Alliance): 2.9.477, 2.9.482+1 more product

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
Grid Protection AllianceopenPDCbefore 2.9.477; before 2.9.4822.9.477, 2.9.482Patch availableCNA
Grid Protection AllianceopenPDC (Docker image)before 2.9.477; before 2.9.4822.9.477, 2.9.482Patch availableCNA
Grid Protection AllianceopenHistorianbefore 2.8.580; before 2.8.5852.8.580, 2.8.585Patch availableCNA
  • openPDC VendorGrid Protection Alliance Affected before 2.9.477; before 2.9.482 Fixed in 2.9.477, 2.9.482 Patch available CNA
  • openPDC (Docker image) VendorGrid Protection Alliance Affected before 2.9.477; before 2.9.482 Fixed in 2.9.477, 2.9.482 Patch available CNA
  • openHistorian VendorGrid Protection Alliance Affected before 2.8.580; before 2.8.585 Fixed in 2.8.580, 2.8.585 Patch available CNA

Remediation

Upgrade openPDC to 2.9.477 or 2.9.482 and openHistorian to 2.8.580 or 2.8.585. The openPDC Docker image is fixed in the same openPDC versions.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA openPDC (Grid Protection Alliance) Fixed in 2.9.477, 2.9.482
  • Fix · CNA openPDC (Docker image) (Grid Protection Alliance) Fixed in 2.9.477, 2.9.482
  • Fix · CNA openHistorian (Grid Protection Alliance) Fixed in 2.8.580, 2.8.585

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    Grid Protection Alliance openPDC (Docker image) 2.9.477, 2.9.482

    6 records Highest priority Priority MEDIUM 3 MEDIUM, 3 LOW

    Other records, highest priority first

    • TI-2026-70017 Untrusted data deserialization in openPDC and openHistorianPriority MEDIUM 49
    • TI-2026-70024 Missing authentication in Grid Protection Alliance openPDC and openHistorianPriority MEDIUM 43
    • TI-2026-70054 Hard-coded credentials in openPDC Docker image allow admin accessPriority MEDIUM 42
  • Release ·

    Grid Protection Alliance openHistorian, openPDC 2.8.580, 2.8.585 and 2 more versions

    5 records Highest priority Priority MEDIUM 2 MEDIUM, 3 LOW

    Other records, highest priority first

    • TI-2026-70017 Untrusted data deserialization in openPDC and openHistorianPriority MEDIUM 49
    • TI-2026-70024 Missing authentication in Grid Protection Alliance openPDC and openHistorianPriority MEDIUM 43
    • TI-2026-70004 Missing authentication in openPDC and openHistorian data publisherPriority LOW 36

Timeline

  1. 2026-10-09 Threatist record created from CVE-2026-104629
  2. 2026-10-09 Alias added: GHSA-68jv-q5j2-rgqm
  3. 2026-10-10 CISA SSVC decision points changed
  4. 2026-10-10 Priority changed: MEDIUM → LOW

References

  • TI-2026-70017 Untrusted data deserialization in openPDC and openHistorian CVSS 4.0CRITICAL 9.3
  • TI-2026-70024 Missing authentication in Grid Protection Alliance openPDC and openHistorian CVSS 4.0HIGH 8.7
  • TI-2026-70054 Hard-coded credentials in openPDC Docker image allow admin access CVSS 4.0CRITICAL 9.3
  • TI-2026-70004 Missing authentication in openPDC and openHistorian data publisher CVSS 4.0MEDIUM 6.9
  • TI-2026-70018 Server-side request forgery in openPDC and openHistorian CVSS 4.0MEDIUM 5.3

Sources