Severity by source
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
PR:L reflects required edit_items permission; UI:R for passive victim page view; S:C because script executes in victim's browser trust boundary; no availability impact.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
3DescriptionCVE.org
A stored cross-site scripting (XSS) vulnerability in the OPAC item detail page of Koha Library Management System through 25.11 allows an authenticated remote attacker with edit_items permission to inject arbitrary web scripts via the item public notes field (items.itemnotes).
AnalysisAI
Stored cross-site scripting in Koha Library Management System's OPAC item detail page enables persistent script injection via the item public notes field (items.itemnotes), affecting all versions through 25.11. An authenticated attacker holding the edit_items permission can plant malicious JavaScript that executes in the browsers of any patron or staff member who subsequently views the affected item's detail page in the OPAC. No public exploit has been identified at time of analysis, and EPSS places exploitation probability at 0.21% (12th percentile), suggesting limited threat actor interest currently.
Technical ContextAI
Koha is an open-source Integrated Library System (ILS) whose OPAC (Online Public Access Catalog) is the public-facing web interface for library patrons to search and browse holdings. The items.itemnotes field stores free-text public notes attached to individual item records and is rendered in the OPAC item detail page. CWE-79 (Improper Neutralization of Input During Web Page Generation) indicates that user-supplied content in this field is not adequately sanitized or escaped before being output in an HTML context. The CVSS vector's S:C (Scope Changed) reflects that the injected script executes in the security context of the victim's browser - a different trust boundary than the Koha application server. CPE data in the source is listed as n/a:n/a, meaning NVD has not yet published a formally matched CPE string for the affected Koha versions; version scope is derived from the description (through 25.11).
RemediationAI
No vendor-released patch with an exact fix version has been identified at time of analysis; the referenced vendor URL (http://koha.com) should be monitored for an official security advisory and patch release. As a compensating control, administrators should audit and restrict the edit_items permission to the minimum necessary staff accounts - removing this permission from untrusted or broadly-assigned roles eliminates the attack surface entirely, though it also restricts legitimate item editing workflows. Additionally, a Content Security Policy (CSP) header configured to disallow inline scripts on OPAC pages would prevent injected scripts from executing even if the input is not yet sanitized, though implementing CSP in Koha may require template customization. Input sanitization or output encoding of the items.itemnotes field at the template layer is the definitive fix and should be requested from the Koha development team via the project's bug tracker. See https://lgnas.gitbook.io/findings/cve-2026-50766 for researcher disclosure details.
LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr
Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han
A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi
Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc
Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula
Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root
LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(
Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti
Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr
SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg
Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ
Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39941
GHSA-vpm8-cwf9-2c7w