CVE-2026-105106
HighCVSS 8.8Exploitation Probability (EPSS)
High risk76th percentile - higher than 76% of all known CVEs
Summary
Koha is vulnerable to OS command injection in the Task Scheduler deletion path. The jobid parameter passed to C4::Scheduler::remove_at_job is not validated, and Schedule::At::remove substitutes it into an atrm command string without quoting or escaping, executing it through a single-argument system() call that invokes the shell. An authenticated staff user with the tools => schedule_tasks permission can execute arbitrary OS commands as the Koha application user.
Risk Assessment
An attacker can take control of the Koha application server, execute arbitrary code, and access data and the operating system. This can lead to full host compromise and further lateral movement.
Recommendation
Upgrade Koha to 24.11.20, 25.05.15, 25.11.09, or 26.05.04 (or the 26.11 branch). Restrict the schedule_tasks permission to trusted administrators and monitor for unusual scheduler invocations.
Other vulnerabilities in Koha
See all- CVE-2026-105107High
Koha is vulnerable to SQL injection in the Most-circulated items report. The reports/cat_issues_top.pl script concatenates the user-controlled Criteria, Filter, and Limit request parameters directly into dynamic SQL, and Criteria is never validated against an allow-list. An authenticated staff user with the reports module permission can inject arbitrary SQL and read any table reachable by the Koha database user, including borrowers, api_keys, and sessions.
- CVE-2026-19780High
A Remote Code Execution vulnerability in Koha results from the lack of proper validation of a user-supplied string before passing it to the eval function in the web service listening on TCP port 8081 by default. An authenticated attacker can exploit this vulnerability to execute code in the context of the service account.
- CVE-2026-41921Medium
Koha before versions 26.05.02, 25.11.07, and 25.05.13 contains a stored cross-site scripting vulnerability in the purchase suggestion handler that allows authenticated staff users to inject malicious scripts by submitting unsanitized input through the suggestion save operation. Attackers can supply crafted HTML or script content in fields such as title, author, isbn, publishercode, place, collectiontitle, itemtype, and note, which are stored without sanitization and later rendered in the suggestion list template, causing injected scripts to execute in the browser of any staff user who views the suggestions.
- CVE-2026-72610Medium
Stored SQL injection vulnerability in Koha through 24.11.17, 25.05.12, 25.11.06, and 26.05.01. Authenticated staff with borrowers => edit_borrowers permission can cause time-based denial of service by storing a SQL payload in a patron lang field, which executes when an issue slip is printed.
- CVE-2026-72609High
An SQL injection vulnerability in Koha (through 24.11.17, 25.05.12, 25.11.06, and 26.05.01) allows authenticated staff with the acquisition => order_receive permission to read arbitrary database contents via the orderby parameter in acqui/parcels.pl. The parameter is passed to C4::Acquisition::GetInvoices, which concatenates the direction token raw into the SQL ORDER BY clause without validation. Exploitation is blind (time-based) and allows extraction of patron PII, staff bcrypt password hashes, and two-factor secrets.
- CVE-2026-72608Medium
Stored SQL injection vulnerability in Koha through 24.11.17, 25.05.12, 25.11.06, and 26.05.01. Authenticated staff with tools => label_creator permission can execute arbitrary SQL via the image_name field of a patron card layout, allowing reading the entire database including patron PII and staff bcrypt password hashes.
- CVE-2026-72607High
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 tools => items_batchmod permission to read arbitrary database contents by storing a SQL payload in the agefield value of an automatic item modification rule. The value is stored verbatim and later interpolated without parameterization into a SQL query in C4::Items::ToggleNewStatus when the scheduled cron job executes. The injection allows reading the entire Koha database including patron PII and staff bcrypt password hashes.
- CVE-2026-71288High
Koha's guided report builder reads CGI parameters and concatenates them directly into an SQL ORDER BY clause with no allowlist or validation. Since ORDER BY columns cannot be bound via prepared statements, an explicit allowlist is required but missing.
- CVE-2026-70373High
Koha's reports/issues_stats.pl (the circulation statistics report) builds its calculation query in sub calculate by concatenating several user-controlled request parameters directly into the SQL string. The PeriodTypeSel, PeriodDaySel, and PeriodMonthSel parameters are interpolated raw into single-quoted equality and function-comparison fragments, and the Filter slots plus the Line and Column identifiers are likewise interpolated with no whitelist and no placeholder binding.
- CVE-2026-70372High
Koha's reports/bor_issues_top.pl builds dynamic SQL in sub calculate by concatenating several user-controlled request parameters directly into the query string. An authenticated staff user holding the reports module permission can inject arbitrary SQL and read any table reachable by the Koha database user, including borrowers (password hashes, two-factor secrets, personal data), api_keys, and sessions.
Original NVD description (English source)
Koha is vulnerable to OS command injection in the Task Scheduler deletion path. The tools/scheduler.pl handler accepts the jobid request parameter for op=cud-delete and passes it to C4::Scheduler::remove_at_job without validating it. Schedule::At::remove substitutes the supplied job ID into an atrm command string without quoting or escaping it and executes the command through a single-argument system() call, which invokes the shell. An authenticated staff user with the tools => schedule_tasks permission can therefore execute arbitrary operating-system commands as the Koha web/application user by supplying shell metacharacters in jobid. The issue is fixed in Koha 24.11.20, 25.05.15, 25.11.09, and 26.05.04, and in the 26.11 development branch.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

