漏洞概述 | |||
漏洞名称 | ShowDoc registerByVerify 未授权远程代码执行漏洞 | ||
漏洞编号 | QVD-2026-61708 | ||
公开时间 | 2026-09-02 | 影响量级 | 万级 |
奇安信评级 | 高危 | CVSS 3.1分数 | 9.8 |
威胁类型 | 代码执行 | 利用可能性 | 高 |
POC状态 | 未公开 | 在野利用状态 | 未发现 |
EXP状态 | 未公开 | 技术细节状态 | 未公开 |
危害描述:攻击者可未授权注册含 PHP 载荷的用户名,随后通过请求 Web 根下的 SQLite 数据库 .php 文件触发任意命令执行,进而读取/篡改数据库、植入 Webshell、完全控制服务器。 | |||
01
漏洞详情
>>>>
影响组件
ShowDoc 是 star7th 开发的开源在线 API 文档与文档协作工具,基于 PHP 实现,常被企业内部用于 API 文档、数据字典、说明文档的沉淀与共享,支持 Docker 一键部署。ShowDoc 采用 PHP(PHP-FPM + Nginx)架构,并提供注册 / 登录等 Web 管理能力。默认安装使用 SQLite 作为数据库。
>>>>
漏洞描述
近日,奇安信CERT监测到官方修复ShowDoc registerByVerify 未授权远程代码执行漏洞(QVD-2026-61708),该漏洞源于 ShowDoc 的注册接口 registerByVerify 对 username 参数仅做 trim() 处理、缺少字符白名单校验,恶意用户名可被原样存入数据库;而默认部署将 SQLite 数据库文件放置在 Web 根目录下,当攻击者直接请求该数据库 .php 文件时,PHP-FPM 会将其作为 PHP 脚本解析,执行 username 中注入的代码,从而实现未授权远程代码执行。鉴于该漏洞影响范围较大,建议客户尽快做好自查及防护。
>>>>
利用条件
目标开放注册功能且使用默认 SQLite 部署。
02
影响范围
>>>>
影响版本
ShowDoc <= v3.9.2
03
复现情况
目前,奇安信CERT已成功复现ShowDoc registerByVerify 未授权远程代码执行漏洞(QVD-2026-61708),截图如下:

04
受影响资产情况
奇安信鹰图资产测绘平台数据显示,ShowDoc registerByVerify 未授权远程代码执行漏洞(QVD-2026-61708)关联的国内风险资产总数为20491个,关联IP总数为4866个。国内风险资产分布情况如下:

05
处置建议
>>>>
安全更新
官方已发布安全补丁,请及时更新至最新版本:
ShowDoc >= v3.9.3
下载地址:
https://github.com/star7th/showdoc/releases
临时缓解措施:
1. 关闭注册:将 options 表 register_open 置为 0;
2. 禁止数据库文件被当作 PHP 执行:Nginx 增加 deny 规则,禁止访问 /Sqlite/ 目录;
3. 将 SQLite 数据库文件迁移出 Web 根目录(如 /data/),或在文件头部增加 "" 防护;有条件建议切换 MySQL。?php>
06
参考资料
[1]https://github.com/star7th/showdoc/releases
声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。