PubNub熵不足漏洞(CVE-2023-26154)
漏洞详情
漏洞描述:PubNub软件包在多个版本中存在熵不足漏洞,该漏洞源于getKey函数中对AES-256-CBC加密算法的低效实现。当应用十六进制编码和修剪时,提供的加密函数安全性降低,导致每个编码消息或文件的密钥中有一半比特始终保持不变。
重要说明:攻击者需要投入资源准备攻击并通过暴力破解才能利用此漏洞。
受影响版本
各语言包受影响范围:
NuGet (.NET)
- 包名:Pubnub
- 受影响版本:< 6.19.0
- 已修复版本:6.19.0
Maven (Java)
- 包名:com.pubnub:pubnub
- 受影响版本:≤ 4.6.5
- 已修复版本:无
Maven (Kotlin)
- 包名:com.pubnub:pubnub-kotlin
- 受影响版本:< 7.7.0
- 已修复版本:7.7.0
Go Modules
-
包名:github.com/pubnub/go
-
受影响版本:< 0.0.0-20231016150651-428517fef5b9
-
已修复版本:0.0.0-20231016150651-428517fef5b9
-
包名:github.com/pubnub/go/v5
-
受影响版本:< 5.0.4-0.20231016150651-428517fef5b9
-
已修复版本:5.0.4-0.20231016150651-428517fef5b9
-
包名:github.com/pubnub/go/v6
-
受影响版本:< 6.1.1-0.20231016150651-428517fef5b9
-
已修复版本:6.1.1-0.20231016150651-428517fef5b9
-
包名:github.com/pubnub/go/v7
-
受影响版本:< 7.2.0
-
已修复版本:7.2.0
Swift
- 包名:github.com/pubnub/swift
- 受影响版本:< 6.2.0
- 已修复版本:6.2.0
npm (JavaScript)
- 包名:pubnub
- 受影响版本:< 7.4.0
- 已修复版本:7.4.0
RubyGems
- 包名:pubnub
- 受影响版本:< 5.3.0
- 已修复版本:5.3.0
Rust (Cargo)
- 包名:pubnub
- 受影响版本:< 0.4.0
- 已修复版本:0.4.0
Pub (Dart)
- 包名:pubnub
- 受影响版本:< 4.3.0
- 已修复版本:4.3.0
pip (Python)
- 包名:pubnub
- 受影响版本:< 7.3.0
- 已修复版本:7.3.0
Composer (PHP)
- 包名:pubnub/pubnub
- 受影响版本:< 6.1.0
- 已修复版本:6.1.0
安全评分
CVSS v3.1 评分:5.9(中危)
基础指标:
- 攻击向量:网络(AV:N)
- 攻击复杂度:高(AC:H)
- 所需权限:无(PR:N)
- 用户交互:无(UI:N)
- 作用范围:未改变(S:U)
- 机密性影响:高(C:H)
- 完整性影响:无(I:N)
- 可用性影响:无(A:N)
完整向量:CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
EPSS评分:0.362%(第58百分位)
此评分估计该漏洞在未来30天内被利用的概率。
弱点分类
CWE-ID:CWE-331 - 熵不足
描述:产品使用的算法或方案产生的熵不足,导致出现比其他值更可能出现的模式或值簇。
参考链接
- 官方CVE记录:https://nvd.nist.gov/vuln/detail/CVE-2023-26154
- GitHub修复提交:pubnub/javascript@fb6cd04
- 技术分析文档:https://gist.github.com/vargad/20237094fce7a0a28f0723d7ce395bb0
- Snyk安全通告:
- CocoaPods:https://security.snyk.io/vuln/SNYK-COCOAPODS-PUBNUB-6098384
- .NET:https://security.snyk.io/vuln/SNYK-DOTNET-PUBNUB-6098372
- Go:https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPUBNUBGO-6098373
- Go v7:https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPUBNUBGOV7-6098374
- Java:https://security.snyk.io/vuln/SNYK-JAVA-COMPUBNUB-6098371
- Java Kotlin:https://security.snyk.io/vuln/SNYK-JAVA-COMPUBNUB-6098380
- JavaScript:https://security.snyk.io/vuln/SNYK-JS-PUBNUB-5840690
- PHP:https://security.snyk.io/vuln/SNYK-PHP-PUBNUBPUBNUB-6098376
- Pub:https://security.snyk.io/vuln/SNYK-PUB-PUBNUB-6098385
- Python:https://security.snyk.io/vuln/SNYK-PYTHON-PUBNUB-6098375
- Ruby:https://security.snyk.io/vuln/SNYK-RUBY-PUBNUB-6098377
- Rust:https://security.snyk.io/vuln/SNYK-RUST-PUBNUB-6098378
- Swift:https://security.snyk.io/vuln/SNYK-SWIFT-PUBNUBSWIFT-6098381
- C-core:https://security.snyk.io/vuln/SNYK-UNMANAGED-PUBNUBCCORE-6098379
- 漏洞代码位置:https://github.com/pubnub/javascript/blob/master/src/crypto/modules/web.js#L70
- GitHub安全通告ID:GHSA-5844-q3fc-56rh
- Ruby安全数据库记录:https://github.com/rubysec/ruby-advisory-db/blob/master/gems/pubnub/CVE-2023-26154.yml
- Go修复提交:pubnub/go@428517f
时间线
- 国家漏洞数据库发布时间:2023年12月6日
- GitHub咨询数据库发布时间:2023年12月6日
- 审核时间:2023年12月6日
- 最后更新时间:2025年7月22日