CVE-2023-26154 json
pubnub Insufficient Entropy vulnerability
published 2023-12-06 2 y ago modified 2026-07-07 4 mo ago also EUVD-2023-3110 , GHSA-5844-q3fc-56rh , GO-2023-2385 , PYSEC-2026-1807
- cvss
- 5.9
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.0%
- EPSS 1.0% chance of exploitation in 30 days, percentile 61%
- public exploits
- 0
- none known
Summary
Versions of the package pubnub before 7.4.0; all versions of the package com.pubnub:pubnub; versions of the package pubnub before 6.19.0; all versions of the package github.com/pubnub/go; versions of the package github.com/pubnub/go/v7 before 7.2.0; versions of the package pubnub before 7.3.0; versions of the package pubnub/pubnub before 6.1.0; versions of the package pubnub before 5.3.0; versions of the package pubnub before 0.4.0; versions of the package pubnub/c-core before 4.5.0; versions of the package com.pubnub:pubnub-kotlin before 7.7.0; versions of the package pubnub/swift before 6.2.0; versions of the package pubnub before 5.2.0; versions of the package pubnub before 4.3.0 are vulnerable to Insufficient Entropy via the getKey function, due to inefficient implementation of the AES-256-CBC cryptographic algorithm. The provided encrypt function is less secure when hex encoding and trimming are applied, leaving half of the bits in the key always the same for every encoded message or file. **Note:** In order to exploit this vulnerability, the attacker needs to invest resources in preparing the attack and brute-force the encryption.
Patch / fix
- npm pubnub 7.4.0
- maven com.pubnub:pubnub-kotlin 7.7.0
- go github.com/pubnub/go/v7 7.2.0
- go github.com/pubnub/go 0.0.0-20231016150651-428517fef5b9
- go github.com/pubnub/go/v6 6.1.1-0.20231016150651-428517fef5b9
- go github.com/pubnub/go/v5 5.0.4-0.20231016150651-428517fef5b9
- nuget Pubnub 6.19.0
- swift github.com/pubnub/swift 6.2.0
- rubygems pubnub 5.3.0
- crates.io pubnub 0.4.0
- packagist pubnub/pubnub 6.1.0
- pub pubnub 4.3.0
- pypi pubnub 7.3.0
- n/a pubnub 0.4.0, 4.3.0, 5.2.0, 5.3.0, 6.19.0, 7.3.0, 7.4.0
- n/a github.com/pubnub/go/v7 7.2.0
- n/a pubnub/pubnub 6.1.0
- n/a pubnub/c-core 4.5.0
- n/a com.pubnub:pubnub-kotlin 7.7.0
- n/a pubnub/swift 6.2.0
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
- govulncheck-vulndb openSUSE Tumbleweed 0.0.20250818T190335-1.1
opensuse advisories openSUSE-SU-2026:21483-1openSUSE-SU-2025:15469-1
Exploit prediction
0.96% chance of exploitation in the next 30 days, higher than 61% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- gist.github.com https://gist.github.com/vargad/20237094fce7a0a28f0723d7ce395bb0 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
| OSV | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | pubnub | <7.4.0 |
7.4.0 |
| maven | com.pubnub:pubnub-kotlin | <7.7.0 |
7.7.0 |
| maven | com.pubnub:pubnub | <=4.6.5 |
no fix listed |
| go | github.com/pubnub/go/v7 | <7.2.0 |
7.2.0 |
| go | github.com/pubnub/go | <0.0.0-20231016150651-428517fef5b9 all versions |
0.0.0-20231016150651-428517fef5b9 |
| go | github.com/pubnub/go/v6 | <6.1.1-0.20231016150651-428517fef5b9 all versions |
6.1.1-0.20231016150651-428517fef5b9 |
| go | github.com/pubnub/go/v5 | <5.0.4-0.20231016150651-428517fef5b9 all versions |
5.0.4-0.20231016150651-428517fef5b9 |
| nuget | Pubnub | <6.19.0 |
6.19.0 |
| swift | github.com/pubnub/swift | <6.2.0 |
6.2.0 |
| rubygems | pubnub | <5.3.0 |
5.3.0 |
| crates.io | pubnub | <0.4.0 |
0.4.0 |
| packagist | pubnub/pubnub | <6.1.0 |
6.1.0 |
| pub | pubnub | <4.3.0 |
4.3.0 |
| pypi | pubnub | <7.3.0 |
7.3.0 |
Affected products
- n/a pubnub
- n/a com.pubnub:pubnub
- n/a github.com/pubnub/go
- n/a github.com/pubnub/go/v7
- n/a pubnub/pubnub
- n/a pubnub/c-core
- n/a com.pubnub:pubnub-kotlin
- n/a pubnub/swift
Classification
- Weakness
-
- CWE-331 Insufficient Entropy
References
-
github.com
/pubnub/javascript/commit/fb6cd0417cbb4ba87ea2d5d86a9c94774447e119
web, patch
-
github.com
/pubnub/go/commit/428517fef5b901db7275d9f5a75eda89a4c28e08
web, patch
-
gist.github.com
/vargad/20237094fce7a0a28f0723d7ce395bb0
web, exploit, issue-tracking
-
security.snyk.io
/vuln/SNYK-JS-PUBNUB-5840690
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-JAVA-COMPUBNUB-6098371
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-DOTNET-PUBNUB-6098372
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-GOLANG-GITHUBCOMPUBNUBGO-6098373
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-GOLANG-GITHUBCOMPUBNUBGOV7-6098374
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-PYTHON-PUBNUB-6098375
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-PHP-PUBNUBPUBNUB-6098376
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-RUBY-PUBNUB-6098377
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-RUST-PUBNUB-6098378
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-UNMANAGED-PUBNUBCCORE-6098379
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-JAVA-COMPUBNUB-6098380
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-SWIFT-PUBNUBSWIFT-6098381
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-COCOAPODS-PUBNUB-6098384
web, third-party-advisory
-
security.snyk.io
/vuln/SNYK-PUB-PUBNUB-6098385
web, third-party-advisory
-
github.com
/pubnub/javascript/blob/master/src/crypto/modules/web.js%23L70
broken-link
-
nvd.nist.gov
/vuln/detail/CVE-2023-26154
advisory
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/pubnub/CVE-2023-26154.yml
web
-
github.com
/pubnub/javascript/blob/master/src/crypto/modules/web.js#L70
web
-
github.com
/pubnub/javascript
package
-
github.com
/advisories/GHSA-5844-q3fc-56rh
advisory
-
pypi.org
/project/pubnub
package
Sources
- CVE List CVE-2023-26154
- GitHub Advisory GHSA-5844-q3fc-56rh
- NVD CVE-2023-26154
- OSV GO-2023-2385
- OSV PYSEC-2026-1807
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.