CVE-2026-39419MaxKB是一款基于开源技术的企业级AI知识库问答助手。在2.7.1及更早版本中存在一个安全漏洞,允许经过身份认证的用户利用Python的字节码内省特性,成功绕过沙箱环境的结果验证机制。攻击者通过读取包装器的UUID,能够直接向文件描述符1写入伪造的执行结果,并利用sys.exit()提前终止进程,从而欺骗MaxKB服务接受恶意数据。目前官方已在2.8.0版本中修复了此问题。
该漏洞的核心原理在于MaxKB对Python沙箱执行环境的隔离机制存在逻辑缺陷,未能完全限制底层系统调用和内省操作。攻击者首先利用Python的帧对象内省功能,深入分析当前执行栈的字节码常量池,从中提取出用于验证结果合法性的wrapper UUID。获取UUID后,攻击者不使用被沙箱捕获和重定向的标准print函数,而是直接操作底层的文件描述符1(即标准输出stdout),将包含正确UUID的恶意伪造结果写入该流。紧接着,攻击者调用sys.exit(0)强制退出当前Python解释器进程。这一操作使得原本负责校验和输出合法结果的wrapper逻辑被提前终止,导致MaxKB服务端仅接收到攻击者伪造的数据,并错误地将其视为工具的真实执行结果进行处理。