漏洞概述

漏洞名称

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。

06

参考资料

[1]https://github.com/star7th/showdoc/releases

声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。