Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure victim to malicious web page
-
DeliveryCross-origin request reads leaked X-Transmission-Session-Id from 409
-
ExploitReplay token to RPC server
-
ExecutionSet download-dir and script-torrent-done
-
ImpactExecute arbitrary command on host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A02:2025 - Security Misconfiguration
ASVS 5.0
V13 - Configuration CORS policy restriction
|
| Exploitation Conditions | Requires the Transmission RPC/web server (default port 9091) to be reachable from the victim's browser, and the victim must actively visit an attacker-controlled web page (CVSS UI:P) while Transmission is running. The core token-leak works against any affected 4.0.0-4.1.2 instance because the server unconditionally sent 'Access-Control-Allow-Origin: *' and exposed X-Transmission-Session-Id. LIMITING factors: the leaked token only defeats the anti-CSRF check, so an RPC password ('rpc_authentication_required' + 'rpc_password') or an enabled IP whitelist ('rpc_whitelist_enabled') blocks the replay - the patch adds an explicit warning precisely for the no-password, whitelist-disabled configuration. Escalation to code execution additionally requires that the attacker can set download-dir and script-torrent-done, i.e. the 'done' script feature is usable; without it, impact is limited to settings tampering and torrent/data deletion. |
| Impact | This is a credible, verifiable CORS-misconfiguration flaw (CWE-942) with multiple corroborating signals. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P) describes a network-reachable, low-complexity attack that still requires passive user interaction - the victim must visit an attacker-controlled web page. The vendor-supplied vector claims high confidentiality, integrity and availability impact (VC:H/VI:H/VA:H), consistent with the described outcomes: token theft, download-dir modification, script-torrent-done execution (code execution), and torrent/data deletion. Exploitation signals diverge in a way worth noting: EPSS is low-to-moderate at 0.53% (44th percentile), the vulnerability is NOT in CISA KEV, and the priority Decision label is 'this_week' rather than act_now/emergency. The source-code diff confirms the mechanism - handle_request() sent 'Access-Control-Allow-Origin: *' plus 'Access-Control-Expose-Headers: X-Transmission-Session-Id', letting any origin read the anti-CSRF token from the 409 handshake - so the root cause is confirmed, not inferred. One important caveat: PR:N and the full RCE chain assume the RPC server is reachable by the browser and, critically, that no RPC password is set, since the exposed token only defeats the anti-CSRF control, not password authentication; the patch itself adds a warning for the 'no password + whitelist disabled' configuration, implying the worst-case impact is config-dependent. Net: a real priority to patch this week, but not an in-the-wild emergency on current evidence. |
| Exploit ScenarioDerived | A user running Transmission with its web RPC interface reachable (commonly bound to localhost:9091) visits a malicious or compromised web page. Because the server returned 'Access-Control-Allow-Origin: *' and exposed the session-ID header, the page's JavaScript reads the X-Transmission-Session-Id token from the 409 handshake response, then replays it to issue authenticated-looking RPC calls - changing download-dir and script-torrent-done to achieve drive-by code execution, or deleting torrents and data. A public PoC reference exists (joshua.hu writeup); it is not verified as working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
A permissive CORS misconfiguration in Transmission 4.0.0 through 4.1.2 exposes the RPC anti-CSRF token (X-Transmission-Session-Id) to any web origin, so a malicious page can read the token from the 409 handshake response and replay it to drive the RPC interface as the user. Successful replay allows settings tampering, download-directory changes and torrent or data deletion, and escalates to code execution where the script-torrent-done feature is usable, but only defeats the anti-CSRF check - an RPC password or an enabled IP whitelist blocks the replay. Exploitation requires the RPC web server (default port 9091) to be reachable from the victim's browser and the victim to visit the attacker's page; no KEV entry exists, EPSS is low at 0.53% (44th percentile), and a public researcher write-up with a PoC reference exists but is not verified here as working exploit code.
RemediationAI
Vendor-released patch: upgrade to Transmission 4.1.3 (release tag https://github.com/transmission/transmission/releases/tag/4.1.3), which is the fix delivered by PR 8938 / commit c6a1bd2017a0fea9c956737c213f23e4b0f7929e and removes the wildcard Access-Control-Allow-Origin, the reflected Access-Control-Allow-Headers/Methods and the Access-Control-Expose-Headers that leak X-Transmission-Session-Id. If upgrading cannot be done immediately, the leak only buys the attacker the anti-CSRF token, so set 'rpc_authentication_required' with a strong 'rpc_password' and/or enable 'rpc_whitelist_enabled' with a tight allowlist - both block replay of the stolen token, and the patched build logs a warning exactly when neither is configured. As a secondary containment, restrict who can reach the RPC endpoint on default port 9091 so a victim's browser cannot reach it (bind to loopback or firewall it to trusted clients), at the cost of losing remote/Web UI access. Full RPC capability, including script-torrent-done execution, remains exposed until the upgrade is applied, so the vendor fix is the complete remediation.
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
libtransmission implements its JSON-RPC/web interface in libtransmission/rpc-server.cc, where handle_request() is the libevent evhttp callback for every inbound request. Before the fix, the server unconditionally added 'Access-Control-Allow-Origin: *' plus reflected Access-Control-Request-Headers and Access-Control-Allow-Methods to its responses, and also emitted 'Access-Control-Expose-Headers: X-Transmission-Session-Id, X-Transmission-Rpc-Version'. That combination is a textbook CWE-942 permissive cross-domain whitelist: because the origin was wildcarded and the session-id header was explicitly exposed, browser script on any site could read the 409 handshake response, harvest the session id, and resend it in the required X-Transmission-Session-Id header - the token only ever functioned as a CSRF defense, so leaking it neutralizes the protection entirely. The upstream patch (PR 8938, commit c6a1bd2) deletes all CORS response headers and adds a startup warning when the RPC server has no password and its IP whitelist is disabled, which is precisely the configuration in which the leaked token grants full control. The trigger path is fully described by the referenced diff and advisory write-up.
Know when Transmission 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network drive-by requiring victim to visit a page (UI:R); no auth needed to read the exposed token (PR:N); replay enables code execution and data deletion, giving full C/I/A impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Transmission 4.0.0 before 4.1.3 contains a permissive CORS vulnerability in handle_request() in rpc-server.cc that exposes the X-Transmission-Session-Id anti-CSRF token to any web origin. Malicious web pages can read the token from the 409 handshake response and replay it to issue RPC calls, enabling script-torrent-done execution, download-dir changes, or torrent and data deletion.
Executive ViewAI
Transmission versions 4.0.0 through 4.1.2 contain a permissive CORS misconfiguration that can expose the RPC anti-CSRF token to any website a user visits, potentially allowing an attacker to take control of the Transmission client and modify settings, delete data, or execute code. This affects organizations using Transmission in their operations or by employees, and could lead to data loss or unauthorized system changes. Leadership should prioritize patching because exploitation requires only a malicious webpage and the default RPC port being reachable from the user's browser.
Apply vendor patch.
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
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
More in Transmission
View allTransmission through 2.92 relies on X-Transmission-Session-Id (which is not a forbidden header for Fetch) for access con
Integer overflow in the tr_bitfieldEnsureNthBitAlloced function in bitfield.c in Transmission before 2.84 allows remote
Stack-based buffer overflow in utp.cpp in libutp, as used in Transmission before 2.74 and possibly other products, allow
Multiple cross-site scripting (XSS) vulnerabilities in the web client in Transmission before 2.61 allow remote attackers
EUVD-2026-110496
GHSA-jw4h-7968-5hj9
NVD
CVE.org
EPSS
Exploit-DB