IPBUF安全漏洞报告
English
CVE-2026-34461 CVSS 7.8 高危

CVE-2026-34461 Sandboxie-Plus栈缓冲区溢出漏洞

披露日期: 2026-05-05

漏洞信息

漏洞编号
CVE-2026-34461
漏洞类型
栈缓冲区溢出
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Sandboxie-Plus

相关标签

栈溢出本地提权Sandboxie-PlusNULL DACLWindows

漏洞概述

Sandboxie-Plus是一款Windows开源沙箱隔离软件。在1.17.2及更早版本中,其SbieIniServer服务的RunSbieCtrl处理程序存在严重的栈缓冲区溢出漏洞。由于该服务管道未正确设置访问控制列表(NULL DACL),任何本地交互式进程均可连接并发送特制数据。该漏洞导致系统以不安全的拷贝方式处理数据,可致使服务崩溃或允许本地攻击者获取SYSTEM级别的代码执行权限,严重威胁系统安全。

技术细节

该漏洞位于SandboxiePlus的SbieSvc服务组件中,具体涉及`MSGID_SBIE_INI_RUN_SBIE_CTRL`消息的处理逻辑。漏洞原因在于服务在处理该消息时,未在常规沙箱检查和身份模拟之前验证调用者权限。处理程序直接使用`memcpy`函数将消息载荷复制到固定大小为128个宽字符(WCHAR)的栈缓冲区`ctrlCmd`中,且未检查载荷长度。此外,由于服务管道以NULL DACL创建,任何本地交互式进程均可连接并发送数据。攻击者可构造超长数据包发送至服务管道,触发栈溢出,覆盖返回地址,从而劫持程序执行流。由于SbieSvc以SYSTEM权限运行,成功利用此漏洞可实现本地权限提升,执行任意代码。

攻击链分析

STEP 1
侦察
攻击者确认目标系统运行着Sandboxie-Plus 1.17.2或更早版本。
STEP 2
访问服务
由于服务管道配置了NULL DACL,攻击者作为低权限本地用户可以连接到SbieIniServer的命名管道。
STEP 3
发送恶意载荷
攻击者构造包含MSGID_SBIE_INI_RUN_SBIE_CTRL消息ID的超长数据包,并发送给服务端。
STEP 4
触发溢出
服务端处理函数在未检查长度的情况下,使用memcpy将数据复制到128字节的栈缓冲区中,导致栈溢出。
STEP 5
执行代码
溢出数据覆盖返回地址,劫持控制流,使攻击者能够以SYSTEM权限执行任意代码或导致服务崩溃。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import ctypes import struct # PoC for CVE-2026-34461: Sandboxie-Plus Stack Buffer Overflow # This script demonstrates the concept of overflowing the stack buffer # in the SbieIniServer RunSbieCtrl handler. # Constants based on vulnerability description PIPE_NAME = r"\\.\pipe\SandboxieControlPort" # Actual pipe name may vary, needs reverse engineering BUFFER_SIZE = 128 # Size of the target WCHAR buffer OVERFLOW_SIZE = 500 # Size of payload to trigger overflow def trigger_overflow(): print("[*] Attempting to connect to Sandboxie service pipe...") # In a real scenario, we would use CreateFile to connect to the named pipe. # handle = ctypes.windll.kernel32.CreateFileW(PIPE_NAME, 0x40000000, 0, None, 3, 0, None) # Construct the malicious payload # The handler expects a specific message structure, usually a header followed by data. # We send a large amount of 'A's to overflow the 128 WCHAR buffer. payload = b"A" * OVERFLOW_SIZE # The MSGID_SBIE_INI_RUN_SBIE_CTRL message handler logic # copies payload directly into a fixed stack buffer. print(f"[*] Sending payload of size {len(payload)} bytes...") print("[*] If successful, the SbieSvc service should crash or execute code.") # WriteFile(handle, payload, ...) if __name__ == "__main__": trigger_overflow()

影响范围

Sandboxie-Plus <= 1.17.2

防御指南

临时缓解措施
建议用户立即将Sandboxie-Plus升级至1.17.3或更高版本以修复该漏洞。在未升级前,应严格限制本地用户权限,避免运行不可信程序,并密切关注SbieSvc服务的异常行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表