Skip to main content

Koha ILS EUVDEUVD-2026-100898

| CVE-2026-105107 HIGH
SQL Injection (CWE-89)
2026-10-14 TuranSec GHSA-x89q-h3c4-g624
7.2
CVSS 4.0 · Vendor: TuranSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as staff with reports permission
  2. Delivery
    Open Most-circulated items report
  3. Exploit
    Inject SQL via Criteria/Filter/Limit params
  4. Execution
    Dynamic query executes attacker SQL
  5. Persist
    Dump borrowers/api_keys/sessions tables
  6. Impact
    Exfiltrate password hashes and 2FA secrets

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated Koha staff account holding the reports module permission (superlibrarian is explicitly NOT required), reachable via the Most-circulated items report feature backed by reports/cat_issues_top.pl. The attacker supplies malicious values in the Criteria, Filter, or Limit request parameters: Criteria is only prefix-normalized and never validated against an allow-list, so it reaches identifier positions (SELECT DISTINCTROW, GROUP BY, ORDER BY) verbatim; Filter values are concatenated raw into single-quoted LIKE/BETWEEN/comparison fragments; Limit is appended raw to the LIMIT clause. The principal limiting factor is the PR:L staff-authentication-plus-reports-permission gate - there is no unauthenticated path, no required user interaction beyond the attacker's own session, and the data reachable is bounded by the privileges of the Koha database user. Unpatched versions prior to 24.11.19 / 25.05.14 / 25.11.08 / 26.05.03 are affected.

Impact

This is a genuine, well-characterized SQL injection (CWE-89) that merits prompt patching but is not a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:L) scores 7.2 High and is internally consistent with the description: network-reachable, low complexity, but requiring low-level privileges (PR:L) - an authenticated staff account holding the reports module permission. Confidentiality impact is High (VC:H) because the Koha database user can read the borrowers table, including userids, bcrypt password hashes, two-factor secrets, api_keys, and sessions; integrity/availability are only Low because the described impact is data disclosure rather than modification or destruction. No EPSS score, KEV listing, or POC was supplied in the input, so this is no public exploit identified at time of analysis - do not treat it as actively exploited. However, the bug is explicitly the unpatched twin of reports/bor_issues_top.pl (CVE-2026-70372), the injection pattern is fully disclosed in the advisory (verbatim concatenation of Criteria/Filter/Limit into identifier and value positions), and exploitation is trivial for anyone with the required privilege level, so a working exploit is low-effort to derive. The main risk-limiting factor is the PR:L authentication requirement - the attacker must already be an authenticated staff user, which narrows the threat to insiders or attackers who have obtained staff credentials. Net: a real priority for any internet-exposed or multi-staff Koha deployment, but gated by staff authentication rather than being unauthenticated-remote.

Exploit ScenarioDerived

An authenticated staff user (or an attacker who has phished/reused staff credentials) with only the reports module permission opens the Most-circulated items report and submits crafted Criteria, Filter, or Limit parameters to reports/cat_issues_top.pl. Because these values are concatenated verbatim into dynamic SQL, the attacker injects a UNION/subquery that dumps the borrowers table, exfiltrating userids, bcrypt password hashes, two-factor secrets, api_keys, and session data. No public exploit was identified at time of analysis, but the vulnerable code path and technique are fully disclosed and low-complexity (AC:L).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 14, 2026

SQL injection in the Koha integrated library system's Most-circulated items report (reports/cat_issues_top.pl) allows an authenticated staff account holding the reports module permission - explicitly not requiring superlibrarian - to inject arbitrary SQL through the Criteria, Filter, and Limit request parameters and read any table reachable by the Koha database user, including borrower userids, bcrypt password hashes, two-factor secrets, api_keys, and sessions. The flaw is rated CVSS 7.2 (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:L) and our independent assessment concurs it is a genuine, well-characterized CWE-89 injection that merits prompt patching but is not a drop-everything emergency, principally because the PR:L staff-authentication-plus-reports-permission gate blocks any unauthenticated path. No public exploit code has been identified at time of analysis: this CVE is not in CISA KEV and there is no confirmed active exploitation. Patched releases are available in Koha 24.11.19, 25.05.14, 25.11.08, and 26.05.03.

RemediationAI

Vendor-released patch: upgrade to Koha 24.11.19, 25.05.14, 25.11.08, or 26.05.03 depending on your release line, or to the current 26.11 development branch; packages and release notes are available from https://download.koha-community.org/ and the fix is tracked in https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42736. If immediate upgrade is not possible, apply compensating controls with their trade-offs in mind: remove the reports module permission from all staff accounts that do not strictly need it (reduces exposure to the authenticated-only attack surface, but does not help accounts that legitimately generate reports); temporarily disable or block access to the Most-circulated items report endpoint (reports/cat_issues_top.pl) at the web server, and review the sibling reports/bor_issues_top.pl path tracked as CVE-2026-70372, since that script shares the same defect class - the trade-off is loss of that reporting functionality for library staff; restrict the Koha database user to the minimum privileges actually required (limiting readable tables such as borrowers, api_keys, and sessions reduces exfiltration impact but may break unrelated features if privileges are trimmed too aggressively); and deploy WAF rules or request filtering that reject SQL metacharacters in the Criteria, Filter, and Limit parameters of staff report endpoints, accepting the risk of false positives on legitimate report criteria. Given the absence of a public exploit and CISA KEV listing, prioritize patching by exposure: internet-accessible or widely shared staff instances first, then internal deployments. Monitor database and web logs for anomalous SQL in report requests as a detection measure rather than a substitute for patching.

Affected VersionsENISA

Koha 25.11.00 <25.11.08
Koha 24.11.00 <24.11.19
Koha 25.05.00 <25.05.14
Koha 0 <24.11.00
Koha 26.05.00 <26.05.03

Affected Packages

euvd koha fix: 24.11.00, 24.11.19, 25.05.14, 25.11.08, 26.05.03

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Koha is a Perl-based open-source integrated library system whose staff interface runs as CGI/mod_perl scripts issuing SQL through Perl DBI. CWE-89 (SQL Injection) arises here because reports/cat_issues_top.pl, in its sub calculate, builds dynamic SQL by concatenating user-controlled request parameters instead of using placeholders. Criteria is only prefix-normalized and is never validated against an allow-list, so attacker input is placed verbatim into identifier positions such as the SELECT DISTINCTROW list, the GROUP BY clause, the ORDER BY clause, and the main calculation query; Filter values are concatenated raw into single-quoted LIKE, BETWEEN, and comparison fragments; and Limit is appended raw to a LIMIT clause. Because identifier and clause positions cannot be safely parameterized with plain bind values, the missing control is allow-list validation of Criteria, strict numeric coercion of Limit, and quoted/escaped or bound handling of Filter. The blast radius is bounded by the privileges of the Koha database user, which in a default deployment typically has broad read access to the library schema - hence the high confidentiality impact, with limited integrity and availability impact from possible statement manipulation. The vulnerable code path is exercised by an authenticated staff session, and the same class of defect is tracked for the sibling report script reports/bor_issues_top.pl under CVE-2026-70372, with CVE-2026-6428 also referenced as related.

Know when Koha gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (TuranSec) PRIMARY 7.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N
vuln.today AI 7.6 HIGH

Network-reachable report endpoint (AV:N/AC:L) but requires an authenticated staff account with reports permission (PR:L); primary impact is reading sensitive tables (C:H) with limited write/availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (TuranSec).

CVSS VectorVendor: TuranSec

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Patch available
Oct 14, 2026 - 09:02 EUVD
CVSS changed
Oct 14, 2026 - 08:22 NVD
7.6 (HIGH) 7.2 (HIGH)
CVE Published
Oct 14, 2026 - 07:32 cve.org
HIGH 7.2

DescriptionCVE.org

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).

Executive ViewAI

Why It Matters

Koha integrated library system's Most-circulated items report contains a high-severity SQL injection (CVE-2026-105107) that allows an authenticated staff user with reports permission to read sensitive database contents, including borrower credentials, password hashes, two-factor secrets, API keys, and sessions. This could lead to unauthorized access to patron accounts and library systems, posing a significant risk to data confidentiality. No public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

Vendor-released patch: 24.11. Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
widely used open-source library ILS, common in libraries but niche sector
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

More in Koha

View all
CVE-2024-28740 CRITICAL POC
9.6 Aug 06

Cross Site Scripting vulnerability in Koha ILS 23.05 and before allows a remote attacker to execute arbitrary code via t

CVE-2018-1000669 HIGH POC
8.8 Sep 06

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

CVE-2024-24337 HIGH POC
8.0 Feb 12

CSV Injection vulnerability in '/members/moremember.pl' and '/admin/aqbudgets.pl' endpoints in Koha Library Management S

CVE-2024-28739 HIGH POC
7.2 Aug 06

An issue in Koha ILS 23.05 and before allows a remote attacker to execute arbitrary code via a crafted script to the for

CVE-2018-1000670 MEDIUM POC
6.1 Sep 06

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

CVE-2026-26377 MEDIUM POC
5.4 Mar 05

Koha versions 25.11 and earlier contain a stored cross-site scripting vulnerability in the News function that allows aut

CVE-2023-5025 MEDIUM POC
5.4 Sep 17

A vulnerability was found in KOHA up to 23.05.03. Rated medium severity (CVSS 5.4), this vulnerability is remotely explo

CVE-2026-105106 HIGH
8.8 Oct 14

OS command injection in the Koha integrated library system lets an authenticated staff account holding the tools => sche

CVE-2026-19780 HIGH
8.8 Sep 15

Authenticated remote code execution in Koha lets anyone who can reach the affected web service on TCP port 8081 feed a c

CVE-2026-71288 HIGH
8.8 Aug 05

SQL injection in Koha's guided report builder (`reports/guided_reports.pl`) allows any authenticated staff member holdin

CVE-2015-4639 HIGH
8.8 Jul 21

Cross-site scripting (XSS) vulnerability in opac-addbybiblionumber.pl in Koha 3.14.x before 3.14.16, 3.16.x before 3.16.

CVE-2026-31844 HIGH
8.7 Mar 11

SQL injection in the Koha library management system's staff interface allows authenticated users to manipulate the displ

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy