Отчеты Koha/bor_issues_top.pl создают динамический SQL в субвычислении путем объединения нескольких параметров запроса, управляемых пользователем, непосредственно в строку запроса. Параметр Criteria нормализуется только префиксом имени таблицы и никогда не заносится в белый список, дословно размещаясь на позициях идентификатора (SELECT DISTINCTROW, GROUP BY, ORDER BY); Значения фильтра объединяются в необработанном виде во фрагменты LIKE, BETWEEN и сравнения в одинарных кавычках, а параметр Limit добавляется в необработанном виде к предложению LIMIT. Аутентифицированный штатный пользователь, обладающий разрешением на модуль отчетов, может внедрить произвольный SQL-код и прочитать любую таблицу, доступную пользователю базы данных Koha, включая заемщиков (хэши паролей, двухфакторные секреты, личные данные), api_keys и сеансы.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1