#568·litemall

Litemall 中的硬编码 JWT 密钥漏洞 (≤ v1.8.0) (CWE-798)

作者: ez-lbz创建于 2025年8月4日更新于 2025年8月4日

硬码JWT在Liteball中的秘密脆弱性(≤v1.8.0)(CWE-798)

□ 总结

硬编码的JWT秘密脆弱性见于Ltemall 版本 ≤ 1.8.0。 该问题载于:

coraticall-wx-api/src/main/java/org/linjava/litecall/wx/util/Jwthelper.java (英语).

开发者将JWT的秘密直接编码入源代码,从而产生了一个可以预测和静态的密钥来签名JSON Web Tokens(JWTs). 这一弱点使攻击者能够伪造有效的JWT,可能导致特权升级和未经授权的进入。

-- -- . . .

□ 细节

JWT秘密密钥用于签名和验证令牌,在应用程序中被硬编码. 访问密码库或获得二进制(例如通过解编)的攻击者可以轻松地取回密钥. 使用已知的密钥,攻击者可以用任意的主张来编造有效的代币,绕过认证和授权检查.

** 相关脆弱代码:**

贾瓦 //秘钥. 静态终端SECRET = "X- Litecall-Token"; //签名是有谁生成. 静态终极弦ISSUSER = "LITEMALL"; //签名的主题. 静态最后字符串 SUBJECT = "这是诉讼符号"; //签名的观众. (一) 静态终极弦声=“MINIAPP”;


-- -- . . .

□ 影响

利用这种脆弱性可导致:

- 伪造JWT标志,绕开认证机制

- 未经许可利用受保护的资源和行政职能

- 特权升级和可能的全面制度妥协


-- -- . . .

□ 根源

脆弱性的根源在于应用程序源代码中直接使用硬编码敏感密码密钥(JWT secret)的不安全做法,违反了[CWE-798:使用硬码证书](https://cwe.mitre.org/data/designations/798.html)。

-- -- . . .

□ 补救

与其直接将JWT秘密嵌入到代码中去,不如在运行时间(如静态初始化块内或从安全配置源内)生成一个强大而不可预测的JWT秘密来缓解可以预测的关键攻击.

内容来源: linlinjava/litemall