CVE-2026-71209 json
audiobookshelf - %2F Encoding Discrepancy Bypasses Cover/Image Auth Exemption Regex, Enabling Unauthenticated Path Traversal
published 2026-08-05 3 mo ago modified 2026-10-24 15 d ago also EUVD-2026-53206
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.2%
- EPSS 2.2% chance of exploitation in 30 days, percentile 83%
- public exploits
- 0
- none known, plus a Nuclei check
Summary
audiobookshelf's authentication-exemption check (server/routers/Auth.js) matches unauthenticated-allowed GET routes against req.path via a regex requiring a literal /items/:id/cover or /authors/:id/image shape, where req.path retains %2F sequences URL-encoded. CacheManager.handleCoverCache then joins this decoded value into a cache file path and streams the result before any database-backed ownership check.
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 3 mo ago
Exploit prediction
2.25% chance of exploitation in the next 30 days, higher than 83% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- Nuclei template Audiobookshelf - Authentication Bypass nuclei detection template
- github.com https://github.com/advplyr/audiobookshelf/security/advisories/GHSA-pg8v-5jcv-wrvw referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected products
- advplyr audiobookshelf
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
github.com
/advplyr/audiobookshelf/security/advisories/GHSA-pg8v-5jcv-wrvw
third-party-advisory, exploit
-
github.com
/advplyr/audiobookshelf
third-party-advisory
Sources
- CVE List CVE-2026-71209
- NVD CVE-2026-71209
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.