Sakai内核安全漏洞:可预测PRNG导致服务器端加密密钥易被破解

本文详细分析了Sakai内核实现中的安全漏洞CVE-2025-62710,该漏洞由于使用可预测的伪随机数生成器生成服务器端加密密钥,导致加密数据面临被解密的风险。影响版本包括23.3及以下,已在23.5和25.0版本中修复。

Sakai内核安全漏洞:可预测PRNG导致服务器端加密密钥易被破解

漏洞详情

包名: maven - org.sakaiproject.kernel:sakai-kernel-impl (Maven)

受影响版本: <= 23.3

已修复版本: 无

漏洞描述

影响

EncryptionUtilityServiceImpl 使用 RandomStringUtils 和默认的 java.util.Random 初始化 AES256TextEncryptor 密码(serverSecretKey)。java.util.Random 是一个非加密的伪随机数生成器(PRNG),可以从有限的状态/种子信息(例如启动时间窗口)进行预测,这显著降低了生成密钥的有效搜索空间。攻击者如果能够获取密文(例如受此服务保护的导出或静态字符串)并近似估计PRNG种子,就可以可行地重构serverSecretKey并解密受影响的数据。

修复补丁

SAK-49866 已在 Sakai 23.5、25.0 和 trunk 版本中修复。

致谢

  • 报告者:Suraj Gangwar
  • 修复者:Sam Ottenhoff (Longsight)

参考信息

严重程度

中等严重程度 - CVSS总体评分:5.9/10

CVSS v3基础指标

  • 攻击向量:网络
  • 攻击复杂度:高
  • 所需权限:无
  • 用户交互:无
  • 范围:未改变
  • 机密性:高
  • 完整性:无
  • 可用性:无

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N

弱点

CWE-337 - 伪随机数生成器(PRNG)中的可预测种子 伪随机数生成器(PRNG)从可预测的种子(如进程ID或系统时间)初始化。

标识符

  • CVE ID: CVE-2025-62710
  • GHSA ID: GHSA-gr7h-xw4f-wh86

源代码: sakaiproject/sakai

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计