PubNub加密漏洞CVE-2023-26154:熵不足导致安全风险

本文详细分析了PubNub SDK中存在的熵不足漏洞CVE-2023-26154,该漏洞因AES-256-CBC算法实现缺陷导致加密密钥熵值降低,影响多个编程语言版本。文章提供了受影响版本列表、修复建议及相关安全参考链接。

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 - 熵不足

描述:产品使用的算法或方案产生的熵不足,导致出现比其他值更可能出现的模式或值簇。

参考链接

  1. 官方CVE记录:https://nvd.nist.gov/vuln/detail/CVE-2023-26154
  2. GitHub修复提交:pubnub/javascript@fb6cd04
  3. 技术分析文档:https://gist.github.com/vargad/20237094fce7a0a28f0723d7ce395bb0
  4. 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
  5. 漏洞代码位置:https://github.com/pubnub/javascript/blob/master/src/crypto/modules/web.js#L70
  6. GitHub安全通告ID:GHSA-5844-q3fc-56rh
  7. Ruby安全数据库记录:https://github.com/rubysec/ruby-advisory-db/blob/master/gems/pubnub/CVE-2023-26154.yml
  8. Go修复提交:pubnub/go@428517f

时间线

  • 国家漏洞数据库发布时间:2023年12月6日
  • GitHub咨询数据库发布时间:2023年12月6日
  • 审核时间:2023年12月6日
  • 最后更新时间:2025年7月22日
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计