PublicCMS 支付逻辑缺陷 CVE-2026-8738 允许未经授权的操作
CVE-2026-8738 (CVSS 6.5) 在 Sanluan PublicCMS 5.202506.d 中允许远程攻击者通过 TradeOrderController.pay 中的业务逻辑错误操纵交易支付流程。

执行摘要
三联 PublicCMS 版本 5.202506.d 中存在一个业务逻辑漏洞,跟踪编号为 CVE-2026-8738,允许远程未经身份验证的攻击者操纵交易支付流程,可能使未经授权的交易或支付金额篡改成为可能。该漏洞的 CVSS 评分为 6.5(中等严重性),存在于文件 publiccms-trade/src/main/java/com/publiccms/controller/web/trade/TradeOrderController.java 中的 TradeOrderController.pay、TradePaymentController.pay 和 AccountGatewayComponent.pay 方法。利用此漏洞不需要认证,这使得任何处理支付的面向互联网的 PublicCMS 安装都面临重大风险。
技术分析
根据提交给 VulDB(源 ID 809905)的漏洞披露,该问题被归类为交易支付流程中的 业务逻辑错误。受影响的代码路径处理支付订单处理和网关交互。具体函数 — TradeOrderController.pay、TradePaymentController.pay 和 AccountGatewayComponent.pay — 在处理支付请求之前未能正确验证交易状态或执行授权检查。
业务逻辑漏洞与内存损坏或注入漏洞不同,它们以非预期的方式利用应用程序的预期功能。在这种情况下,攻击者可以向支付端点发送精心制作的 HTTP 请求,绕过验证步骤,例如确认订单所有权、验证支付金额或检查订单是否处于可支付状态。结果可能允许攻击者用任意金额支付订单,为其他用户的订单支付,或在没有合法交易的情况下触发支付回调。
根据 CVSS 向量,该漏洞可以在没有任何认证凭证的情况下通过网络远程利用。受影响的组件是 PublicCMS 的交易模块,这是一个基于 Java 的开源内容管理系统,在中国和其他地区广泛用于构建电子商务和发布站点。确定为易受攻击的特定版本是 5.202506.d,发布于 2025 年 6 月。
截至本文撰写时,尚未公开发布概念验证漏洞利用代码,但披露中的技术细节为熟练攻击者重现问题提供了足够的信息。
缓解措施与建议
截至出版时,三联尚未发布解决 CVE-2026-8738 的 PublicCMS 修补版本。运行 PublicCMS 5.202506.d 的防御者应采取以下步骤:
- 隔离交易模块:如果支付处理不是必需的,通过删除或限制对
/trade/payURL 模式的访问,在 Web 服务器或应用程序级别禁用交易支付端点。 - 应用网络分段:确保 PublicCMS 实例除非绝对必要,否则不直接从互联网访问。将其放置在反向代理或 VPN 网关后面。
- 监控支付日志:审查应用程序日志,寻找异常的支付请求,特别是那些来自意外的 IP 范围或缺少适当会话令牌的请求。
- 实施补偿控制:添加一个 Web 应用程序防火墙(WAF)规则,以检查和验证支付请求参数,例如订单 ID 和金额,与预期值相符,然后再到达应用程序。
- 关注更新:监控 PublicCMS 官方存储库和安全通告,等待修补版本发布。在修复可用之前,利用风险仍然存在。
订阅更新
将最新的网络安全资讯直接发送到您的邮箱。

