CVE-2026-8258Squirrel编程语言在3.2及之前版本中存在一个严重的安全缺陷。该漏洞具体位于`sqstdlib/sqstdstring.cpp`文件内的`validate_format`函数中,由于对输入数据的格式验证机制存在缺陷,导致了基于栈的缓冲区溢出问题。攻击者无需用户交互,仅需具备低权限即可在本地触发该漏洞。成功利用此漏洞可能导致信息泄露、数据完整性受损或服务中断。鉴于已有公开的利用代码发布,且官方尚未做出响应,建议相关用户尽快采取防护措施。
该漏洞的根本原因在于Squirrel标准库中的字符串处理逻辑存在严重缺陷。具体而言,在`sqstdlib/sqstdstring.cpp`文件的`validate_format`函数中,程序在进行字符串格式化操作时,未能对输入参数的长度执行严格的边界检查。当攻击者向该函数传递精心构造的超长字符串或特定的畸形格式参数时,由于使用了不安全的内存操作(如`memcpy`),数据将越过预分配的栈缓冲区边界,覆盖相邻的内存区域,包括栈上的返回地址或关键变量,从而引发栈缓冲区溢出。根据CVSS向量分析,该漏洞的攻击复杂度为低,且攻击向量为本地(AV:L),意味着攻击者通常需要已经拥有目标系统的低级别账户权限(PR:L)才能执行恶意代码。尽管攻击范围仅限于当前用户上下文(S:U),但成功利用此漏洞可能导致敏感信息泄露(C:L)、数据完整性受损(I:L)或服务中断(A:L)。目前公开的PoC代码已展示了如何通过调用库函数触发越界写入操作,进而控制程序的执行流。