changedetection.io:通过API更新监控时存在存储型XSS漏洞 · CVE-2025-62780
漏洞详情
摘要
由于安全检查不足,changedetection.io监控更新API中存在存储型跨站脚本漏洞。
详细信息
在changedetection.io版本v0.50.24上测试:
|
|
当用户尝试在changedetection.io UI中添加不安全的URL作为监控时,操作会被阻止并显示错误消息:“Watch protocol is not permitted by SAFE_PROTOCOL_REGEX or incorrect URL format”。
这由validate_url(test_url)函数捕获:
|
|
然而,当使用监控API时,此检查未执行,导致不安全的URL被添加为监控。
复现步骤
使用不安全的URL更新现有监控:
|
|
影响
存在两种可能场景:
- 攻击者可以插入带有任意URL的新监控,该URL实际指向一个网页。一旦HTML内容被检索,攻击者将URL更新为JavaScript有效载荷。
- 攻击者将现有监控中的URL替换为实际上是JavaScript有效载荷的新URL。
当用户点击预览然后点击恶意链接时,JavaScript恶意代码将被执行。
技术信息
受影响版本
- < 0.50.34
已修复版本
- 0.50.34
严重程度
- 低危 - CVSS评分:3.5
CVSS v3基础指标
- 攻击向量:网络
- 攻击复杂度:低
- 所需权限:高
- 用户交互:需要
- 范围:未改变
- 机密性:低
- 完整性:低
- 可用性:无
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N
弱点
- CWE-79:在网页生成过程中对输入的不当中和(跨站脚本)
参考信息
- GHSA-4c3j-3h7v-22q9
- https://nvd.nist.gov/vuln/detail/CVE-2025-62780
- dgtlmoon/changedetection.io#3562
- dgtlmoon/changedetection.io#3564
- https://github.com/dgtlmoon/changedetection.io/releases/tag/0.50.34
致谢
发现者:Edoardo Ottavianelli @edoardottt