CVE-2021-42258
BQE BillQuick Web Suite
2021-11-03
BQE BillQuick Web Suite contains an SQL injection vulnerability when accessing the username parameter that may allow for unauthenticated, remote code execution.
Технический анализ и план устранения
Суть уязвимости
Уязвимость SQL-инъекции в параметре username в BQE BillQuick Web Suite. Злоумышленник может отправлять специально сформированные запросы к этому параметру без аутентификации, что может привести к выполнению произвольного SQL-кода и, как следствие, к удаленному выполнению кода (RCE) на сервере.
Как исправить
Установите патч от разработчика. Уязвимость устранена в версии BillQuick Web Suite 2021 (22.0.9.1) и выше.
- Проверьте текущую версию в интерфейсе администратора системы.
- Скачайте и установите обновление с официального портала поддержки BQE Software:
- Перейдите в раздел загрузок для BillQuick Web Suite.
- Загрузите установщик версии 22.0.9.1 или новее.
- Выполните установку поверх существующей системы, следуя инструкциям разработчика. Перед обновлением обязательно создайте резервную копию базы данных и файлов приложения.
Временное решение
Если немедленное обновление невозможно, примените следующие меры:
-
Настройте WAF (Web Application Firewall):
- Добавьте правило для блокировки SQL-инъекций в параметры запроса, особенно с именами, содержащими
username,user,name. - Пример правила для ModSecurity (CRS):
apache SecRule ARGS_NAMES "@rx (?i:username)" \ "id:1000,\ phase:2,\ block,\ msg:'Potential SQLi in username parameter',\ tag:'attack-sqli'"
- Добавьте правило для блокировки SQL-инъекций в параметры запроса, особенно с именами, содержащими
-
Ограничьте сетевой доступ:
- Настройте групповые политики (GPO) или локальный брандмауэр на сервере, чтобы разрешить доступ к веб-порту BillQuick Web Suite (обычно 80/tcp или 443/tcp) только с доверенных IP-адресов (офисов, VPN).
- Пример правила для
iptables(Linux) илиfirewalld:bash # iptables - пример: разрешить только от сети 192.168.1.0/24 iptables -A INPUT -p tcp --dport 443 -s 192.168.1.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j DROP
-
Поместите приложение за обратным прокси (например, nginx) с жесткими ограничениями на длину и содержимое параметров запроса.
ВАЖНО: Временные решения лишь снижают риск эксплуатации. Полное устранение возможно только путем установки официального патча.