Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconDistribute crafted magnet link to victim
-
DeliveryVictim's Net::BitTorrent client connects to malicious peer
-
ExploitMalicious peer delivers BEP09 ut_metadata with '..' path traversal in file list
-
Install_on_metadata_received passes names to Storage::add_file without validation
-
C2Path::Tiny child() resolves traversal outside download directory
-
ExecuteAttacker serves payload bytes with matching piece hashes
-
ImpactContent verification passes; attacker-controlled file written to arbitrary path
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The victim must be running an application built on Net::BitTorrent 2.0.1 or earlier and must initiate a download that results in a peer connection to the attacker's node - either by opening a crafted magnet link or by the client peering with a malicious node in a shared swarm. The BEP09 ut_metadata extension, which is standard for magnet link operation and not a non-default feature, is the entry point; no special library configuration is needed to reach the vulnerable code path. Once the peer connection is established, exploitation proceeds automatically without further user interaction. The attacker must control at least one BitTorrent peer that the victim's client connects to, and must supply '..' path components in the metadata file list along with matching piece hashes for the chosen payload. Exploitation is bounded by the OS-level filesystem permissions of the process running Net::BitTorrent - the attacker cannot write to paths the process cannot write to - but no elevated privileges within the application are required. |
| Impact | The official NVD CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N, score 5.3) contains a significant metric conflict with the vulnerability description: the vector assigns C:L (Confidentiality: Low) and I:N (Integrity: None), yet the described impact is unambiguously an arbitrary file write - an Integrity violation with no described Confidentiality impact. This inversion appears to be an error in the submitted vector; security teams should not use the official score as the basis for prioritization without verifying against the vendor advisory. An independent assessment placing I:H yields a score in the High range (approximately 7.5), which better reflects the real-world consequence of writing attacker-controlled content to sensitive paths. No EPSS data was provided. The vulnerability is not listed in CISA KEV and no public exploit code was identified. Real-world risk is moderated by the library's niche deployment footprint - Net::BitTorrent is a specialist Perl library, not a widely deployed enterprise component - but the intrinsic primitives available to an attacker (arbitrary content, arbitrary path, silent verification pass) are severe and can chain to code execution if the process has write access to paths such as cron directories, SSH authorized_keys, or shell initialization files. |
| Exploit ScenarioDerived | An attacker deploys a malicious BitTorrent peer and distributes a crafted magnet link via a forum, email, or torrent index site. When a victim's Perl application using Net::BitTorrent opens the magnet link and connects to the attacker's peer, the peer advertises BEP09 ut_metadata containing a files[].path entry such as ['..', '..', '.ssh', 'authorized_keys'] and simultaneously serves piece data - a crafted SSH public key - with matching hashes. Net::BitTorrent resolves the traversal path via Path::Tiny child(), writes the SSH key to ~/.ssh/authorized_keys, passes piece verification, and returns no error, granting the attacker SSH access to the host under the identity of the process owner. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 30, 2026
Arbitrary file write in Net::BitTorrent 2.0.1 and earlier allows a malicious BitTorrent peer to place attacker-controlled content at attacker-chosen filesystem paths outside the designated download directory. The library validates path components on the .torrent ingest path but omits identical validation for peer-supplied metadata received via the BEP09 ut_metadata extension, causing file names containing '..' segments to resolve to traversal targets when passed to Storage::add_file. Because the attacking peer controls both the piece hashes and the served bytes, content verification passes silently, making the write invisible to the application. No public exploit has been identified at time of analysis, and this CVE is not listed in CISA KEV.
RemediationAI
Consult the vendor security advisory at https://github.com/sanko/Net-BitTorrent.pm/security/advisories/GHSA-5wc6-r65f-62rr for the confirmed patched release version, which was not independently specified in the available data; upgrade to that version as the primary remediation. Until a patch is applied, restrict Net::BitTorrent deployments to trusted, controlled peer sets by avoiding public magnet links and disabling connections to unknown peers, which prevents the BEP09 ut_metadata path from receiving attacker-controlled metadata - note this eliminates magnet link functionality. If the library exposes configuration to disable the ut_metadata extension or BEP09 support, disabling it removes the vulnerable code path at the cost of magnet link compatibility. Operators should run the process under a dedicated low-privilege account confined to a chroot, container, or filesystem namespace where write access is restricted to the intended download directory; this does not prevent the traversal attempt but contains the impact to that directory boundary. Do not rely on piece-hash verification as a security control for path integrity, as the attacker controls both the hash values and the served bytes.
Affected VersionsENISA
Affected Packages
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
Net::BitTorrent (CPE: cpe:2.3:a:sanko:net::bittorrent:*:*:*:*:*:*:*:*) is a Perl implementation of the BitTorrent protocol. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory): path component sanitization is applied only during .torrent file ingestion and is entirely absent from the peer metadata code path. The _on_metadata_received handler, reached via the BEP09 ut_metadata extension that underpins magnet link functionality, passes attacker-supplied file names directly to Storage::add_file and Storage::_parse_file_tree. These functions use Path::Tiny's child() method, which does not collapse '..' sequences, allowing traversal out of the configured download root. The flaw affects v2 file tree keys, v1 files[].path array elements, and single-file name fields alike. Since the BitTorrent protocol permits a peer to serve arbitrary piece data alongside advertised hashes, an attacker simultaneously provides the traversal path and the expected hash, causing the client's piece-verification step to succeed and the out-of-bounds write to complete without any error signal.
Know when Net 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:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Network-delivered exploit requires no privileges; arbitrary file write is high Integrity impact; no Confidentiality or Availability impact described.
Primary rating from Vendor (CPANSec).
CVSS VectorVendor: CPANSec
Lifecycle Timeline
2DescriptionCVE.org
Net::BitTorrent versions through 2.0.1 for Perl write files outside the download directory via path traversal in peer-supplied metadata.
Net::BitTorrent validates file path components only on the .torrent-file ingest path. The peer and magnet metadata path (_on_metadata_received, reached from the BEP09 ut_metadata extension) passes attacker-supplied file names straight to Storage::add_file and Storage::_parse_file_tree, where Path::Tiny's child() does not collapse "..". A v2 file tree key, a v1 files[].path element, or a single-file name containing ".." segments therefore resolves outside the download directory.
Because the peer also controls the piece hashes and the served bytes, content verification passes, so a malicious magnet or peer writes attacker-chosen content to an attacker-chosen path on the downloading host.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Remote code execution is possible in Node.js releases that bundle a vulnerable Brotli decoder: a malformed brotli-compre
.NET and Visual Studio Denial of Service Vulnerability. Rated high severity (CVSS 7.5), this vulnerability is remotely e
Heap-based buffer overflow (CWE-122) in Microsoft .NET and Visual Studio allows a network-based unauthenticated attacker
Heap-based buffer overflow in Microsoft Visual Studio 2022 and 2026 enables network-delivered remote code execution when
Privilege escalation in Microsoft .NET runtimes (8.0, 9.0, and 10.0) and Microsoft Visual Studio 2022 and 2026 results f
Heap-based buffer overflow (CWE-122) in Microsoft .NET enables local code execution across all actively supported .NET r
Local code execution via out-of-bounds write in Microsoft .NET allows an unauthenticated local attacker to achieve full
Local privilege escalation in Microsoft .NET (versions 8.0, 9.0, and 10.0) and Microsoft Visual Studio 2022/2026 allows
Denial-of-service in Microsoft .NET runtimes and Visual Studio allows unauthenticated remote attackers to crash or hang
Integer overflow in Microsoft .NET Framework and modern .NET runtimes enables local code execution with full process com
Use-after-free memory corruption in Microsoft's QUIC protocol implementation (MsQuic) exposes sensitive heap memory to u
EUVD-2026-40288
GHSA-5gfq-2rx4-6vwv
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB