Skip to main content

Nicotine+ EUVDEUVD-2026-88978

| CVE-2026-68911 HIGH
Improper Handling of Highly Compressed Data (Data Amplification) (CWE-409)
2026-09-29 security-advisories@github.com
8.7
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Connect to victim as Soulseek peer
  2. Delivery
    Send zlib-compressed peer message (decompression bomb)
  3. Exploit
    Victim decompresses without size cap
  4. Execution
    Memory exhaustion / OOM
  5. Impact
    Client and host OS denial of service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Compression ratio limits
Exploitation Conditions

Requires the attacker to operate a modified Soulseek client and establish a peer-to-peer connection to a Nicotine+ instance older than 3.3.11, then send a zlib-compressed peer message crafted as a decompression bomb. No authentication (PR:N) and no user interaction (UI:N) are needed beyond the victim participating in the Soulseek network with the default vulnerable code path that decompressed peer messages without an uncompressed-size cap. Limiting factor: the attacker must be a reachable/connected peer on the Soulseek network, and the only impact is availability (memory exhaustion / OS DoS) - no data access or code execution.

Impact

This is a genuine but bounded-severity availability issue. The vendor's CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, VA:H, VC:N/VI:N) scores 8.7 (High), but the entire score is driven by availability alone - there is no confidentiality or integrity impact. In CVSS 3.1 terms this maps to roughly 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H): a pure denial-of-service via memory exhaustion. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The high CVSS is somewhat inflated relative to real-world priority: the affected product (Nicotine+, a Soulseek P2P client) has a small, niche user base, the impact is a crash/OOM rather than code execution or data theft, and exploitation requires the attacker to be a connected Soulseek peer. Net: a real, easily-triggered DoS but low-to-medium operational priority given niche deployment and availability-only impact. Note the input Tag 'Information Disclosure' directly contradicts the CVSS vector (VC:N) and CWE-409 - this is a data-amplification DoS, not an information-disclosure bug.

Exploit ScenarioDerived

An attacker runs a modified Soulseek client and establishes a peer connection to a victim running Nicotine+ prior to 3.3.11. The attacker sends a zlib-compressed peer message that is a decompression bomb (a tiny payload expanding to gigabytes); the victim's client decompresses it without bounds, exhausting operating-system memory and crashing the host. No authentication or user interaction is required beyond normal P2P peer connectivity, and no public exploit code is currently identified.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 29, 2026

Memory exhaustion in Nicotine+ versions prior to 3.3.11 allows a remote Soulseek peer running a modified client to crash the victim's machine by sending a zlib-compressed peer message crafted as a decompression bomb. The vulnerable code path decompressed incoming peer messages without any cap on the uncompressed output size, so the client inflates attacker-supplied data until the operating system runs out of available memory. No authentication or user interaction is required beyond the victim being connected to the Soulseek network (CVSS 3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H; vendor-published CVSS 4.0 score 8.7); impact is limited to availability, with no data access or code execution, and no public exploit code or CISA KEV entry was identified at time of analysis. Vendor-released patch: 3.3.11.

RemediationAI

Upgrade to Nicotine+ 3.3.11 or later (released at https://github.com/nicotine-plus/nicotine-plus/releases/tag/3.3.11), which introduces bounded streaming decompression capping inflated peer messages at 128 MiB and 2 GiB depending on the message path; details are in advisory GHSA-8w4c-p7mj-g886 and the fix is in commit 61de347fbaaab02eae1606df4f95d9dc17066d4c (PR 3646). If upgrading immediately is not possible, apply compensating controls that constrain the blast radius of an oversized decompression rather than trying to filter the compressed payload, since compression ratios cannot be reliably judged before inflation: run the client under a hard memory limit (systemd MemoryMax=/MemoryHigh= on Linux, ulimit -v, or a container memory cgroup limit) so the process is killed before the host exhausts RAM - the trade-off is that a malicious peer can still terminate the client, converting an OS-level denial of service into a client crash; avoid connecting to untrusted Soulseek peers or public rooms while unpatched, noting this severely degrades the product's core functionality; and consider restricting or disabling the client's listening/peer-message acceptance port where it is exposed beyond a trusted network, with the caveat that this breaks incoming peer connections and Soulseek transfers. Monitor host memory and OOM-killer events for the Nicotine+ process as a detection signal. No vendor-released patch other than 3.3.11 is identified in the supplied data.

Affected VersionsENISA

nicotine-plus < 3.3.11

Affected Packages

euvd nicotine_plus fix: 3.3.11

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

Nicotine+ is a Python-based graphical client for the Soulseek peer-to-peer file-sharing network, and the flaw lives in pynicotine/slskmessages.py, the module that encodes and parses Soulseek wire-protocol messages. Certain peer messages are transmitted zlib-compressed, and the pre-3.3.11 parser called zlib.decompress() on the raw payload and immediately wrapped the result in a memoryview for parsing. Because Python's zlib.decompress() imposes no output limit, a small compressed blob with a very high compression ratio (a classic decompression bomb, CWE-409: Improper Handling of Highly Compressed Data) expands to an arbitrarily large buffer in one call, driving memory consumption on the recipient host until the OS or client is starved. The commit at 61de347fbaaab02eae1606df4f95d9dc17066d4c replaces this with a streaming zlib.decompressobj() and a bounded decompress(message, max_uncompressed_size) call, checking decompressor.unconsumed_tail to detect and reject payloads that exceed the limit. The caps chosen are 128 MiB (134217728 bytes) for the peer-message and share-related parse paths and 2 GiB (2147483648 bytes) for the other path, which bounds worst-case inflation per message. Note that the supplied metadata tag 'Information Disclosure' does not match the defect: this is a pure denial-of-service/availability issue with no confidentiality or integrity impact, consistent with the CWE and the assessed vector (C:N/I:N/A:H).

Know when Python 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

Vendor (github) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Remotely reachable over the P2P network with no auth or interaction (AV:N/AC:L/PR:N/UI:N); decompression bomb only exhausts memory, so C:N/I:N and A:H.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 7.5 HIGH

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 29, 2026 - 16:02 EUVD
CVE Published
Sep 29, 2026 - 15:17 cve.org
HIGH 8.7

DescriptionCVE.org

Nicotine+ is a graphical client for the Soulseek peer-to-peer network. Prior to version 3.3.11, a modified remote client can send zlib-compressed peer messages containing a decompression bomb, exhausting available memory of the recipient's operating system. This issue has been patched in version 3.3.11.

Technical POC Analysis

Advisory: GHSA-8w4c-p7mj-g886 (High, CVSS 4.0 8.7, CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Desktops running Nicotine+ versions below 3.3.11 can be forced into a full machine crash by any other peer on the Soulseek network, because the client inflates attacker-supplied compressed messages without any limit on output size. The attack is unauthenticated and needs no user interaction beyond being connected, so any employee using an affected build is exposed; impact is confined to availability, with no data exposure or code execution, but repeated crashes interrupt work and risk unsaved data. Moving all installations to 3.3.11 eliminates the exposure.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Low
Niche open-source desktop client for the Soulseek P2P network, small user base
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Medium
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

Vendor StatusVendor

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