CVE-2025-15247CVE-2025-15247是影响gmg137/snap7-rs项目的一个高危安全漏洞。该漏洞存在于snap7_rs::client::S7Client::download函数中,位于client.rs文件。由于该函数在处理用户输入时缺乏适当的边界检查,导致攻击者可以通过构造恶意数据触发堆缓冲区溢出。攻击者可利用此漏洞在受影响系统上执行任意代码或造成应用程序崩溃。鉴于该漏洞的利用代码已公开,且项目采用滚动发布模式,修复版本信息不明确,建议用户立即采取防护措施。该漏洞CVSS评分为7.3,属于高危级别,对使用该库的工业控制系统和自动化应用构成严重威胁。攻击者无需特殊权限即可远程利用此漏洞,这大大增加了其危害性。
该漏洞位于snap7-rs库的S7Client::download函数中,具体在client.rs文件实现。该函数负责处理S7协议的数据下载请求,但在处理输入数据长度时存在缺陷。当函数接收到超长的数据块时,未能正确验证目标缓冲区大小,导致写入操作超出堆内存分配边界。攻击者可以通过发送精心构造的S7通信数据包,触发download函数处理异常长度的数据字段。由于缺乏边界检查,写入操作会覆盖相邻堆内存区域,可能导致:1) 堆元数据损坏,引发二次利用;2) 敏感内存信息泄露;3) 控制流劫持,最终实现代码执行。攻击可远程发起,无需认证,CVSS向量显示攻击复杂度低(AC:L),对机密性、完整性和可用性均有低至中等影响。