CVE-2026-104629 openPDC/openHistorian 组件加载任意代码执行漏洞
影响攻击者可以服务账户权限执行任意构造代码
openPDC 和 openHistorian 的组件加载机制会构造并运行任意指定类型,即使该类型是无效组件。拥有已认证账户并能向主机文件系统写入文件的攻击者可借此执行任意构造函数代码。该代码以受影响服务账户的权限运行。
影响范围
受影响版本范围暂无公开信息,涉及 openPDC 与 openHistorian 的组件加载机制。
漏洞详情
漏洞属于不受信任数据反序列化/类型构造类问题:组件加载机制未对加载的类型做白名单或有效性校验,直接构造并运行任意指定类型。攻击者通过放置恶意文件并触发加载,使构造函数中的恶意代码被执行。由于代码以服务账户权限运行,可能导致主机被完全控制。
利用条件与风险
利用前提是攻击者拥有已认证账户且能向主机文件系统写入文件,实战中通常需要一定权限或结合其他漏洞,但一旦满足即可造成任意代码执行,风险较高。
修复建议
官方修复方案暂无公开信息,建议关注厂商更新并及时升级;临时缓解措施包括限制可写目录权限、审计已认证账户的文件写入行为,并避免加载不可信组件。
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.