Description
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.
Published: 2026-08-11
Score: 4.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A stored SQL injection exists in Koha when a patron's language field is saved. The injection is limited to the use of sqli constructed SLEEP functions, which can be leveraged to cause a time‑based denial of service. Each time an issue slip is printed for the affected patron the stored payload is concatenated into a subquery, scaling linearly with the specified sleep value and the number of slip‑news rows. No data exfiltration is possible due to the 25‑character column length, but the repeated execution can exhaust system resources and disrupt availability for the staff responsible for printing slips.

Affected Systems

The flaw is present in the Koha Community system for releases up to 24.11.17, 25.05.12, 25.11.06, and 26.05.01. Only users with the borrowers permission group and the edit_borrowers privilege are able to input malicious values, and the impact manifests when a staff member prints an issue slip for the patron whose language field contains the payload.

Risk and Exploitability

The CVSS score is 4.3, indicating a moderate risk level. EPSS data is not available and the vulnerability is not listed in the CISA KEV catalog, suggesting it is not actively exploited in the wild. The attack vector is likely local, requiring that an attacker gain authenticated staff access with the relevant permission. Because the payload only produces timing delays, the difficulty of exploitation is low for an insider or compromised account, while the overall threat to confidentiality is none but availability is degraded.

Generated by OpenCVE AI on August 11, 2026 at 16:35 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Koha to a release newer than 26.05.01 that removes the injectable code from issue slip generation.
  • Remove or escape the patron lang field from the subquery used in Koha::AdditionalContents->search_for_display so that any stored value is treated as data rather than code.
  • Revoke or restrict the edit_borrowers permission from staff accounts that do not require direct patron data manipulation to limit the attack surface.
  • If immediate updating is not possible, temporarily disable issue slip printing for the affected patrons until a patch or code change is applied.

Generated by OpenCVE AI on August 11, 2026 at 16:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 11 Aug 2026 18:45:00 +0000

Type Values Removed Values Added
First Time appeared Koha-community
Koha-community koha
Vendors & Products Koha-community
Koha-community koha

Tue, 11 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 11 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Koha Community Koha - Stored SQL Injection via Patron lang Field in Issue Slip Generation
Weaknesses CWE-89
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L'}


Subscriptions

Koha-community Koha
cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-11T12:02:46.877Z

Reserved: 2026-08-10T10:33:03.258Z

Link: CVE-2026-72610

cve-icon Vulnrichment

Updated: 2026-08-11T12:02:43.604Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-08-11T12:17:44.257

Modified: 2026-08-28T18:51:07.660

Link: CVE-2026-72610

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-11T18:30:19Z

Weaknesses
  • CWE-89

    Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')