SQL-инъекция в SourceCodester Online Leave Management System (CVE-2026-102912)
В SourceCodester Online Leave Management System 1.0 обнаружена уязвимость SQL-инъекции в обработчике /admin/?page=reports. Манипуляции с параметрами date_start и date_end позволяют выполнить произвольный SQL-код. Уязвимость имеет средний уровень опасности (CVSS 5.1), эксплойт уже опубликован в открытом доступе.
Подробности
Уязвимость затрагивает SourceCodester Online Leave Management System версии 1.0. Проблема локализована в обработчике /admin/?page=reports: при передаче параметров date_start и date_end в запрос не применяется должная фильтрация пользовательского ввода, что приводит к SQL-инъекции (CWE-89). Атака может быть выполнена удалённо — для эксплуатации достаточно отправить специально сформированный HTTP-запрос к уязвимой конечной точке. Уязвимость получила оценку CVSS 5.1, что соответствует среднему уровню опасности. Несмотря на умеренную оценку, ситуацию усугубляет тот факт, что публичный эксплойт уже доступен — это существенно снижает порог входа для потенциальных атакующих, в том числе не обладающих глубокими навыками. Успешная эксплуатация SQL-инъекции позволяет читать содержимое базы данных, включая учётные записи сотрудников и администраторов, данные об отпусках и другую конфиденциальную информацию. В зависимости от конфигурации СУБД и прав, под которыми работает приложение, злоумышленник может также изменять или удалять данные.Что делать
На сегодняшний день информация об официальном патче от производителя отсутствует. Рекомендуется следующий комплекс мер:- Ограничить доступ к административной панели (/admin/) по IP-адресам или перевести её за VPN — это снизит поверхность атаки для внешних злоумышленников.
- Внедрить строгую валидацию и параметризацию входных данных на стороне сервера: параметры date_start и date_end должны приводиться к ожидаемому формату даты до попадания в SQL-запрос.
- Использовать подготовленные выражения (prepared statements) вместо конкатенации строк при формировании SQL-запросов.
- Настроить WAF с сигнатурами для обнаружения типовых SQL-инъекций в параметрах GET/POST.
- Ограничить права учётной записи СУБД, используемой приложением, до необходимого минимума (принцип наименьших привилегий).
- Провести аудит журналов веб-сервера на предмет подозрительных запросов к /admin/?page=reports.
Источник: CVE Project (cvelistV5)
