# CVE-2026-72610: Koha stored SQL injection in patron language field

Source: https://junglewise.ai/threats/cve-2026-72610-koha-stored-sql-injection-in-patron-language-field  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-08-11. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-72610 · Severity: medium · CVSS 4.3 · Published 2026-08-11

Koha is an open-source library management system used by libraries to manage patron accounts, circulation, and library operations. A vulnerability allows staff members with patron-editing permissions to inject malicious SQL code into a patron's language field, which executes when issue slips (receipts) are printed. While the column length limits practical exploitation to denial-of-service attacks via database delays, repeated slip printing can measurably slow library operations.

## Quick answers

**Is CVE-2026-72610 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-72610 being exploited in the wild.

**How severe is CVE-2026-72610?** Medium severity, with a CVSS score of 4.3, published 11 August 2026.

**Which products and versions are affected?** Koha Koha through 24.11.17, 25.05.12, 25.11.06, and 26.05.01.

**Is there a fix for CVE-2026-72610?** A patch was published on 2026-09-03: Fixed in Koha 26.11.00, 26.05.02, 25.11.07, 25.05.13, 24.11.18 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-72610 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-72610?** Check whether anything you run is named in the advisory. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

A stored SQL injection vulnerability exists in Koha::AdditionalContents::search_for_display (AdditionalContents.pm lines 96–106), where the patron's lang field is concatenated directly into a SQL subquery without parameterization or escaping. An authenticated staff member with borrowers::edit_borrowers permission can inject SQL via members/memberentry.pl or the REST API (PUT /api/v1/patrons/{id}). The payload is stored in the borrowers.lang column (varchar(25)) and executes when an issue slip is printed for that patron, triggering C4/Members.pm IssueSlip. The 25-character limit prevents data extraction; impact is limited to time-based denial of service using SLEEP(). Patches available in Koha 26.11.00, 26.05.02, 25.11.07, 25.05.13, and 24.11.18.

## Affected products

- Koha Koha through 24.11.17, 25.05.12, 25.11.06, and 26.05.01

## Timeline

- 2026-08-11: disclosed: CVE-2026-72610 published
- 2026-09-03: patched: Fixed in Koha 26.11.00, 26.05.02, 25.11.07, 25.05.13, 24.11.18

## References

- [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42866](https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42866)
- [https://koha-community.org/](https://koha-community.org/)
