issabel-pbx 版本 4.0.0-6 存在一个访问控制失效漏洞,具体表现为未授权的目录遍历。任何远程未授权攻击者都可以浏览应用的 modules 目录,并直接访问敏感源代码文件、配置文件及内部应用逻辑,无需任何凭证或授权。
该漏洞由 Sahil Ojha 于 2023年7月10日 发现并负责任地披露,CVE 计划已分配编号 CVE-2023-37599。
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2023-37599 |
| CWE | CWE-548 – 通过目录遍历泄露信息 |
| 漏洞类型 | 访问控制失效 / 信息泄露 |
| 受影响产品 | issabel-pbx |
| 受影响版本 | 4.0.0-6 |
| 发现日期 | 2023年7月10日 |
| 研究人员 | Sahil Ojha |
| 厂商 | Issabel |
| 源代码 | IssabelFoundation/issabelPBX |
| 测试环境 | Windows |
Issabel 是一个基于 Asterisk PBX 构建的开源统一通信平台。其 Web 管理界面由 issabel-pbx 包提供。在版本 4.0.0-6 中,Web 服务器配置错误,允许对 /modules 路径进行目录遍历。由于该路径未实施任何访问控制或身份验证检查,未授权攻击者可以:
这违反了最小权限原则,构成了 OWASP Top 10 (A01:2021) 所定义的访问控制失效漏洞。
确定运行 issabel-pbx 4.0.0-6 的 Issabel PBX 实例的 IP 地址或主机名。
打开浏览器(无需登录或特殊工具),访问:
https://<ISSABEL_IP>/modules/
服务器响应返回 modules 文件夹的完整目录列表,暴露所有已安装模块的目录和文件。

进入任何子目录以枚举每个模块内的更多文件和文件夹。

直接在浏览器中打开单个 PHP 或配置文件,读取应用的源代码。

继续遍历以访问其他敏感文件,例如处理呼叫路由、用户管理或系统配置的脚本。

漏洞源于提供 Issabel Web 根目录服务的 Apache(或等效 Web 服务器)配置未禁用 /modules 目录的 Options Indexes 指令。当 Options Indexes 启用且目录中不存在 index.php / index.html 文件时,Web 服务器会自动生成并提供一个可浏览的目录列表页面。
厂商和管理员应应用以下一种或多种缓解措施:
禁用目录遍历。对于 Apache,确保为模块目录(或全局)设置以下内容:
<Directory /var/www/html/modules>
Options -Indexes
</Directory>
限制访问 /modules 路径,使其仅可从 localhost 或可信管理网络访问:
<Directory /var/www/html/modules>
Require ip 127.0.0.1
</Directory>
对所有非公开的 Web 根路径应用身份验证。
更新到已修复版本的 issabel-pbx(厂商发布补丁后)。
此信息仅供教育和研究目的使用。作者不对任何滥用此信息的行为负责。在测试任何系统的漏洞之前,请务必获得适当的书面授权。
由 Sahil Ojha 发现并披露