Koha SQL injection in reports/cat_issues_top.pl via the Criteria, Filter and Limit request parameters
What fixes it
- 24.11.00KohaCVE List
- 24.11.19KohaCVE List
- 25.05.14KohaCVE List
- 25.11.08KohaCVE List
- 26.05.03KohaCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Koha is vulnerable to SQL injection in the Most-circulated items report. The reports/cat_issues_top.pl script (sub calculate) concatenates the user-controlled Criteria, Filter, and Limit request parameters directly into dynamic SQL. Criteria is only prefix-normalized and never validated against an allow-list, so it is inserted verbatim into identifier positions (SELECT DISTINCTROW, GROUP BY, ORDER BY, and the main calculation query). Filter values are concatenated raw into single-quoted LIKE, BETWEEN, and comparison fragments. Limit is appended raw to a LIMIT clause. An authenticated staff user with the reports module permission (not requiring superlibrarian) can inject arbitrary SQL and read any table reachable by the Koha database user, including borrowers (userid and bcrypt password hashes, two-factor secrets, personal data), api_keys, and sessions. The issue is fixed in Koha 24.11.19, 25.05.14, 25.11.08, and 26.05.03, and in the 26.11 development branch. This is the unpatched twin of reports/bor_issues_top.pl (CVE-2026-70372).
Text from CVE List
Affected versions 5
- Kohaaffected: all versions before 24.11.00CVE List
- Kohaaffected: 24.11.00 before 24.11.19CVE List
- Kohaaffected: 25.05.00 before 25.05.14CVE List
- Kohaaffected: 25.11.00 before 25.11.08CVE List
- Kohaaffected: 26.05.00 before 26.05.03CVE List