Skip to content
Fencer Vulns
medium 5.9

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

References

Sources

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.