---
id: CVE-2026-105106
title: Koha is vulnerable to OS command injection in the Task Scheduler deletion path
summary: >-
  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. Sch…
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-78
published: '2026-10-14'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T08:17:03.587'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-105106'
references:
  - url: 'https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42674'
    label: 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c
  - url: 'https://download.koha-community.org/'
    label: 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c
  - url: 'https://www.cve.org/CVERecord?id=CVE-2024-28739'
    label: 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c
  - url: 'https://www.cve.org/CVERecord?id=CVE-2025-30076'
    label: 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c
tags:
  - nvd
ingestedAt: '2026-10-14T08:23:04.340Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
