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) и выше.

  1. Проверьте текущую версию в интерфейсе администратора системы.
  2. Скачайте и установите обновление с официального портала поддержки BQE Software:
    • Перейдите в раздел загрузок для BillQuick Web Suite.
    • Загрузите установщик версии 22.0.9.1 или новее.
    • Выполните установку поверх существующей системы, следуя инструкциям разработчика. Перед обновлением обязательно создайте резервную копию базы данных и файлов приложения.

Временное решение

Если немедленное обновление невозможно, примените следующие меры:

  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'"
  2. Ограничьте сетевой доступ:

    • Настройте групповые политики (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
  3. Поместите приложение за обратным прокси (например, nginx) с жесткими ограничениями на длину и содержимое параметров запроса.

ВАЖНО: Временные решения лишь снижают риск эксплуатации. Полное устранение возможно только путем установки официального патча.