CVE-2026-33587 (CVSS 10.0) - Lack of user input sanitisation in Open Notebook v1.8.3 allows the application u

🔥 热门漏洞情报 · NVD-Latest · 2026-05-07

CVE-2026-33587 (CVSS 10.0) - Lack of user input sanitisation in Open Notebook v1.8.3 allows the application u

Critical · CVSS 10.0 服务端模板注入(SSTI)
CVE-2026-33587

📋 漏洞概述

Open Notebook v1.8.3 因用户输入未过滤导致服务端模板注入(SSTI),攻击者可执行任意Python代码并进而操控Docker容器操作系统命令。

📋 基础信息

受影响版本lfnovo open-notebook <= 1.8.3
漏洞类型服务端模板注入(SSTI)
CVSS10.0 · Critical
CVECVE-2026-33587

🔬 漏洞根因

在用户创建转换(transformation)功能中,应用直接将用户输入传递给后端模板引擎(推测为Jinja2或Mako)进行渲染,未对输入内容进行任何过滤、转义或沙箱限制。设计中允许用户自定义转换逻辑,但未对模板语法中的Python代码片段做白名单或黑名单检查,导致攻击者可通过模板表达式嵌入任意Python语句,进而通过Python的os.system、subprocess等模块执行操作系统命令。Docker容器的运行环境默认未启用安全限制(如seccomp、AppArmor或降低容器特权),使得命令执行可完全逃逸到宿主机层面。

🎯 攻击场景

1. 前提条件:攻击者具有对Open Notebook Web界面的正常用户访问权限,且能够创建或编辑转换(transformation)规则。 2. 在转换规则输入框中,构造恶意SSTI payload,例如:{{ ''.__class__.__mro__[2].__subclasses__()[XX].__init__.__globals__['os'].system('id') }} 3. 提交转换规则,触发后端模板引擎对该字符串进行渲染,执行嵌入的Python代码。 4. 成功标志:在应用日志或回显中观察到命令执行结果(如用户ID输出),或攻击者通过反弹shell、写入Webshell等方式获得对Docker容器的控制。 5. 进一步利用容器逃逸(如利用容器挂载的Docker Socket、cap_sys_admin等)可控制宿主机乃至整个集群。

💥 漏洞影响

攻击者可在运行Open Notebook的Docker容器中实现远程代码执行(RCE),执行任意操作系统命令,获取容器内全部数据和配置。结合Docker容器配置缺陷(如特权模式、挂载/var/run/docker.sock)可轻松逃逸至宿主机,造成严重的数据泄露、服务中断或横向移动。由于CVSS达10.0,意味着漏洞利用无需特殊条件,影响机密性、完整性和可用性全部最高。

🛡️ 修复建议

立即升级Open Notebook至1.8.4或更高版本(开发者已在新版本中引入严格输入过滤与模板沙箱隔离)。临时缓解措施:在反向代理层(如Nginx)添加WAF规则拦截SSTI常见payload特征;将容器以非root用户运行并仅赋予必要capability;禁用Open Notebook中的自定义转换功能;或使用securityContext设置readOnlyRootFilesystem并限制容器网络出站。

📎 参考链接


⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-05-09 08:04 | 来源: NVD-Latest

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)