Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid SABnzbd API key
-
DeliverySend mode=status&name=delete_orphan with absolute path value
-
Exploitos.path.join discards download_dir base
-
Executionremove_all invokes shutil.rmtree recursively
-
ImpactDelete config, queue data, and downloads
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 | Requires possession of a valid SABnzbd API key (CVSS PR:H confirms authenticated access); the key is stored in plaintext in sabnzbd.ini. With the key, the attacker calls the orphan-job management API (mode=status with name=delete_orphan, reaching _api_delete_orphan; _api_add_orphan and _api_delete_all_orphan share the same unvalidated os.path.join flaw) and supplies an absolute path in the value parameter so the download_dir base is discarded. No non-default configuration is needed - orphan-job management is standard functionality, and no user interaction is required. Limiting factors: exploitation is capped to files and directories writable by the SABnzbd process user (config, queue DB, downloads), and cannot touch system files owned by other users; the practical barrier is obtaining the API key, which an unauthenticated network attacker does not have by default. |
| Impact | This is a genuine but privilege-gated integrity/availability issue, not a drive-by remote code execution. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:H/VA:H) scoring 7.0 is internally consistent with the description: exploitation is network-reachable and low-complexity, but PR:H reflects that a valid SABnzbd API key is required, so this is an authenticated attack rather than fully anonymous. No EPSS score was provided and the vulnerability is not in CISA KEV, so there is no signal of widespread or active exploitation; the vuln.today decision label is 'this_week' (not act_now/emergency), aligning with a prompt-but-not-crisis remediation posture. The GHSA advisory includes a working-looking PoC curl command, so exploit knowledge is public, though the input does not confirm it as packaged/weaponized exploit code. The real-world risk is bounded by two factors the raw 7.0 does not fully convey: the attacker must first obtain the API key (stored plaintext in sabnzbd.ini, so trivially recoverable only if the host or that file is already accessible), and the impact is confined to files writable by the SABnzbd process user - configuration, queue data, and downloads can be destroyed, but system files outside that user's ownership cannot. Net: a real priority for exposed/multi-user SABnzbd instances where the API key may leak, but materially lower urgency than the network vector alone suggests. |
| Exploit ScenarioDerived | An attacker who has obtained a valid SABnzbd API key (for example from an exposed sabnzbd.ini, a shared or leaked configuration, or an over-permissioned local account) sends a single authenticated API request with an absolute path as the orphan-job value. A public PoC reference exists in the GHSA advisory (a curl invocation of mode=status&name=delete_orphan), and because os.path.join discards the download_dir base for absolute paths, the request triggers recursive deletion of the targeted directory via shutil.rmtree. The low attack complexity means no timing, grooming, or special sequencing is needed once the key is held. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Authenticated path traversal in SABnzbd before 5.1.0Beta3 lets a holder of a valid API key delete files and directories writable by the SABnzbd process, including its configuration, queue database, and downloads. The orphan-job status handlers pass the user-controlled value parameter into os.path.join() with download_dir, so an absolute path overrides the base and reaches recursive deletion through shutil.rmtree(); the advisory also flags _api_add_orphan and _api_delete_all_orphan for the same validation gap. No CISA KEV entry confirms active exploitation, and the vendor advisory includes a public curl-based PoC reference that was not independently verified as working exploit code; the issue is fixed in 5.1.0Beta3.
RemediationAI
Upgrade SABnzbd to 5.1.0Beta3 or later; the vendor-released patch is 5.1.0Beta3, and the fix adds same_directory() confinement so orphan-job delete/add operations only accept paths inside download_dir (commit e3e7fcf361eaebec2d76397b3d27f854f8266410). Apply the release from https://github.com/sabnzbd/sabnzbd/releases/tag/5.1.0Beta3 and review the advisory at https://github.com/sabnzbd/sabnzbd/security/advisories/GHSA-hxwh-mmrg-p8f5. If immediate upgrade is not possible, reduce exposure of the API to trusted networks and protect or rotate the API key, since a valid key is the stated prerequisite; those controls do not remove the path-traversal flaw and will break integrations that rely on remote API access. Running SABnzbd under a dedicated low-privilege account limits the blast radius to directories writable by that account, though it may require permission changes for the download and configuration directories.
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
SABnzbd is an open source Usenet downloader whose web API is exposed through CherryPy's secured_expose(check_api_key=True). In sabnzbd/api.py, _api_delete_orphan receives the value parameter, builds os.path.join(cfg.download_dir.get_path(), value), and calls remove_all(path, recursive=True), which invokes shutil.rmtree() in sabnzbd/filesystem.py. The root cause is CWE-22 path traversal: os.path.join() discards the download_dir base when value is absolute, and '..' sequences also escape the intended directory; the same unvalidated join is present in _api_add_orphan and _api_delete_all_orphan, though the concrete arbitrary-deletion trace is through _api_delete_orphan. The vendor fix imports same_directory() and only proceeds when same_directory(download_dir, path) == 2, confining operations to the download folder; tests cover absolute paths, '..' traversal, and empty values. The advisory states the API key is stored in plaintext in sabnzbd.ini, and the assessed vector's PR:H reflects the requirement for that key; deletion is limited to files and directories writable by the SABnzbd process user.
Know when Sabnzbd 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:H/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
Network API with low complexity, but a valid API key is required so PR:H; deletion harms integrity and availability (I:H/A:H) with no data disclosure (C:N) and no scope change (S:U).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
SABnzbd is an open source automated Usenet download tool. Prior to 5.1.0Beta3, orphan-job management in sabnzbd/api.py accepts the user-controlled value parameter without path confinement before os.path.join() with download_dir. An absolute path discards that base directory. An attacker with a valid API key can invoke mode=status with name=delete_orphan to reach _api_delete_orphan and remove_all() in sabnzbd/filesystem.py, which uses shutil.rmtree() for recursive deletion. The advisory also identifies _api_add_orphan and _api_delete_all_orphan as affected by the path-validation issue, while its concrete arbitrary-deletion trace is through _api_delete_orphan. The API key is stored in plaintext in sabnzbd.ini. The attacker can delete files or directories writable by the SABnzbd process, including configuration, queue data, and downloads, but system files outside the regular user's ownership are not affected. This issue is fixed in version 5.1.0Beta3.
Technical POC Analysis
CWE-22 (Improper Limitation of a Pathname to a Restricted Directory, i.e.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A high-severity vulnerability in SABnzbd (a Usenet download client) allows an authenticated user with a valid API key to delete arbitrary files and directories writable by the SABnzbd process, including its configuration, queue database, and downloads. This could lead to data loss, service disruption, and potential further compromise within the SABnzbd environment. Leadership should care because it affects the integrity and availability of the download service, and exploitation requires a valid API key, which may be held by internal users or external attackers if leaked.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
SABnzbd is an open source automated Usenet download tool. Rated critical severity (CVSS 9.8), this vulnerability is remo
SABnzbd 2.3.9 and 3.0.0Alpha2 has a command injection vulnerability in the web configuration interface that permits an a
SABnzbd is an open source binary newsreader. Rated medium severity (CVSS 5.3), this vulnerability is remotely exploitabl
EUVD-2026-114468
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB