CVE-2026-71209

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.
Configurations

No configuration.

History

23 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) La comprobación de exención de autenticación de audiobookshelf (servidor/routers/Auth.js) compara rutas GET permitidas sin autenticación con req.path mediante una expresión regular que requiere una forma literal de /items/:id/cover o /authors/:id/image, donde req.path retiene secuencias %2F codificadas en URL. El router de Express decodifica el parámetro de ruta :id antes de que se ejecute el código del gestor, por lo que una secuencia ’.. / ’ codificada en %2F en :id (p. ej., ..%2f..%2f..%2ftmp%2fpwned) pasa la comprobación de exención de autenticación de ruta literal mientras se resuelve en una carga útil de path traversal real una vez decodificada. CacheManager.handleCoverCache luego une este valor decodificado en una ruta de archivo de caché y transmite el resultado antes de cualquier comprobación de propiedad respaldada por la base de datos. Esto elude la corrección aplicada para CVE-2025-25205 (que ancló la expresión regular de exención y la cambió a req.path) y resulta en una lectura de archivo arbitraria no autenticada de cualquier archivo que coincida con el patrón *_[width][x[height]].[ext] que la cuenta de servicio pueda leer.

Information

Published : 2026-08-05 08:16

Updated : 2026-10-24 15:10


NVD link : CVE-2026-71209

Mitre link : CVE-2026-71209

CVE.ORG link : CVE-2026-71209


JSON object : View

Products Affected

No product.

CWE
CWE-22

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')