CVE-2026-70373
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 - wyżej niż 23% wszystkich znanych CVE
Streszczenie
Raport statystyk obiegu w Koha (reports/issues_stats.pl) buduje zapytanie obliczeniowe w podprogramie calculate, łącząc kilka kontrolowanych przez użytkownika parametrów żądania bezpośrednio w ciąg SQL. Parametry PeriodTypeSel, PeriodDaySel i PeriodMonthSel są interpolowane surowo do fragmentów równości w pojedynczych cudzysłowach i porównań funkcji, a sloty Filter oraz identyfikatory Line i Column są również interpolowane bez białej listy i bez wiązania parametrów.
Ocena ryzyka
Ryzyko polega na możliwości wstrzyknięcia SQL przez uwierzytelnionego użytkownika z uprawnieniami do raportów, co może prowadzić do nieautoryzowanego dostępu do danych lub ich modyfikacji.
Rekomendacja
Zaleca się zaktualizowanie Koha do wersji zawierającej poprawkę lub ręczne dodanie walidacji parametrów i użycie sparametryzowanych zapytań.
Inne podatności w Koha
Zobacz wszystkie- CVE-2026-41921Średnie
Koha przed wersjami 26.05.02, 25.11.07 i 25.05.13 zawiera podatność na przechowywany XSS w obsłudze sugestii zakupu, która pozwala uwierzytelnionym pracownikom na wstrzykiwanie złośliwych skryptów poprzez przesłanie niesanityzowanych danych w operacji zapisu sugestii. Atakujący mogą dostarczyć spreparowane treści HTML lub skryptów w polach takich jak tytuł, autor, ISBN, kod wydawcy, miejsce, tytuł kolekcji, typ pozycji i notatka, które są przechowywane bez sanityzacji i później renderowane w szablonie listy sugestii, powodując wykonanie wstrzykniętych skryptów w przeglądarce każdego pracownika przeglądającego sugestie.
- CVE-2026-72610Średnie
Podatność na przechowywany SQL injection w Koha do wersji 24.11.17, 25.05.12, 25.11.06 i 26.05.01. Uwierzytelniony personel z uprawnieniem borrowers => edit_borrowers może spowodować czasową odmowę usługi, przechowując ładunek SQL w polu lang patrona, który jest wykonywany podczas drukowania slipu.
- CVE-2026-72609Wysokie
Podatność na wstrzykiwanie SQL w Koha (do wersji 24.11.17, 25.05.12, 25.11.06, 26.05.01) pozwala uwierzytelnionemu personelowi z uprawnieniem acquisition => order_receive na odczyt dowolnych danych z bazy przez parametr orderby w acqui/parcels.pl. Parametr jest przekazywany do C4::Acquisition::GetInvoices, gdzie kierunek sortowania jest konkatenowany do klauzuli ORDER BY bez walidacji. Atak jest ślepy (czasowy) i umożliwia wyodrębnienie danych osobowych czytelników, hashy haseł personelu i sekretów 2FA.
- CVE-2026-72608Średnie
Podatność na przechowywany SQL injection w Koha do wersji 24.11.17, 25.05.12, 25.11.06 i 26.05.01. Uwierzytelniony personel z uprawnieniem tools => label_creator może wykonać dowolny SQL przez pole image_name w układzie karty patrona, co pozwala na odczyt całej bazy danych, w tym danych osobowych i skrótów haseł.
- CVE-2026-72607Wysokie
Podatność na trwałe wstrzykiwanie SQL w Koha (do wersji 24.11.17, 25.05.12, 25.11.06, 26.05.01) pozwala uwierzytelnionemu personelowi z uprawnieniem tools => items_batchmod na odczyt dowolnych danych z bazy przez przechowywanie ładunku SQL w wartości agefield reguły automatycznej modyfikacji przedmiotów. Wartość jest przechowywana bez zmian i interpolowana do zapytania SQL w C4::Items::ToggleNewStatus podczas wykonywania zaplanowanego zadania cron. Atak umożliwia odczyt całej bazy Koha, w tym danych osobowych czytelników i hashy haseł personelu.
- CVE-2026-71288Wysokie
Kreator raportów w systemie Koha (reports/guided_reports.pl) odczytuje parametry CGI i bezpośrednio konkatenuje je do klauzuli SQL ORDER BY bez żadnej listy dozwolonych wartości ani walidacji. Ponieważ kolumny ORDER BY nie mogą być wiązane przez przygotowane zapytania, wymagana jest jawna lista dozwolonych, która nie istnieje.
- CVE-2026-70372Wysokie
Raport reports/bor_issues_top.pl w Koha buduje dynamiczne SQL w podprogramie calculate, łącząc kilka kontrolowanych przez użytkownika parametrów żądania bezpośrednio w ciąg zapytania. Uwierzytelniony pracownik z uprawnieniami do modułu raportów może wstrzyknąć dowolny SQL i odczytać dowolną tabelę dostępną dla użytkownika bazy danych Koha, w tym borrowers (hasła, sekrety dwuskładnikowe, dane osobowe), api_keys i sesje.
- CVE-2026-70371Wysokie
Raport reports/issues_avg_stats.pl w Koha buduje dynamiczne SQL w podprogramie calculate, łącząc kilka kontrolowanych przez użytkownika parametrów żądania bezpośrednio w ciąg zapytania. Parametry Line i Column nie są weryfikowane względem żadnej białej listy i trafiają dosłownie w pozycje identyfikatorów (SELECT DISTINCTROW, GROUP BY, ORDER BY), a każdy slot Filter jest łączony surowo w fragmenty LIKE, BETWEEN i porównań w pojedynczych cudzysłowach bez powiązanych parametrów.
- CVE-2026-70370Wysokie
Podatność w Koha w skrypcie reports/catalogue_stats.pl, gdzie dynamiczne zapytanie SQL jest budowane przez interpolację kontrolowanych przez użytkownika parametrów Line i Column bezpośrednio w pozycjach identyfikatorów zapytania (SELECT DISTINCTROW, GROUP BY, ORDER BY) bez walidacji na białej liście.
- CVE-2026-70369Wysokie
Podatność w Koha w skrypcie reports/acquisitions_stats.pl, gdzie zapytanie statystyczne jest budowane przez interpolację kontrolowanych przez użytkownika parametrów Filter bezpośrednio w fragmentach WHERE dotyczących wielu pól, takich jak aqbasket.closedate, aqorders.datereceived, aqbooksellers.name, items.homebranch, items.ccode, biblioitems.itemtype, aqbudgets.budget_code, aqorders.sort1 i aqorders.sort2.
Oryginalny opis (angielski, źródło NVD)
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.

