Архив метки: Joomla

Грядёт PHP2Shell!

Грядёт PHP2Shell!

Грядёт PHP2Shell! CVE-2026-109618 и CVE-2026-109619 - критические уязвимости в PHP, которым команда безопасности PHP присвоила оценку 9,2 по шкале CVSS v4.0. Согласно общедоступным данным, обе уязвимости позволяют неаутентифицированному злоумышленнику выполнять произвольный код на удалённом сервере.

20 октября эти CVE-идентификаторы распространились на Hacker News и в социальных сетях. Позже в тот же день команда безопасности PHP опубликовала предварительное уведомление о выпуске обновления безопасности, запланированном на 21 октября в 14:00 UTC (21 октября в 17:00 МСК), для устранения двух критических уязвимостей. В уведомлении говорилось, что команда может выпустить обновление раньше, если подробности об уязвимостях станут общедоступными или появятся признаки их эксплуатации в реальных атаках. Эксперты CERT-EU также опубликовали рекомендацию по безопасности (2026-018), в которой упоминались обе CVE. По данным watchTowr, первоначально раскрытие информации об уязвимостях было запланировано на четверг, 22 октября, в рамках соглашения о неразглашении до установленного срока.

🛠 В видеоролике, опубликованном исследователем Кириллом Фирсовым, демонстрируется цепочка эксплойтов под названием PHP2Shell. Фирсов указал, что видео и эксплойт были созданы исследователем LCFR и компанией Calif io. Компания watchTowr сообщила BleepingComputer, что, по её мнению, ей удалось воспроизвести эксплуатацию уязвимости CVE-2026-109618. В открытом доступе распространяется код, предназначенный для эксплуатации этих уязвимостей, однако его работоспособность не подтверждена. Имейте в виду, что непроверенный код для эксплуатации уязвимостей иногда содержит вредоносное ПО, поэтому относитесь к нему с осторожностью.

⚙️ Эксперты CERT-EU сообщили, что эти уязвимости могут затрагивать все версии PHP начиная с PHP 5. В демонстрационном видео упоминаются PHP 5.4.0 и более поздние версии. PHP опубликует официальный список уязвимых и исправленных версий одновременно с выпуском обновления. Разработчики ядра PHP сообщают, что "единственный способ защиты - установить патч или обновить PHP" и "настройки ini вас не спасут".

👾 21 октября технический директор Cloudflare Дейн Кнехт заявил, что компания "наблюдает первые признаки атак" и обновляет механизмы защиты по мере появления новых векторов атак.

🌐 Согласно W3Techs, PHP используется на 69,3% веб-сайтов, для которых известен язык программирования на стороне сервера. Такие платформы, как WordPress, Drupal, Joomla, Laravel и Magento, работают на PHP. По приблизительной оценке исследователя безопасности Сайласа Катлера, потенциально уязвимы более 1,3 миллиона узлов, доступных из Интернет. Поиск в Shodan, проведённый Хенком Полеем, выявил более 1,9 миллиона доступных из Интернет узлов, использующих PHP.

В общем, ждём патчи, тестируемся и обновляемся, чтобы не попасть под массовые атаки! 🙂

Коллеги из команды Vulners выпустили плагин nmap-vulners 2.0

Коллеги из команды Vulners выпустили плагин nmap-vulners 2.0

Коллеги из команды Vulners выпустили плагин nmap-vulners 2.0. Этот плагин (NSE-скрипт) превращает популярный сканер портов Nmap в сканер уязвимостей, работающий в режиме чёрного ящика. Достаточно запустить $ nmap -sV --script vulners <target> и получить приоритизированный отчёт по уязвимостям и эксплоитам. И всё это бесплатно и без ограничений. 🆓😉

Как именно работает этот плагин?

Для поиска уязвимостей сначала определяется ПО:

🔹 Может использоваться CPE-идентификатор сервиса, определяемый самим Nmap (ключ -sV).

🔹 Если Nmap не смог определить сервис, плагин пробует определить CPE-идентификатор по сырому баннеру с помощью правил (для FTP, SMTP, SSH, MySQL, DNS, NTP, LDAP и других сервисов). С версии 2.0 Fingerprint-каталог еженедельно обновляется на основе Recog, Wappalyzer, WhatWeb, FingerprintHub и nuclei-templates. Актуальный каталог подтягивается автоматически при запуске плагина.

🔹 Если был определён HTTP-сервис, nmap-vulners пробует продетектировать веб-стек: фреймворк, CMS или версию PHP за reverse proxy. Плагин анализирует заголовки Server и X-Powered-By, cookies, заголовок страницы, meta-теги, имена файлов в script src и содержимое страницы. Всего реализовано более 700 правил. Во второй версии число HTTP path-фингерпринтов выросло с 125 до 939, при этом за счёт параллелизации время работы осталось таким же, около 6 секунд на порт.

🔹 Если продукт распознан, но версия неизвестна, выполняется один запрос к характерному файлу с информацией о версии, например /CHANGELOG.txt для Drupal или /administrator/manifests/files/joomla.xml для Joomla. Поддерживаются Concrete5, Drupal, Jira, Joomla, Apache Tomcat и WordPress.

🔹 Наконец, если сервис не удаётся никак идентифицировать, может использоваться Smart audit: сырой баннер отправляется на сервер Vulners, где определяется ПО и его версия, после чего ищутся связанные уязвимости. Это единственная платная опция! Каждый уникальный запрос стоит 1 кредит, результаты кэшируются. Число запросов ограничено параметром vulners.max_items - по умолчанию 32. Полностью отключить Smart audit можно через --script-args vulners.max_items=0.

Далее данные о найденных сервисах передаются на сервер Vulners, который возвращает приоритизированный отчёт. Для каждого найденного объекта - уязвимости или эксплойта - в отчёте указываются его идентификатор, уровень критичности SEVERITY, оценки CVSS и EPSS, AI-score Vulners, флаги KEV и EXP, а также ссылка на страницу объекта на сайте Vulners.

Так всё-таки, нужен ли API-ключ?

🔹 В принципе плагин может работать вообще без указания API-ключа. Но тогда детект будет идти через старый endpoint и не все данные по уязвимостям/эксплоитам будут возвращаться.

🔹 Если добавить API-ключ без кредитов, в отчёте появится флажок "EXP" для уязвимостей, а также флажок "KEV" для уязвимостей и эксплоитов. Появится колонка с EPSS-скором. Таким образом приоритизация станет более полноценной: KEV → CISA SSVC Exploitation Active → exploits → EPSS → CVSS. Поэтому ключ рекомендуется прописать. 😉

🔹 Если у API-ключа есть кредиты, то сможет работать опция Smart audit (см. выше).

Установка

Для установки плагина достаточно запустить однострочный скрипт. Инсталлер находит Nmap и каталог его NSE-скриптов, устанавливает актуальную версию vulners.nse и удаляет старые файлы версии 1.x. Затем запускается nmap --script-updatedb и проверяется корректность установки. Опции --user и --prefix позволяют указать каталог установки, а --uninstall удаляет плагин. При необходимости инсталлер запрашивает API-ключ Vulners, проверяет его и сохраняет в ~/.nmap/vulners.key с правами 600.