Skip to main content

Pubnub CVE-2023-26154

MEDIUM
Insufficient Entropy (CWE-331)
2023-12-06 report@snyk.io
5.9
CVSS 3.1 · NVD
View

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Entropy requirements
Impact

CVSS score of 5.9 (MEDIUM). Attack characteristics: network attack vector, high complexity, no privileges required, no user interaction not required. Public proof-of-concept exploit code is available.

Exploit ScenarioDerived

This vulnerability can be exploited remotely over the network. Successful exploitation could compromise the medium-severity affected system.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 1.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAI

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. Rated medium severity (CVSS 5.9), this vulnerability is remotely exploitable, no authentication required. Public exploit code available.

RemediationAI

A vendor patch is available. Apply the latest security update as soon as possible. Apply vendor patches when available. Implement network segmentation and monitoring as interim mitigations.

Affected Packages

cargo com.pubnub:pubnub no fix
cargo com.pubnub:pubnub-kotlin fix: 7.7.0
cargo github.com/pubnub/go fix: 0.0.0-20231016150651-428517fef5b9
cargo github.com/pubnub/go/v5 fix: 5.0.4-0.20231016150651-428517fef5b9
cargo github.com/pubnub/go/v6 fix: 6.1.1-0.20231016150651-428517fef5b9
cargo github.com/pubnub/go/v7 fix: 7.2.0
cargo github.com/pubnub/swift fix: 6.2.0
cargo pubnub fix: 0.4.0, 4.3.0, 5.3.0, 6.19.0, 7.3.0, 7.4.0
cargo pubnub/pubnub fix: 6.1.0
composer com.pubnub:pubnub no fix
composer com.pubnub:pubnub-kotlin fix: 7.7.0
composer github.com/pubnub/go fix: 0.0.0-20231016150651-428517fef5b9
composer github.com/pubnub/go/v5 fix: 5.0.4-0.20231016150651-428517fef5b9
composer github.com/pubnub/go/v6 fix: 6.1.1-0.20231016150651-428517fef5b9
composer github.com/pubnub/go/v7 fix: 7.2.0
composer github.com/pubnub/swift fix: 6.2.0
composer pubnub fix: 0.4.0, 4.3.0, 5.3.0, 6.19.0, 7.3.0, 7.4.0
composer pubnub/pubnub fix: 6.1.0
go com.pubnub:pubnub no fix
go com.pubnub:pubnub-kotlin fix: 7.7.0
go github.com/pubnub/go fix: 0.0.0-20231016150651-428517fef5b9
go github.com/pubnub/go/v5 fix: 5.0.4-0.20231016150651-428517fef5b9
go github.com/pubnub/go/v6 fix: 6.1.1-0.20231016150651-428517fef5b9
go github.com/pubnub/go/v7 fix: 7.2.0
go github.com/pubnub/swift fix: 6.2.0
go pubnub fix: 0.4.0, 4.3.0, 5.3.0, 6.19.0, 7.3.0, 7.4.0
go pubnub/pubnub fix: 6.1.0
maven com.pubnub:pubnub no fix
maven com.pubnub:pubnub-kotlin fix: 7.7.0
maven github.com/pubnub/go fix: 0.0.0-20231016150651-428517fef5b9
maven github.com/pubnub/go/v5 fix: 5.0.4-0.20231016150651-428517fef5b9
maven github.com/pubnub/go/v6 fix: 6.1.1-0.20231016150651-428517fef5b9
maven github.com/pubnub/go/v7 fix: 7.2.0
maven github.com/pubnub/swift fix: 6.2.0
maven pubnub fix: 0.4.0, 4.3.0, 5.3.0, 6.19.0, 7.3.0, 7.4.0
maven pubnub/pubnub fix: 6.1.0
npm com.pubnub:pubnub no fix
npm com.pubnub:pubnub-kotlin fix: 7.7.0
npm github.com/pubnub/go fix: 0.0.0-20231016150651-428517fef5b9
npm github.com/pubnub/go/v5 fix: 5.0.4-0.20231016150651-428517fef5b9
npm github.com/pubnub/go/v6 fix: 6.1.1-0.20231016150651-428517fef5b9
npm github.com/pubnub/go/v7 fix: 7.2.0
npm github.com/pubnub/swift fix: 6.2.0
npm pubnub fix: 0.4.0, 4.3.0, 5.3.0, 6.19.0, 7.3.0, 7.4.0
npm pubnub/pubnub fix: 6.1.0
nuget com.pubnub:pubnub no fix
nuget com.pubnub:pubnub-kotlin fix: 7.7.0
nuget github.com/pubnub/go fix: 0.0.0-20231016150651-428517fef5b9
nuget github.com/pubnub/go/v5 fix: 5.0.4-0.20231016150651-428517fef5b9
nuget github.com/pubnub/go/v6 fix: 6.1.1-0.20231016150651-428517fef5b9
nuget github.com/pubnub/go/v7 fix: 7.2.0
nuget github.com/pubnub/swift fix: 6.2.0
nuget pubnub fix: 0.4.0, 4.3.0, 5.3.0, 6.19.0, 7.3.0, 7.4.0
nuget pubnub/pubnub fix: 6.1.0
pypi com-pubnub:pubnub no fix
pypi com-pubnub:pubnub-kotlin fix: 7.7.0
pypi github-com/pubnub/go fix: 0.0.0-20231016150651-428517fef5b9
pypi github-com/pubnub/go/v5 fix: 5.0.4-0.20231016150651-428517fef5b9
pypi github-com/pubnub/go/v6 fix: 6.1.1-0.20231016150651-428517fef5b9
pypi github-com/pubnub/go/v7 fix: 7.2.0
pypi github-com/pubnub/swift fix: 6.2.0
pypi pubnub fix: 0.4.0, 4.3.0, 5.3.0, 6.19.0, 7.3.0, 7.4.0
pypi pubnub/pubnub fix: 6.1.0
rubygems com.pubnub:pubnub no fix
rubygems com.pubnub:pubnub-kotlin fix: 7.7.0
rubygems github.com/pubnub/go fix: 0.0.0-20231016150651-428517fef5b9
rubygems github.com/pubnub/go/v5 fix: 5.0.4-0.20231016150651-428517fef5b9
rubygems github.com/pubnub/go/v6 fix: 6.1.1-0.20231016150651-428517fef5b9
rubygems github.com/pubnub/go/v7 fix: 7.2.0
rubygems github.com/pubnub/swift fix: 6.2.0
rubygems pubnub fix: 0.4.0, 4.3.0, 5.3.0, 6.19.0, 7.3.0, 7.4.0
rubygems pubnub/pubnub fix: 6.1.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 16 packages in cargo, composer, go and 5 more

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This vulnerability is classified under CWE-331. 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. Affected products include: Pubnub C-Core, Pubnub Kotlin, Pubnub, Pubnub Swift. Version information: before 7.4.0.

Know when Pubnub gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionNVD

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.

Threat Intelligence Overview

EPSS Score
1.0%
Top 43% exploitable
Exploit
POC
Public exploit code exists
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 1.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

51
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +30
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)NVD

cpe:2.3:a:pubnub:c-core:*:*:*:*:*:*:*:*
cpe:2.3:a:pubnub:kotlin:*:*:*:*:*:*:*:*
cpe:2.3:a:pubnub:pubnub:*:*:*:*:*:-:*:*
cpe:2.3:a:pubnub:pubnub:*:*:*:*:*:go:*:*
cpe:2.3:a:pubnub:pubnub:*:*:*:*:*:-:*:*
cpe:2.3:a:pubnub:pubnub:*:*:*:*:*:-:*:*
cpe:2.3:a:pubnub:pubnub:*:*:*:*:*:-:*:*
cpe:2.3:a:pubnub:pubnub:*:*:*:*:*:-:*:*
cpe:2.3:a:pubnub:pubnub:*:*:*:*:*:-:*:*
cpe:2.3:a:pubnub:pubnub:*:*:*:*:*:-:*:*
cpe:2.3:a:pubnub:swift:*:*:*:*:*:*:*:*

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy