Audiobookshelf 是一款广泛使用的开源自托管媒体服务器,用于管理有声书和播客内容。2026年8月5日,该软件被披露存在一个高危权限绕过漏洞(CVE-2026-71209)。攻击者无需任何身份凭证,即可利用该漏洞读取服务器上服务进程可访问的任意文件,包括配置文件、数据库凭据、系统敏感信息等。该漏洞系针对此前 CVE-2025-25205 修复方案的不完整绕过,目前已发现公开的概念验证利用代码。
漏洞编号:CVE-2026-71209
影响产品:Audiobookshelf(自托管有声书与播客服务端)
影响版本:2.19.1 至 2.35.1
漏洞类型:认证绕过与路径遍历组合漏洞
CVSS评分:7.5(高危)
该漏洞的根源在于认证豁免检查与路由参数解码之间存在不一致处理逻辑。
Audiobookshelf 对 /items/:id/cover 和 /authors/:id/image 两个路由设置了白名单规则,允许其绕过身份验证直接访问。系统通过正则表达式 ^/authors/[^/]+/image$ 等对原始请求路径(req.path)进行匹配,以决定是否启用认证豁免。然而,Express 框架在处理路由参数(如 :id)时会自动对百分号编码(URL编码)进行解码,而认证检查却作用于原始路径字符串,该字符串保留 %2F 等编码字符。
攻击者可构造包含 %2F 编码的路径遍历序列(例如 ..%2f..%2f..%2fetc%2fpasswd)作为 :id 参数值:
在认证检查阶段,正则表达式将 ..%2f..%2f..%2fetc%2fpasswd 视为普通文件名(因为 %2F 不匹配正斜杠 /),从而成功通过白名单校验,绕过登录限制;
在路由处理阶段,Express 将参数解码为 ../../../etc/passwd,成为有效的路径遍历载荷;
随后 CacheManager.handleCoverCache 函数在构造缓存文件路径时,未对该参数进行有效过滤,直接将解码后的路径拼接入文件系统路径,并将目标文件内容返回给攻击者。
整个过程不涉及任何数据库所有权或用户身份验证,攻击者仅需一个 HTTP GET 请求即可完成利用。
以下请求可验证目标是否存在该漏洞(以 /api/collections 接口作为跳板绕过路由限制)。

1、在反向代理(如Nginx)或WAF层直接拦截包含 %2F 或 .. 的请求,重点针对 /items/*/cover 和 /authors/*/image 路径。
2、将Audiobookshelf服务限制在内网或VPN环境中,避免直接暴露于公网,减少攻击面。
3、持续关注官方GitHub仓库更新,待修复版本发布后第一时间升级,并同步收紧服务账户的文件系统权限。