{"id":"CVE-2026-104629","aliases":["EUVD-2026-95783","GHSA-68jv-q5j2-rgqm"],"status":"published","title":"Grid Protection Alliance openPDC and openHistorian Use of Externally-Controlled Input to Select Classes or Code","description":"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.","severity":{"version":"4.0","score":7.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00337,"percentile":0.27453,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-470"],"published":"2026-10-09T13:58:21Z","modified":"2026-10-09T17:16:45Z","products":[{"vendor":"grid protection alliance","product":"openhistorian"},{"vendor":"grid protection alliance","product":"openpdc"},{"vendor":"grid protection alliance","product":"openpdc (docker image)"}],"references":[{"url":"https://www.cisa.gov/news-events/ics-advisories/icsa-26-281-02"},{"url":"https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-281-02.json"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-104629"},{"url":"https://github.com/advisories/GHSA-68jv-q5j2-rgqm"}],"sources":{"cve":[{"id":"CVE-2026-104629","title":"Grid Protection Alliance openPDC and openHistorian Use of Externally-Controlled Input to Select Classes or Code","description":"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.","status":"published","published":"2026-10-09T13:58:21.233Z","modified":"2026-10-09T16:46:14.619Z","cvss":[{"version":"4.0","score":7.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna"},{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-470"],"updated_at":"2026-11-02T14:20:09.098623Z"}],"euvd":[{"id":"EUVD-2026-95783","description":"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.","status":"published","published":"2026-10-09T13:58:21Z","modified":"2026-10-09T16:46:14Z","cvss":[{"version":"4.0","score":7.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T17:27:24.64208Z"}],"ghsa":[{"id":"GHSA-68jv-q5j2-rgqm","title":"A component loading mechanism in openPDC and openHistorian will construct and run any specified...","description":"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.","status":"published","published":"2026-10-09T15:31:30Z","modified":"2026-10-09T15:31:38Z","cvss":[{"version":"4.0","score":7.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"},{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-470"],"updated_at":"2026-11-02T15:13:00.589729Z"}],"nvd":[{"id":"CVE-2026-104629","description":"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.","status":"published","published":"2026-10-09T14:17:11.027Z","modified":"2026-10-09T17:16:45.117Z","cvss":[{"version":"4.0","score":7.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"},{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-470"],"updated_at":"2026-11-02T14:12:55.473789Z"}]}}
