CVE-2019-25551Sandboxie 5.30版本中存在一处拒绝服务漏洞。该漏洞源于应用程序在处理'Program Alerts'配置输入时未对字符串长度进行有效校验。本地攻击者无需具备特殊权限即可利用此漏洞,通过在'Select or enter a program'字段粘贴包含5000个字符的超长字符串,触发内存处理错误。这会导致Sandboxie应用程序崩溃,造成系统服务不可用。
该漏洞的根源在于Sandboxie的GUI界面在解析用户提供的程序路径或名称时,缺乏对缓冲区大小的严格边界检查。当攻击者访问本地安装的Sandboxie并定位到Program Alerts设置项时,可以向特定的输入框提交数据。由于底层代码未对输入长度进行限制,攻击者可以构建一个长度为5000字符的恶意字符串(通常由重复字符组成)。当应用程序的输入处理逻辑尝试读取或复制此超长字符串到固定大小的内存缓冲区时,会触发缓冲区溢出。这种越界内存写入破坏了程序的堆栈或堆结构,导致指令指针错误或内存访问违例。最终,这会引发未处理的异常,导致Sandboxie进程意外终止。由于攻击向量为本地且无需权限,任何能访问系统桌面的用户均可触发该漏洞。