CVE-2025-11780CVE-2025-11780是Circutor公司SGE-PLC1000和SGE-PLC50工业控制系统设备中发现的一个严重安全漏洞。该漏洞存在于固件版本9.0.2中,位于showMeterReport()函数内,是一个基于栈的缓冲区溢出问题。攻击者可以通过构造超长的meter参数值,无需任何认证即可触发此漏洞,导致设备固件崩溃或可能实现远程代码执行。此漏洞的CVSS评分高达9.8分,属于严重级别,对工业控制系统网络安全构成重大威胁。SGE-PLC系列设备主要用于能源管理和电力监控场景,广泛应用于工业设施和商业建筑中。一旦被攻击者利用,可能导致生产中断、数据泄露或设备被完全控制。建议受影响的用户立即采取防护措施,联系厂商获取安全更新。
该漏洞的根本原因在于showMeterReport()函数中对用户输入的长度缺乏有效验证。具体来说,GetParameter(meter)函数从用户请求中获取meter参数的值,该值被直接通过sprintf()函数复制到固定大小的栈缓冲区中。由于sprintf()函数不进行边界检查,当输入的meter参数值超过缓冲区容量时,就会发生栈缓冲区溢出。攻击者可以构造一个超长的字符串作为meter参数值,覆盖栈上的返回地址、函数指针或其他关键数据结构,从而控制程序执行流程。在某些情况下,攻击者可能利用此漏洞注入恶意代码并获得设备的完全控制权。由于漏洞存在于处理用户请求的阶段,攻击者可以通过HTTP请求远程触发此漏洞,无需任何认证凭证。这使得漏洞具有极高的危害性,需要紧急修复。