Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as staff user with schedule_tasks permission
-
ExploitSend op=cud-delete request with shell metacharacters in jobid
-
Executionatrm command string executed unquoted via shell
-
ImpactArbitrary OS commands run as Koha web/application user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution 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 specific tools => schedule_tasks permission; the attacker must reach the tools/scheduler.pl handler and issue an op=cud-delete request supplying shell metacharacters in the jobid parameter. This is NOT exploitable against a default anonymous or low-privileged session - the schedule_tasks permission is a deliberately granted staff capability, which is the primary limiting factor. No user interaction by a victim is needed (UI:N), and no non-default server configuration is required beyond the Task Scheduler feature being present; exploitation runs with the privileges of the Koha web/application OS user, so impact is bounded by that account's OS permissions. |
| Impact | This is a genuine, high-priority post-authentication vulnerability but not a drop-everything emergency. The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, base 8.8) is internally consistent with the description: a network-reachable handler, low attack complexity, and full confidentiality/integrity/availability loss via arbitrary OS command execution. The key risk-limiting signal is PR:L - exploitation is NOT unauthenticated; it requires a valid staff account holding the specific tools => schedule_tasks permission, which materially narrows the attacker population to insiders or anyone who has already compromised a sufficiently-privileged staff session. No EPSS score, no CISA KEV listing, and no POC indicator were provided in the input, so there is no evidence of active exploitation or public exploit code; the CWE-78 pattern is trivially understood, but absence of these signals means this should be treated as 'patch promptly' rather than 'under active attack.' No CVSS/description conflict is present - both agree the vector is network-delivered but privileged. Overall: a real, straightforwardly weaponizable RCE once a schedule_tasks account is in hand, tempered by the authentication and permission precondition. |
| Exploit ScenarioDerived | An authenticated Koha staff user (or an attacker who has phished/hijacked such a session) who holds the tools => schedule_tasks permission submits an op=cud-delete request to tools/scheduler.pl with shell metacharacters embedded in the jobid parameter. Because the value is interpolated unquoted into an atrm command run through system() in a shell, the injected payload executes as the Koha web/application user, yielding arbitrary command execution. No public exploit code was identified at time of analysis, but the flaw is trivial to trigger for anyone with the required permission. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
OS command injection in the Koha integrated library system lets an authenticated staff account holding the tools => schedule_tasks permission execute arbitrary operating-system commands as the Koha web/application user. The flaw lives in the tools/scheduler.pl handler: an op=cud-delete request passes the unvalidated jobid parameter into C4::Scheduler::remove_at_job, which hands it to Schedule::At::remove, where the value is spliced into an atrm command string and run through a single-argument system() call that invokes the shell - so shell metacharacters in jobid become executable commands. Per the CVSS vector the attack is network-reachable with low privileges required (PR:L) and no user interaction (UI:N), scoring 8.8, but it is strictly post-authentication and gated by a deliberately granted staff capability; no public exploit code has been identified at time of analysis and there is no CISA KEV listing. Vendor fixes are available in Koha 24.11.20, 25.05.15, 25.11.09, and 26.05.04.
RemediationAI
The primary fix is to upgrade to a patched release: Koha 24.11.20, 25.05.15, 25.11.09, or 26.05.04, or the corrected 26.11 development branch - vendor-released patches addressing the input handling and command construction are available per Koha Bugzilla bug 42674 (https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42674) and packages can be obtained from https://download.koha-community.org/. Where an immediate upgrade is not possible, the single most effective compensating control is to remove the tools => schedule_tasks permission from all staff accounts except a small, trusted set - this directly defeats the exploitation prerequisite because the handler is only reachable by a user holding that permission; the trade-off is that affected staff can no longer manage scheduled tasks through the web UI. If the Task Scheduler feature is not in active use, disabling or restricting access to tools/scheduler.pl (for example by blocking that path at the reverse proxy) removes the attack surface entirely, at the cost of losing scheduler functionality and potentially breaking integrations that rely on it. Additional hardening that reduces blast radius rather than eliminating the flaw: run the Koha web/application process under a least-privileged OS account confined by filesystem permissions or a container/sandbox so injected commands cannot reach sensitive data or system utilities, restrict staff-interface exposure to trusted networks or VPN, and audit web and system logs for anomalous atrm activity or shell metacharacters in jobid parameters to detect attempted abuse. Because exploitation requires an authenticated account with a specific capability and no public exploit code has been identified, these workarounds are reasonable short-term measures while patching is scheduled.
Affected VersionsENISA
Affected Packages
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 library management system whose web interface runs as an application user on the host. The vulnerable path is the Task Scheduler feature: tools/scheduler.pl accepts the jobid request parameter for the op=cud-delete operation and forwards it to C4::Scheduler::remove_at_job without validation, sanitization, or type checking. That routine delegates to the CPAN module Schedule::At, specifically its remove method, which builds a command string by interpolating the supplied job identifier directly into an atrm invocation. Because the interpolation is neither quoted nor escaped, and because the resulting string is executed via a single-argument system() call (which, unlike the multi-argument list form, spawns a shell), any shell metacharacters embedded in jobid are interpreted by /bin/sh. This is a textbook CWE-78 OS Command Injection: untrusted input reaching a shell interpreter through an undelimited string. The consequence is arbitrary command execution with the privileges of the Koha web/application OS account, bounded by whatever that account is permitted to do on the server. CPE data (cpe:2.3:a:koha_community:koha:*:*:*:*:*:*:*:*) does not pin a specific version, so all Koha deployments predating the fixed releases should be treated as potentially exposed, and the referenced prior CVE records for Koha command injection (CVE-2025-30076, CVE-2024-28739) indicate this is a recurring class of defect in the product rather than an isolated coding slip.
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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable web handler (AV:N) with no victim interaction (UI:N); PR:L because a specific staff schedule_tasks permission is required but not full admin; unquoted shell injection gives full C/I/A.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
Lifecycle Timeline
2DescriptionCVE.org
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.
Executive ViewAI
A high-severity OS command injection vulnerability (CVE-2026-105106, CVSS 8.8) in the Koha integrated library system allows an authenticated staff account with the schedule_tasks capability to execute arbitrary operating-system commands as the Koha web/application user. Because Koha servers typically hold patron records, borrowing histories, and financial data, successful exploitation could expose personal information, tamper with library operations, or provide a foothold for lateral movement into connected campus systems. The exploit is authenticated and gated by a deliberately granted staff permission with no public exploit code identified at time of analysis and no CISA KEV listing, but vendor fixes are available and should be applied promptly.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Cross Site Scripting vulnerability in Koha ILS 23.05 and before allows a remote attacker to execute arbitrary code via t
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
CSV Injection vulnerability in '/members/moremember.pl' and '/admin/aqbudgets.pl' endpoints in Koha Library Management S
An issue in Koha ILS 23.05 and before allows a remote attacker to execute arbitrary code via a crafted script to the for
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
Koha versions 25.11 and earlier contain a stored cross-site scripting vulnerability in the News function that allows aut
A vulnerability was found in KOHA up to 23.05.03. Rated medium severity (CVSS 5.4), this vulnerability is remotely explo
Authenticated remote code execution in Koha lets anyone who can reach the affected web service on TCP port 8081 feed a c
SQL injection in Koha's guided report builder (`reports/guided_reports.pl`) allows any authenticated staff member holdin
Cross-site scripting (XSS) vulnerability in opac-addbybiblionumber.pl in Koha 3.14.x before 3.14.16, 3.16.x before 3.16.
SQL injection in the Koha library management system's staff interface allows authenticated users to manipulate the displ
Multiple cross-site scripting (XSS) vulnerabilities in the Staff client in Koha before 3.16.6 and 3.18.x before 3.18.2 a
EUVD-2026-100897
GHSA-8cv9-2m24-2x49
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB