CVE-2025-63927CVE-2025-63927是airpig2011 IEC104项目中的一个堆使用后释放(Heap Use-After-Free)安全漏洞。该漏洞存在于Iec10x_Scheduled函数中,在多线程客户端执行期间,该函数可能访问已经释放的堆内存区域。这种内存管理错误可能导致程序崩溃、未定义行为或内存损坏。攻击者无需特殊权限或用户交互即可触发此漏洞,但需要本地访问权限。由于该漏洞影响IEC 104协议实现,该协议广泛用于电力系统和其他关键基础设施的通信,因此可能对工业控制系统造成潜在威胁。漏洞的CVSS评分为4.0,属于中等严重程度,主要影响系统的可用性。
该漏洞的根本原因在于多线程环境下的内存管理不当。在IEC104协议的客户端实现中,Iec10x_Scheduled函数在处理定时任务时,可能访问已被释放的内存对象。具体来说,当多个线程并发执行时,某个线程可能释放了共享内存对象,而主调度线程仍在尝试访问该对象,导致堆使用后释放条件。此漏洞可被利用来触发以下情况:1)程序崩溃,由于访问无效内存地址导致段错误;2)未定义行为,读取已释放内存中的残留数据;3)潜在的内存损坏,可能被进一步利用进行更复杂的攻击。攻击者需要构造特定的多线程场景来稳定触发该漏洞,但由于无需认证和用户交互,本地攻击者可以较为容易地利用此漏洞造成拒绝服务。