Files
vuln-cve/data/2026/71xxx/CVE-2026-71209.json
T

160 lines
6.5 KiB
JSON

{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-71209",
"assignerOrgId": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"state": "PUBLISHED",
"assignerShortName": "TuranSec",
"dateReserved": "2026-08-05T06:56:15.799Z",
"datePublished": "2026-08-05T06:59:16.579Z",
"dateUpdated": "2026-08-10T11:45:13.437Z"
},
"containers": {
"cna": {
"title": "audiobookshelf - %2F Encoding Discrepancy Bypasses Cover/Image Auth Exemption Regex, Enabling Unauthenticated Path Traversal",
"descriptions": [
{
"lang": "en",
"value": "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.",
"supportingMedia": [
{
"type": "text/html",
"base64": false,
"value": "<p>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.</p>"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "CWE-22 Path Traversal",
"cweId": "CWE-22",
"type": "CWE"
}
]
}
],
"affected": [
{
"vendor": "advplyr",
"product": "audiobookshelf",
"programFiles": [
"server/routers/Auth.js",
"server/managers/CacheManager.js"
],
"versions": [
{
"version": "2.19.1",
"lessThanOrEqual": "2.35.1",
"versionType": "custom",
"status": "affected"
}
],
"defaultStatus": "unknown"
}
],
"metrics": [
{
"other": {
"type": "CVSS_3.1_severity",
"content": {
"value": "HIGH"
}
}
},
{
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"availabilityImpact": "NONE"
}
}
],
"references": [
{
"url": "https://github.com/advplyr/audiobookshelf/security/advisories/GHSA-pg8v-5jcv-wrvw",
"tags": [
"third-party-advisory"
]
},
{
"url": "https://github.com/advplyr/audiobookshelf",
"tags": [
"third-party-advisory"
]
}
],
"credits": [
{
"lang": "en",
"value": "Sarvar Omonov",
"type": "finder"
}
],
"providerMetadata": {
"orgId": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"shortName": "TuranSec",
"dateUpdated": "2026-08-10T11:45:13.437Z"
},
"source": {
"discovery": "EXTERNAL"
},
"datePublic": "2026-08-05T06:59:16.579Z"
},
"adp": [
{
"references": [
{
"url": "https://github.com/advplyr/audiobookshelf/security/advisories/GHSA-pg8v-5jcv-wrvw",
"tags": [
"exploit"
]
}
],
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"timestamp": "2026-08-05T13:21:06.583401Z",
"id": "CVE-2026-71209",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
}
],
"title": "CISA ADP Vulnrichment",
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2026-08-05T13:21:27.949Z"
}
}
]
}
}