CVE-2026-39421MaxKB是企业级开源AI助手,其2.7.1及以下版本存在严重的沙箱逃逸漏洞。该漏洞位于ToolExecutor组件,攻击者可利用Python的ctypes库直接发起原始系统调用,从而绕过基于LD_PRELOAD的sandbox.so模块限制。尽管沙箱拦截了execve、system及mprotect等关键函数以防止代码执行,但由于未拦截pkey_mprotect,拥有工作区权限的认证攻击者仍能分配可执行内存并执行任意代码,导致容器被完全攻陷及数据泄露。建议尽快升级至安全版本。
该漏洞的核心在于MaxKB依赖的沙箱机制存在逻辑缺陷。系统通过LD_PRELOAD预加载sandbox.so库,利用Hook机制拦截Python进程的关键系统调用,如execve、system、connect和open。为了防止代码注入,沙箱还特别拦截了mprotect调用,禁止将内存页标记为PROT_EXEC(可执行)。然而,沙箱并未拦截pkey_mprotect系统调用。攻击者利用Python的ctypes库,可以直接调用内核接口,绕过Python层的Hook限制。通过pkey_mprotect,攻击者可以将包含恶意Shellcode的内存区域修改为可执行状态,进而跳转执行恶意指令,完全绕过沙箱的防御体系,实现容器内的任意代码执行。