Skip to main content

ruTorrent EUVDEUVD-2026-115891

| CVE-2026-121546 MEDIUM
Improper Link Resolution Before File Access (CWE-59)
2026-11-03 VulnCheck GHSA-rh8c-6348-v25w
6.0
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to ruTorrent web UI
  2. Delivery
    Create symlink under own top directory pointing outside jail
  3. Exploit
    Submit crafted datadir path via datadir plugin
  4. Execution
    mkdir/rename follow symlink past topDirectory check
  5. Impact
    Create directories and move data into web-writable location

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
Exploitation Conditions

Requires a valid authenticated ruTorrent account (PR:L) with access to the datadir plugin, plus the ability to create a symbolic link within the attacker's assigned topDirectory that resolves to a path outside it; the attacker then submits a datadir value traversing that link. What LIMITS exploitation: authentication is mandatory (not remote-unauthenticated), the datadir plugin must be in use, the attacker must be able to place a symlink under their top directory (the AT:P attack requirement), and meaningful impact depends on sensitive destinations (e.g. web root) being writable by the web server or rtorrent. Exploitation does not require victim user interaction (UI:N).

Impact

This is a moderate-severity, authenticated integrity flaw rather than a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N) tells a consistent story with the description: exploitation is network-reachable through the ruTorrent web UI but requires an already-authenticated low-privileged account (PR:L) and a specific precondition - the attacker must plant a symlink under their own top directory (AT:P reflects this attack requirement). Impact is skewed to integrity (VI:H) - creating directories and moving torrent data into locations writable by the web server or rtorrent - with no confidentiality loss (VC:N) and only limited availability impact (VA:L). The vuln.today decision label is 'this_month', not act_now/emergency, and no EPSS score, CISA KEV listing, or confirmed exploit code was provided, so there is no signal of active exploitation or mass automated attack. The realistic risk is a post-authentication primitive (arbitrary directory creation / file placement in web-writable paths) that could be chained toward code execution if the web root or other sensitive directories are writable - meaningful for multi-user/seedbox deployments but gated behind valid credentials. EPSS and KEV data are absent (not low - simply not provided), so prioritization rests on the this_month decision label, confirmed vendor patch, and the authenticated-only requirement.

Exploit ScenarioDerived

A low-privileged but authenticated ruTorrent user creates a symbolic link inside their assigned top directory that points to a location outside the jail (e.g. a web-server-writable path), then uses the datadir plugin's 'set data directory' action to submit a datadir path that traverses that symlink. Because correctDirectory() validated the path only as written and the subsequent mkdir/rename/copy operations follow links, the download's files and new directories are created outside the intended jail. No public exploit was identified at time of analysis, and attack requires the attacker to control a symlink under their top directory (AT:P).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

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

Alert me

AnalysisAIv1 – Nov 03, 2026

Path traversal in the datadir plugin of ruTorrent before 5.3.20 lets an authenticated user escape the configured topDirectory jail and have the web server create directories and move torrent data to locations outside it. The root cause is that correctDirectory() compares the submitted datadir as written and does not resolve symbolic links, while the downstream mkdir/rename/copy operations do follow them; an attacker who can place a symlink under their own top directory and then submit a datadir path through it can redirect torrent data to any path writable by the web server or rtorrent, such as the web root. Exploitation requires a valid ruTorrent account with datadir plugin access and the ability to create that symlink; no public exploit code was identified at time of analysis, and the vendor fix is in 5.3.20.

RemediationAI

Upgrade ruTorrent to 5.3.20 or later, which applies the upstream fix commit 2059ff12464b2ce14fd0f53df8d6b19fb6b8a5eb adding the symlink-resolving isInsideTopDirectory() check in both plugins/datadir/action.php and plugins/datadir/setdir.php (advisory: https://www.vulncheck.com/advisories/rutorrent-before-5.3.20-path-traversal-via-datadir-plugin-symlink-following, issue: https://github.com/Novik/ruTorrent/issues/3474). If upgrading immediately is not possible, disable the datadir plugin, which removes the ability to submit a datadir path at all (side effect: users lose per-torrent data-directory changes), and restrict filesystem permissions so that the account running the web server and rtorrent cannot write outside the intended download tree, particularly the web root (side effect: may break legitimate download relocation workflows). Note that filtering or escaping the datadir string alone does not address the flaw, since it depends on link resolution rather than path text.

Affected VersionsENISA

ruTorrent 0 <5.3.20

Affected Packages

euvd rutorrent fix: 5.3.20

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

ruTorrent is a PHP web frontend that drives an rtorrent daemon over SCGI. The datadir plugin (plugins/datadir/action.php, setdir.php) lets a user set the download data directory for a torrent; the guard is rTorrentSettings::get()->correctDirectory() in php/settings.php, which performs a string-prefix comparison of the submitted path against $topDirectory. Because that check never resolves symbolic links, it validates the path as text, not as the filesystem object it denotes. The subsequent rtMkDir() (mkdir) and the rename/copy moves performed by setdir.php operate on the resolved path and therefore follow any symlink inside the top directory that points outward, allowing writes and data moves outside the jail. This is CWE-59 (improper link resolution before file access, link following). The upstream fix adds rTorrent::isInsideTopDirectory(), which resolves links, and calls it in action.php before any work begins and again in setdir.php before mkdir, because setdir.php runs detached and a link could be created between the two steps; the commit also ships a regression test covering a link out of the tree, a link that stays inside, and a dangling link.

Know when Rutorrent 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 (VulnCheck) PRIMARY 6.0 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
vuln.today AI 7.1 HIGH

Web-reachable (AV:N) but requires an authenticated low-priv account (PR:L) and an attacker-planted symlink; integrity high from arbitrary directory creation/file moves, no confidentiality impact, limited availability.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

ruTorrent before 5.3.20 contains a path traversal vulnerability in the datadir plugin that allows authenticated users to escape the topDirectory jail because correctDirectory() does not resolve symbolic links. Attackers can submit a datadir path through a symlink under their top directory to create directories and move torrent data to locations writable by the web server or rtorrent.

Threat Intelligence Overview

Prevalence
Low
niche self-hosted/seedbox torrent web UI, no enterprise footprint
Data Quality
4 sources
Confidence: Medium

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 No
EPSS N/A
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
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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