CVE-2026-88592:kkFileView跨域文件代理绕TrustHostFilter全解析

admin 2026-09-28 05:09:53 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文解析kkFileView4.2.0及以上版本存在的SSRF漏洞(CVE-2026-88592),根因是TrustHostFilter校验参数与控制器实际使用参数不一致,攻击者可利用urlPath参数绕过白名单发起内网请求并回显响应。文章提供利用链、验证结果及修复建议,包括统一参数名、二次校验、内网IP黑名单及协议限制,并强调仅限授权环境测试。 综合评分: 85 文章分类: 漏洞分析,代码审计,WEB安全


CVE-2026-88592:kkFileView 跨域文件代理绕TrustHostFilter 全解析

原创

柠檬赏金猎人 柠檬赏金猎人

柠檬赏金猎人

2026年9月25日 10:21 广东

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

概述

#

kkFileView 是一款基于 Spring Boot 的在线文件预览开源项目,其 /getCorsFile 跨域文件代理端点被发现存在服务器端请求伪造(SSRF)漏洞(CWE-918),影响 4.2.0 及更高版本。

漏洞根源在于参数校验与业务取值不一致:TrustHostFilter 过滤器按固定优先级校验第一个非空参数(url),而 OnlinePreviewController.getCorsFile 控制器实际读取并请求的是 urlPath 参数。攻击者只需在同一次请求中同时提供两者,即可让诱饵参数通过白名单校验,而真正的恶意目标地址被服务器端请求并将响应体回显给攻击者。

该漏洞已在真实 Docker 靶场环境中验证成功,高危等级,画像置信度 0.82。

技术/功能

| 属性 | 值 | | — | — | | 漏洞类型 | SSRF(服务端请求伪造) | | CWE 分类 | CWE-918 | | 严重程度 | High | | 影响版本 | kkFileView 4.2.0+ | | 攻击向量 | GET /getCorsFile | | Sink 位置 | server/src/main/java/cn/keking/utils/HttpRequestUtils.java:executeHttpRequest | | 置信度 | 0.82 |

利用链(Source → Sink)

  • 污点源:GET /getCorsFile 的 query 参数 urlPath
  • 危险函数:org.springframework.web.client.RestTemplate#execute(URI, HttpMethod, RequestCallback, ResponseExtractor),两个参数均需 Base64 编码,裸http:// 字符串会触发 IllegalArgumentException

使用示例

监测结果:靶场返回了 kkFileView 主页面 HTML(约 11087 字节),响应体内含 previewByUrl、fileSelectBtn、fileUpload 等前端特征代码,证明服务器在内部对 http://127.0.0.1:8012/ 发起了 HTTP 请求并回显响应体,构成典型 SSRF。

修复建议

  1. 统一 TrustHostFilter#getSourceUrl 与 OnlinePreviewController#getCorsFile 的 URL 参数名。
  2. 在 getCorsFile 内对最终 normalized URL 重新执行一次 TrustHost 校验(双保险)。
  3. 对内网 IP 段(127.0.0.0/8、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、169.254.0.0/16 等)做硬编码黑名单。
  4. 限制协议,只允许 http/https,拒绝 file://、gopher://、dict:// 等。

注意事项

  • 本漏洞仅在已授权的靶场环境中验证,请勿对未授权目标进行测试。
  • 生产环境排查时,需同时检查过滤器与控制器对同一请求参数的解析顺序,避免”校验 A、使用 B”的经典参数混淆缺陷。
  • Base64 编码为服务端强制要求,未编码的 URL 无法触发漏洞。
  • 建议升级至官方修复版本,或参考上述修复点自行打补丁。

参考链接

  • https://github.com/kekingcn/kkFileView
  • https://cwe.mitre.org/data/definitions/918.html

仅限交流学习使用,如您在使用本工具或代码的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。“如侵权请私聊公众号删文”。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。

本文转载自:柠檬赏金猎人 柠檬赏金猎人 柠檬赏金猎人《CVE-2026-88592:kkFileView 跨域文件代理绕TrustHostFilter 全解析》

    评论:0   参与:  0