CVE-2026-111925: Mopidy before 4.0.5 Path Traversal via File Backend library.lookup
Advisory generated from the CVE record, CISA, Exploit Observer and VEDAS: what it is, whether it is exploited, who is affected, and how to fix and detect it.
Generated by VEDAS. Scores as of 2026-11-01 19:19 UTC. Rebuilt every few hours from cve-scores, CISA KEV and vedas-signatures. How this works and its limits.
What it is
Mopidy before 4.0.5 contains a path traversal vulnerability that allows unauthenticated clients to access local files outside file/media_dirs because FileLibraryProvider.lookup() lacks a containment check. Attackers can call core.library.lookup or core.tracklist.add over JSON-RPC or WebSocket with file:// URIs to probe file existence, read tag metadata, and play out-of-sandbox files.
Description quoted from the CVE record (assigned by VulnCheck, published 2026-10-19).
Weakness: Improper Limitation of a Pathname to a Restricted Directory (‘Path Traversal’)
How it can be exploited
Exploitable over the network with low attack complexity with no special attack requirements needing no privileges and no user interaction. Impact: confidentiality low, integrity none, availability none. CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
CISA assessment (SSVC): CISA assesses that a public proof of concept exists. Automatable: yes. Technical impact: partial.
Public exploit evidence (Exploit Observer)
Also known as: EUVD-2026-104317, GHSA-p8f3-3m4r-p796
VEDAS cluster: VEDAS:DOGWOODSTARK
Exploit Observer links 3 pieces of public exploit code or detection modules that name this CVE or one of its aliases.
Exploit code and modules (3)
Code that names this CVE. A repository can be a working exploit, a scanner, a fake or malware; read it before running anything.
- Code repository: https://raw.githubusercontent.com/ARPSyndicate/vedas-signatures/main/suricata/2026/CVE-2026-111925.rules
- Code repository: https://raw.githubusercontent.com/ARPSyndicate/vedas-signatures/main/suricata/2026/CVE-2026-111925.rules
- Code repository: https://raw.githubusercontent.com/ARPSyndicate/vedas-signatures/main/suricata/2026/CVE-2026-111925.rules
Vulnerability databases and vendor advisories (5)
Catalogue entries, not exploit evidence.
- Vulnerability database or vendor advisory: https://euvd.enisa.europa.eu/enisa/EUVD-2026-104317
- Vulnerability database or vendor advisory: https://github.com/advisories/GHSA-p8f3-3m4r-p796
- Vulnerability database or vendor advisory: https://nvd.nist.gov/vuln/detail/CVE-2026-111925
- Vulnerability database or vendor advisory: https://osv.dev/vulnerability/UBUNTU-CVE-2026-111925
- Vulnerability database or vendor advisory: https://ubuntu.com/security/CVE-2026-111925
2 more references returned by Exploit Observer did not name this CVE or an alias, so they are left out.
VEDAS data as of 2026-11-01T17:12 UTC; fetched 2026-11-02.
Live scores
- EPSS
- 0.004
low predicted chance of attack - VEDAS
- 0.985
strong exploit evidence - On CISA KEV
- Not listed
- Detection rule
- Suricata
Who is affected
| Product | Affected | Not affected |
|---|---|---|
| Mopidy Mopidy | before 4.0.5 | Not stated |
Version ranges exactly as the CVE record states them. “Before X” means X is the first fixed version.
How to fix it
Fixed versions stated in the CVE record: 4.0.5.
Vendor guidance:
- https://github.com/mopidy/mopidy/commit/f23c1f8621c3f4eb07a35d37fccb597449d36415 (patch)
- Mopidy v4.0.5 Release Notes (release-notes)
How to detect it
Suricata rules (network detection)
1 rule that alert on traffic matching this exploit: VEDAS CVE-2026-111925 Mopidy - Unauthenticated JSON-RPC file:// Sandbox Escape via core.library.lookup. Add them to your Suricata rule set and reload.
Show the rules
alert http $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"VEDAS CVE-2026-111925 Mopidy - Unauthenticated JSON-RPC file:// Sandbox Escape via core.library.lookup"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/mopidy/rpc"; http.request_body; content:"core.library.lookup"; fast_pattern; content:"file://"; classtype:web-application-attack; reference:cve,CVE-2026-111925; reference:url,https://www.exploit.observer/?keyword=CVE-2026-111925&match=exact; reference:url,https://subdomain.center/?engine=ammonites&keyword=mopidy&match=exact; sid:1083800; rev:1;)
CVE-2026-111925.rules on GitHub
References
Vendor advisories and patches
- https://github.com/mopidy/mopidy/commit/f23c1f8621c3f4eb07a35d37fccb597449d36415 (patch)
- Mopidy v4.0.5 Release Notes (release-notes)
Exploits and technical analysis
- https://github.com/mopidy/mopidy/issues/2350 (issue-tracking)
- https://github.com/mopidy/mopidy/blob/v4.0.4/src/mopidy/_exts/file/library.py (technical-description)
- VulnCheck Advisory: Mopidy before 4.0.5 Path Traversal via File Backend library.lookup (third-party-advisory)
Other databases
Where this comes from
This advisory is generated automatically by VEDAS from: CVE.org record, cve-scores (EPSS and VEDAS), Exploit Observer, vedas-signatures. Text in quotes is reproduced from the source; everything else is a fixed template filled with source fields. Nothing here is written by a language model. Check the vendor advisory before acting, and read how VEDAS and Exploit Observer work, and their limits.