libnbd
CVE-2025-14946
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious NBD URI with '-o' hostname
-
DeliveryVictim opens URI in libnbd
-
Exploitssh misparses hostname as option
-
ExecutionInject ProxyCommand/ssh option
-
ImpactExecute arbitrary code as libnbd user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Argument sanitization
|
| Exploitation Conditions | Exploitation requires an application or user to pass an attacker-controlled NBD URI to libnbd for opening - specifically a URI whose hostname begins with '-o' so that ssh interprets it as a command-line option instead of a host, which only matters for the SSH transport (nbd+ssh:// style connections). Limiting factors: the base vector is local (AV:L) with required user interaction (UI:R), meaning a victim with a libnbd-using process must be convinced to open the crafted URI; code execution runs only with the privileges of the (possibly unprivileged) user running libnbd, and the fix ships in libnbd 1.24.1. Practical reach increases only where an application automatically opens untrusted URIs received over the network. |
| Impact | This is a genuine argument-injection flaw (CWE-88) in libnbd that the vendor rates only 4.8 (Medium), and the aggregate signals support treating it as low-to-medium operational priority rather than an emergency. The provided CVSS vector CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:L already encodes strong limiting factors: local attack vector, required user interaction, and low privileges, with impacts scored only Low across CIA. EPSS is very low at 0.14% (3rd percentile), there is no CISA KEV listing, and no public proof-of-concept is referenced - so exploitation status is 'no public exploit identified at time of analysis.' The one point of internal tension is impact: the description states the flaw 'could lead to arbitrary code execution with the privileges of the user running libnbd,' which is normally full compromise of that user's context (C:H/I:H/A:H), yet Red Hat scored it C:L/I:L/A:L - a conservative rating that arguably understates technical impact; verify impact scoping with the vendor. A second ambiguity is the attack vector: the flaw triggers when libnbd is 'convinced' to open a crafted URI, and if an application feeds attacker-controlled NBD URIs received over the network, the practical reachability edges toward AV:N even though the base vector says AV:L. Net: real, patchable code-quality bug in a niche virtualization library, low probability of widespread exploitation, worth patching on a normal cycle. |
| Exploit ScenarioDerived | An attacker supplies a malicious NBD URI whose hostname begins with '-o' (for example via an nbd+ssh:// connection string) to an application or user that passes untrusted URIs to libnbd. When libnbd builds the SSH command line, the '-o...' hostname is parsed by ssh as an option rather than a host, letting the attacker inject ssh options (e.g., ProxyCommand) that execute arbitrary commands with the privileges of the user running libnbd. No public exploit code is referenced, and the CVSS vector requires local invocation plus user interaction (UI:R), so delivery depends on convincing a victim to open the crafted URI. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Argument injection in libnbd's SSH transport allows an attacker who persuades a libnbd-using application or user to open a crafted NBD URI to run arbitrary commands with the privileges of the user running libnbd. The flaw affects libnbd builds that support nbd+ssh:// style connections and triggers when the hostname component of the URI begins with '-o', so the spawned ssh process interprets it as a command-line option instead of a host. There is no public exploit identified at time of analysis and no CISA KEV listing; exploitation remains gated by user interaction (a victim process must be induced to open the crafted URI), EPSS is low at 0.14% (3rd percentile), and Red Hat scores it 4.8 while our independent assessment applies a higher-impact vector (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) given the full confidentiality, integrity and availability impact of command execution.
RemediationAI
Apply the vendor-released patch by upgrading to libnbd 1.24.1 or later; the upgrade is documented in the upstream release notes at https://libguestfs.org/libnbd-release-notes-1.24.1.html#Security, and Red Hat's advisory at https://access.redhat.com/security/cve/CVE-2025-14946 should be consulted for distribution-specific package versions. If upgrade must be deferred, the most effective compensating control is to prevent untrusted URI input from reaching the SSH transport: do not pass user- or network-supplied NBD URIs into libnbd-consuming tools, and where that is unavoidable, validate the host component and reject any value beginning with '-' (the trade-off is that legitimately dash-prefixed hostnames, which are essentially invalid, must be blocked, and validation must live in every caller because libnbd itself is unfixed). Replacing nbd+ssh:// connections with the Unix-socket or plain TCP transport removes the ssh argv path entirely, at the cost of losing SSH's transport encryption and host authentication, so this should only be done on trusted local networks or fronted with an alternative encrypted channel. Restricting which processes may spawn ssh (for example via allow-listing the calling service) and disabling automatic opening of remote URI links in GUI or web front-ends to libnbd consumers reduces the user-interaction vector, though none of these workarounds match the completeness of the 1.24.1 upgrade.
Affected ProductsAI
libnbd before 1.24.1 is affected, per the upstream release notes at https://libguestfs.org/libnbd-release-notes-1.24.1.html#Security, which list the fix under the 1.24.1 security section; the Red Hat tracking entries are https://access.redhat.com/security/cve/CVE-2025-14946 and https://bugzilla.redhat.com/show_bug.cgi?id=2423789. No CPE strings were supplied in the source data, so product matching must be done on package name plus version (libnbd < 1.24.1) rather than through CPE enumeration. Any downstream consumer that embeds libnbd and opens attacker-influenced URIs is exposed in practice, including libguestfs/virt-v2v workflows, nbd-oriented command line tools, and any custom application that accepts a user- or network-supplied NBD URI and has SSH transport compiled in; systems that never use the nbd+ssh:// transport, or that never open URIs from untrusted sources, are not practically reachable.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
libnbd is the Network Block Device (NBD) client library used by libguestfs, virt-v2v, various virt tooling and qemu-related CLI utilities; its URI grammar (e.g. nbd+ssh://user@host/export) selects a transport and, for SSH, the library shells out to the ssh binary. The root cause is CWE-88, improper neutralization of argument delimiters: the hostname parsed out of the URI is passed into the ssh argv without a '--' end-of-options separator and without validating that it cannot be mistaken for a flag. Because ssh accepts '-o' with an arbitrary option string, a host such as '-oProxyCommand=<payload>' causes ssh to load an attacker-supplied configuration directive, and ProxyCommand/known-hosts-style directives execute shell commands through /bin/sh before any connection is attempted. The issue is therefore limited to the SSH transport path; TCP, Unix-socket and TLS transports parse URIs differently and are not affected by this specific injection. Vendor and independent CVSS vectors differ mainly on privileges required (PR:L vs PR:N) and impact (C:L/I:L/A:L vs C:H/I:H/A:H), but both agree that local vector (AV:L) and required user interaction (UI:R) constrain reachability.
Know when Libnbd 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
AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:L
Attacker needs no privileges to craft the URI (PR:N) but a local libnbd user must open it (AV:L/UI:R); arbitrary code execution in that user's context justifies C:H/I:H/A:H, higher than the vendor's L/L/L.
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
A flaw was found in libnbd. A malicious actor could exploit this by convincing libnbd to open a specially crafted Uniform Resource Identifier (URI). This vulnerability arises because non-standard hostnames starting with '-o' are incorrectly interpreted as arguments to the Secure Shell (SSH) process, rather than as hostnames. This could lead to arbitrary code execution with the privileges of the user running libnbd.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
A flaw was found in libnbd. Rated medium severity (CVSS 6.5), this vulnerability is no authentication required, low atta
Structured reply is a feature of the newstyle NBD protocol allowing the server to send a reply in chunks. Rated critical
A flaw was found in the copying tool `nbdcopy` of libnbd. Rated medium severity (CVSS 4.8), this vulnerability is remote
A flaw was found in libnbd, due to a malicious Network Block Device (NBD), a protocol for accessing Block Devices such a
A flaw was found in libnbd 1.7.3. Rated low severity (CVSS 2.7), this vulnerability is remotely exploitable, low attack
Vendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Fixed |
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Micro 5.3 | Not-Affected |
| SUSE Linux Enterprise Micro 5.4 | Not-Affected |
| SUSE Linux Enterprise Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Module for Containers 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Micro 6.0 | Not-Affected |
| SUSE Linux Micro 6.1 | Not-Affected |
| SUSE Linux Micro 6.2 | Not-Affected |
| openSUSE Leap 16.0 | Not-Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Module for Containers 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Containers 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Containers 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Not-Affected |
| SUSE Enterprise Storage 7 | Not-Affected |
| SUSE Enterprise Storage 7.1 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Not-Affected |
| SUSE Linux Enterprise Module for Containers 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Module for Containers 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Not-Affected |
| SUSE Manager Proxy 4.1 | Not-Affected |
| SUSE Manager Proxy 4.2 | Not-Affected |
| SUSE Manager Proxy 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server 4.1 | Not-Affected |
| SUSE Manager Retail Branch Server 4.2 | Not-Affected |
| SUSE Manager Retail Branch Server 4.3 | Not-Affected |
| SUSE Manager Server 4.1 | Not-Affected |
| SUSE Manager Server 4.2 | Not-Affected |
| SUSE Manager Server 4.3 | Not-Affected |
| openSUSE Leap 15.3 | Not-Affected |
| openSUSE Leap 15.4 | Not-Affected |
| openSUSE Leap 15.5 | Not-Affected |
| openSUSE Leap 15.6 | Not-Affected |
| openSUSE Leap 15.6 | Not-Affected |
| openSUSE Leap Micro 5.3 | Not-Affected |
| openSUSE Leap Micro 5.4 | Not-Affected |
| openSUSE Leap Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Server 16.2 | Affected |
| suse/sles/16.0/cdi-uploadserver:1.64 suse/sles/16.0/cdi-uploadserver:1.65 suse/sles/16.0/cdi-uploadserver:1.66 | Affected |
| suse/sles/15.6/cdi-uploadserver:1.58.0 suse/sles/15.7/cdi-uploadserver:1.58.0 | Not-Affected |
NVD
CVE.org
EPSS
GitHub PoC
Exploit-DB