Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Requires authenticated staff with edit_borrowers (PR:L); impact is availability-only via time delay; no scope change, confidentiality, or integrity effect.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
Lifecycle Timeline
2DescriptionCVE.org
A stored SQL injection vulnerability in Koha through 24.11.17, 25.05.12, 25.11.06, and 26.05.01 allows authenticated staff with the borrowers => edit_borrowers permission to cause a time-based denial of service by storing a SQL payload in a patron lang field. The value is concatenated raw into a subquery in Koha::AdditionalContents->search_for_display when an issue slip is printed for the affected patron. The 25-character column length limits exploitation to timing attacks; data extraction is not practical. The stored payload executes on each subsequent issue-slip print, scaling linearly with the SLEEP value and the number of slip-news rows.
AnalysisAI
Stored SQL injection in Koha across all active release branches (24.11, 25.05, 25.11, 26.05) allows authenticated library staff holding the edit_borrowers permission to plant a compact time-based SLEEP payload in a patron's lang field, causing recurring denial-of-service each time an issue slip is printed for that patron. The 25-character column constraint prevents practical data extraction, confining real-world impact strictly to workflow disruption in the circulation slip-printing path. No public exploit code or active exploitation has been identified at time of analysis; the attack requires valid staff credentials scoped to a specific Koha permission.
Technical ContextAI
Koha (CPE: cpe:2.3:a:koha_community:koha) is an open-source Integrated Library System written primarily in Perl, widely deployed by public, academic, and school libraries worldwide. The root cause is CWE-89 (Improper Neutralization of Special Elements used in an SQL Command): the patron lang field value is concatenated directly and without parameterization into a subquery inside the Perl method Koha::AdditionalContents->search_for_display, which executes during issue-slip generation. Because the underlying database column is defined as VARCHAR(25), only short injectable expressions such as compact SLEEP() or BENCHMARK() calls fit within the constraint, rendering UNION-based data extraction and boolean-based enumeration infeasible. The stored nature of the injection means the payload persists in the database record and fires on every subsequent issue-slip print event for the affected patron, with cumulative delay scaling linearly with the SLEEP argument multiplied by the number of configured slip-news rows.
RemediationAI
Upgrade Koha to the first patched release on the affected branch as documented in Koha Community Bug 42866 at https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42866; exact fixed version numbers were not independently confirmed from the available input data and must be obtained from the official Koha release notes at https://koha-community.org/ for each supported branch (24.11, 25.05, 25.11, 26.05). As an immediate compensating control, database administrators can audit the patron lang column for SQL metacharacters - specifically semicolons and the keywords SLEEP and BENCHMARK - and sanitize any affected records. Restricting the borrowers => edit_borrowers permission to the smallest necessary set of trusted staff accounts eliminates the attacker surface; this trade-off is low-impact in most libraries where patron editing is already a limited role. Temporarily suspending issue-slip printing removes the trigger mechanism entirely but disrupts normal circulation workflows and should be treated as a break-glass measure only.
Cross Site Scripting vulnerability in Koha ILS 23.05 and before allows a remote attacker to execute arbitrary code via t
KOHA Library System version 16.11.x (up until 16.11.13) and 17.05.x (up until 17.05.05) contains a Cross Site Request Fo
CSV Injection vulnerability in '/members/moremember.pl' and '/admin/aqbudgets.pl' endpoints in Koha Library Management S
An issue in Koha ILS 23.05 and before allows a remote attacker to execute arbitrary code via a crafted script to the for
KOHA Library System version 16.11.x (up until 16.11.13) and 17.05.x (up until 17.05.05) contains a Cross Site Scripting
Koha versions 25.11 and earlier contain a stored cross-site scripting vulnerability in the News function that allows aut
A vulnerability was found in KOHA up to 23.05.03. Rated medium severity (CVSS 5.4), this vulnerability is remotely explo
SQL injection in Koha's guided report builder (`reports/guided_reports.pl`) allows any authenticated staff member holdin
Cross-site scripting (XSS) vulnerability in opac-addbybiblionumber.pl in Koha 3.14.x before 3.14.16, 3.16.x before 3.16.
Authenticated remote code execution in Koha lets anyone who can reach the affected web service on TCP port 8081 feed a c
SQL injection in the Koha library management system's staff interface allows authenticated users to manipulate the displ
Multiple cross-site scripting (XSS) vulnerabilities in the Staff client in Koha before 3.16.6 and 3.18.x before 3.18.2 a
Same weakness CWE-89 – SQL Injection
View allSame technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-56131
GHSA-jjgf-vgv7-fgjv