Уязвимость содержится в системе управления сайтом Netcat версий 3.х - 5.7, и позволяет злоумышленникам получить полный доступ к сайту. Уязвимость существует из-за недостаточной фильтрации входящих данных в модуле netcat/require/s_list.inc.php.

В пропатченной версии содержится преобразование данных:

$stringValue = htmlspecialchars(stripcslashes($srchPatValues[$j]), ENT_QUOTES);
$stringValue = addcslashes($stringValue, '$');

Однако и использование htmlspecialchars&stripcslashes не является панацеей от такого рода уязвимостей.

Признаки взлома сайта:

  • Если в файле netcat/require/s_list_inc.php есть код, похожий на https://gist.github.com/NickMitin/512b3d19b3dbd89e82ac913df278472f
    то ваш сайт подвержен уязвимости.
  • Если ваш сайт отдаёт 500 ошибку, проверьте файл e404.php. В конце может быть вредоносный код.
  • Если у вас в корне есть файл new.vars.inc.php, удалите его.
  • Выполните поиск файлов, содержащих “<?php eval(base64_decode(<<<EOD” в начале. Удалите найденные файлы.

Чтобы закрыть уязвимость, выполните следующие шаги:

Для версий 5.х в файле /netcat/require/s_list.inc.php в функции showSearchForm замените код https://gist.github.com/NickMitin/512b3d19b3dbd89e82ac913df278472f на https://gist.github.com/NickMitin/b65c523b63d712e1ac1dc3210377d2da

Для версий 4.x и 3.х в файле /netcat/require/s_list.inc.php в функции showSearchForm замените код https://gist.github.com/NickMitin/bd9d1d6b5fc0af0d64ce2ce129ac7973 на https://gist.github.com/NickMitin/1e392b9f8bee09e7d531feaeeda26677

Использование Web Application Firewall позволяет блокировать подобные атаки даже при наличии уязвимости "нулевого дня".