CVE-2023-26154
CVE-2023-26154 is a medium-severity vulnerability in Pubnub C-core with a CVSS 3.x base score of 5.9. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-331.
Key facts
- Severity: Medium (CVSS 3.x base score 5.9)
- EPSS exploit prediction: 1% (57th percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-331
- Affected product: Pubnub C-core
- Published:
- Last modified:
Description
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.
Frequently asked questions
- What is CVE-2023-26154?
- 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.
- How severe is CVE-2023-26154?
- CVE-2023-26154 has a CVSS 3.x base score of 5.9, rated medium severity. It is exploitable over network with high attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity none, and availability none.
- Is CVE-2023-26154 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (57th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2023-26154?
- CVE-2023-26154 primarily affects Pubnub C-core. In total, 5 product configurations (CPEs) are listed as vulnerable; see the affected-products list for the exact versions.
- How do I fix CVE-2023-26154?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- When was CVE-2023-26154 published?
- CVE-2023-26154 was published on 2023-12-06 and last updated on 2026-06-17.
References
- https://gist.github.com/vargad/20237094fce7a0a28f0723d7ce395bb0
- https://github.com/pubnub/javascript/blob/master/src/crypto/modules/web.js%23L70
- https://github.com/pubnub/javascript/commit/fb6cd0417cbb4ba87ea2d5d86a9c94774447e119
- https://security.snyk.io/vuln/SNYK-COCOAPODS-PUBNUB-6098384
- https://security.snyk.io/vuln/SNYK-DOTNET-PUBNUB-6098372
- https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPUBNUBGO-6098373
- https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPUBNUBGOV7-6098374
- https://security.snyk.io/vuln/SNYK-JAVA-COMPUBNUB-6098371
- https://security.snyk.io/vuln/SNYK-JAVA-COMPUBNUB-6098380
- https://security.snyk.io/vuln/SNYK-JS-PUBNUB-5840690
- https://security.snyk.io/vuln/SNYK-PHP-PUBNUBPUBNUB-6098376
- https://security.snyk.io/vuln/SNYK-PUB-PUBNUB-6098385
- https://security.snyk.io/vuln/SNYK-PYTHON-PUBNUB-6098375
- https://security.snyk.io/vuln/SNYK-RUBY-PUBNUB-6098377
- https://security.snyk.io/vuln/SNYK-RUST-PUBNUB-6098378
- https://security.snyk.io/vuln/SNYK-SWIFT-PUBNUBSWIFT-6098381
- https://security.snyk.io/vuln/SNYK-UNMANAGED-PUBNUBCCORE-6098379
Affected products (5)
- 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:swift:*:*:*:*:*:*:*:*
Other CWE-331 vulnerabilities
- CVE-2020-36925 — Critical (CVSS 9.8): Arteco Web Client DVR/NVR contains a session hijacking vulnerability with insufficient session ID complexity that…
- CVE-2025-47781 — Critical (CVSS 9.8): Rallly is an open-source scheduling and collaboration tool. Versions up to and including 3.22.1 of the application…
- CVE-2024-47945 — Critical (CVSS 9.8): The devices are vulnerable to session hijacking due to insufficient entropy in its session ID generation algorithm.…
- CVE-2024-25730 — Critical (CVSS 9.8): Hitron CODA-4582 and CODA-4589 devices have default PSKs that are generated from 5-digit hex values concatenated with a…
- CVE-2023-49599 — Critical (CVSS 9.8): An insufficient entropy vulnerability exists in the salt generation functionality of WWBN AVideo dev master commit…
- CVE-2022-34294 — Critical (CVSS 9.8): totd 1.5.3 uses a fixed UDP source port in upstream queries sent to DNS resolvers. This allows DNS cache poisoning…