【严重】青龙面板漏洞

二月 25, 2026 / Ming / 0阅读 / 0评论

转载于妖火网【严重】青龙面板漏洞 - 综合技术

漏洞报告:gRPC 公网暴露导致未授权任务执行

漏洞概述

青龙面板后端 gRPC 服务默认监听 0.0.0.0,且使用不安全凭证(明文、无鉴权)。当 gRPC 端口对公网可达时,攻击者可在未授权情况下调用 gRPC 接口创建/调度任务,触发命令执行与非法写入风险。

影响范围

  • 组件:后端 gRPC 服务

  • 默认端口:5500(环境变量 GRPC_PORT

  • 触发条件:端口对公网可达且未加鉴权/访问控制

风险等级

高危(远程未授权任务执行)

关键漏洞文件与入口

  • back/services/grpc.ts

    • gRPC 绑定 0.0.0.0 且使用 createInsecure() 启动服务

  • back/config/index.ts

    • gRPC 默认端口 GRPC_PORT(默认 5500

  • back/schedule/addCron.ts

    • 接收 command 并注册任务

  • back/shared/runCron.ts

    • 使用 /bin/bash 执行 command

漏洞成因说明

  1. gRPC 服务对公网监听且使用不安全凭证。

  2. gRPC 接口未做统一鉴权校验。

  3. 任务创建链路可直接触达命令执行入口。

复现与验证(使用 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就行

最新版青龙结果

修复建议

  1. gRPC 默认仅监听 127.0.0.1,禁止公网访问

  2. 启用 gRPC TLS,并引入 token/签名鉴权

  3. gRPC 层增加统一鉴权拦截器

  4. 严格控制任务执行入口与 command 来源

免责声明

本文与脚本仅用于自查与授权测试。未经授权的扫描或访问可能违反法律法规。

文章作者:Ming

文章链接:https://11ao.cn/archives/f1csXOiS

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议,转载请注明出处!


评论