【严重】青龙面板漏洞
转载于妖火网【严重】青龙面板漏洞 - 综合技术
漏洞报告:gRPC 公网暴露导致未授权任务执行
漏洞概述
青龙面板后端 gRPC 服务默认监听 0.0.0.0,且使用不安全凭证(明文、无鉴权)。当 gRPC 端口对公网可达时,攻击者可在未授权情况下调用 gRPC 接口创建/调度任务,触发命令执行与非法写入风险。
影响范围
组件:后端 gRPC 服务
默认端口:
5500(环境变量GRPC_PORT)触发条件:端口对公网可达且未加鉴权/访问控制
风险等级
高危(远程未授权任务执行)
关键漏洞文件与入口
back/services/grpc.tsgRPC 绑定
0.0.0.0且使用createInsecure()启动服务
back/config/index.tsgRPC 默认端口
GRPC_PORT(默认5500)
back/schedule/addCron.ts接收
command并注册任务
back/shared/runCron.ts使用
/bin/bash执行command
漏洞成因说明
gRPC 服务对公网监听且使用不安全凭证。
gRPC 接口未做统一鉴权校验。
任务创建链路可直接触达命令执行入口。
复现与验证(使用 ql_grpc_exec_probe.py)
注意:以下步骤会实际创建任务并执行命令,仅用于已授权环境的确认性测试。
依赖安装
pip install grpcio grpcio-tools执行测试
python ql_grpc_exec_probe.py <host> [port]默认行为:
以
Cron.addCron创建任务使用命令:
touch /tmp/ql_grpc_poc.txt延迟数秒后调用
delCron清理任务
验证结果
在目标主机上检查以下文件是否存在:
ls -la /tmp/ql_grpc_poc.txt若文件存在,说明未授权命令执行已成立。
我亲自测试我的最新版青龙结果
漏洞确实存在,建议就是开启防火墙屏蔽5500端口
不建议开放所有端口,仅开放5700就行

修复建议
gRPC 默认仅监听
127.0.0.1,禁止公网访问启用 gRPC TLS,并引入 token/签名鉴权
gRPC 层增加统一鉴权拦截器
严格控制任务执行入口与
command来源
免责声明
本文与脚本仅用于自查与授权测试。未经授权的扫描或访问可能违反法律法规。
文章作者:Ming
文章链接:https://11ao.cn/archives/f1csXOiS
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议,转载请注明出处!
评论