CVE-2025-11788CVE-2025-11788是Circutor SGE-PLC1000和SGE-PLC50设备中发现的一个严重安全漏洞,CVSS评分高达9.8分(严重级别)。该漏洞存在于设备的Web管理界面中,由于ShowSupervisorParameters()函数对用户输入缺乏有效的边界检查,导致攻击者可以通过构造超长的meter参数值触发堆缓冲区溢出。攻击者无需认证即可利用此漏洞,这意味着任何能够访问设备网络接口的攻击者都可以尝试发起攻击。此漏洞的危险性在于其利用门槛极低,但潜在影响极大,可能导致设备完全沦陷,攻击者可获取设备的完全控制权,执行任意代码,进而可能横向移动到整个工业控制网络。考虑到工业控制系统对关键基础设施的重要性,此漏洞的及时修复至关重要。
该漏洞的根本原因在于ShowSupervisorParameters()函数中存在不安全的sprintf()调用。函数通过GetParameter(meter)获取用户提供的meter参数值,但直接将此输入复制到固定大小的堆缓冲区中,完全缺少长度验证。当攻击者提交一个超长的meter参数时,sprintf()函数会持续向固定大小的缓冲区写入数据,导致堆内存相邻区域的覆盖。在成功利用的情况下,攻击者可以覆写堆的元数据、函数指针或控制流数据,最终实现任意代码执行。值得注意的是,该设备通常运行在工业环境中,攻击者如果获得设备控制权,不仅可以篡改PLC控制逻辑,还可能通过工业通信协议影响物理生产过程。漏洞的利用不需要任何身份认证,攻击者只需能够访问设备的Web管理接口即可发起攻击。