CVE-2026-70369
Received Received - Intake

SQL Injection in Koha Library Software

Vulnerability report for CVE-2026-70369, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-04

Last updated on: 2026-08-04

Assigner: 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c

Description

Koha's reports/acquisitions_stats.pl builds its per-cell statistics query in sub calculate by interpolating the user-controlled Filter request parameters directly into WHERE fragments covering aqbasket.closedate, aqorders.datereceived, aqbooksellers.name, items.homebranch, items.ccode, biblioitems.itemtype, aqbudgets.budget_code, aqorders.sort1, and aqorders.sort2. The statement is prepared and executed with no bound parameters. 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), borrower_password_recovery, api_keys, and sessions.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-04
Last Modified
2026-08-04
Generated
2026-08-04
AI Q&A
2026-08-04
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
koha koha *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-89 The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is an SQL injection vulnerability in Koha's reports module. An authenticated staff user with reports permissions can inject malicious SQL queries by manipulating Filter parameters in the acquisitions_stats.pl script. The vulnerability occurs because user input is directly interpolated into SQL WHERE clauses without using bound parameters, allowing arbitrary SQL execution.

Detection Guidance

Detecting this SQL injection vulnerability requires checking Koha's reports/acquisitions_stats.pl for improper parameter handling. Review logs for suspicious queries containing Filter parameters with SQL syntax like 'OR 1=1' or UNION SELECT. Inspect database access patterns for unauthorized reads of sensitive tables such as borrowers or sessions.

Impact Analysis

An attacker could exploit this to read sensitive data from the Koha database, including borrower passwords, two-factor authentication secrets, personal borrower information, API keys, and session data. This could lead to unauthorized access to user accounts, data breaches, and potential further system compromise.

Compliance Impact

This vulnerability likely violates GDPR due to unauthorized access to personal data and HIPAA if borrower health information is exposed. It represents a failure to implement proper security controls for protecting sensitive data, potentially resulting in regulatory fines and legal consequences.

Mitigation Strategies

Immediately apply Koha's latest security patches. Disable the reports module for non-admin staff users until patched. Review database user permissions to restrict access to sensitive tables like borrowers and sessions. Monitor database queries for anomalous activity.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-70369. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart