Read the docs

Server-side request forgery in openPDC and openHistorian

Priority LOW 23CWE-918Published · Updated

Key facts

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

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-918 and the CVSS impact.

Summary

openPDC before 2.9.477 and before 2.9.482, including its Docker image, and openHistorian before 2.8.580 and before 2.8.585 are affected. A Modbus connection feature accepts a caller-specified destination address and port without restricting which internal hosts it can reach (CWE-918). An authenticated user with low privileges can attempt connections to internal destinations and learn which ones are reachable, and repeated attempts may let an attacker map the internal network.

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

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00186 8th 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
Partial

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.

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-70023 Unsafe reflection in Grid Protection Alliance openPDC and openHistorianPriority LOW 36

Timeline

  1. 2026-10-09 Threatist record created from CVE-2026-101022
  2. 2026-10-09 Alias added: GHSA-q8fp-gfvc-6mwj
  3. 2026-10-10 CISA SSVC decision points changed

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-70023 Unsafe reflection in Grid Protection Alliance openPDC and openHistorian CVSS 4.0HIGH 7.7
  • TI-2026-70004 Missing authentication in openPDC and openHistorian data publisher CVSS 4.0MEDIUM 6.9

Sources