漏洞关键信息 1. 漏洞概述 目标产品: PNetLab 5.3.11 (基于 UNetLab 的网络实验室平台) 影响: 任何拥有实验室编辑权限的已验证用户可以在 QEMU 节点启动时以 root 权限在主机上注入任意命令。 根本原因: 后端对 参数没有进行有效的过滤。该值被拼接进一个 shell 命令并通过 执行, 无法阻止如 的命令替换。 需求: 需持有实验室编辑权限(通常是实验室创建者或管理员),不需要额外的本地访问。 严重性: 严重。攻击者可以在主机上获得 root shell。FOFA 报告发现数千个暴露的 PNetLab 实例,使得此漏洞广泛可利用。 2. 环境 受影响的版本: 5.3.11 关键目录: , , 所需权限: 有实验室编辑权限的已验证用户 相关日志: , 在实验室运行时路径下 3. 根因分析 用户控制的赋值: 在 文件的第 129-132 行。 命令拼接: 在 方法中。 执行入口点: 在 文件的第 693-703 行。 过滤不足: 在 文件的第 1928-1934 行。 4. 概念证明 4.1 启动反向 Shell 监听器 在攻击者机器上(例如 IP 地址为 ),运行: 4.2 创建一个实验室 登录并创建一个新实验室。 4.3 注入恶意 在实验室创建后,进入实验室并添加一个 QEMU 节点(此处以 Linux 为例): 4.4 触发执行 从控制台启动或重启节点。 附录 关键文件: - - - 日志: 及 注意事项: 仅在授权范围内进行验证和测试。未经授权不得公开利用或破坏可访问系统。