В jQuery обнаружена набирающая обороты новая уязвимость

В jQuery обнаружена набирающая обороты новая уязвимость

В jQuery обнаружена набирающая обороты новая уязвимость

Разработчики популярной JavaScript-библиотеки jQuery выпустили очередное обновление безопасности, устраняющее довольно редкую уязвимость, которая только набирает обороты. Напомним, что jQuery установлена приблизительно на 74% сайтов в интернете.

Уязвимость, о которой пойдет речь, получила условное название «prototype pollution». Эксперты только начинают изучать данную брешь, обнаруживая ее все в большем количестве библиотек JavaScript.

Исходя из имени уязвимости, можно сделать вывод, что она предполагает возможность модификации объекта JavaScript, который называется «prototype».

Prototype определяет структуру объекта JavaScript и значений по умолчанию. Это делается для того, чтобы избежать сбоя приложения, если никаких значений не установлено.

Если у атакующего есть возможность модифицировать prototype, он может получить контроль над тем, как данные обрабатываются самим приложением. Таким образом, открывается возможность для совершения атак другого порядка — DoS или выполнения произвольного кода.

В настоящее время эксперты в области кибербезопасности оценивают «prototype pollution» как растущую угрозу для JavaScript. На наличие этой проблемы в jQuery обратили внимание эксперты компании Snyk, занимающейся сканированием исходного кода на уязвимости.

Брешь получила идентификатор CVE-2019-11358, код эксплойта в настоящий момент доступен на GitHub.

Критическая уязвимость в плагине WPvivid Backup затронула 900 000 сайтов

Уязвимость, выявленная в популярном WordPress-плагине для создания резервных копий, позволяет без аутентификации загрузить на сайт вредоносный код PHP и запустить его на исполнение. Патч включен в состав WPvivid Backup & Migration 0.9.124.

Уязвимости подвержены все прежние версии продукта. Ввиду высокой опасности и масштабности проблемы (на счету WPvivid Backup уже свыше 900 тыс. установок) пользователям настоятельно рекомендуется произвести обновление.

Правда, в блог-записи Wordfence сказано, что CVE-2026-1357 (9,8 балла CVSS) критична лишь для тех, у кого настройки плагина предусматривают обработку сгенерированным ключом — в обеспечение загрузки резервных копий с других сайтов. По умолчанию эта возможность отключена, а срок действия ключа ограничен 24 часами.

Согласно описанию, причин появления уязвимости две: неадекватная обработки ошибок при расшифровке по RSA и отсутствие санации пути при записи загруженных файлов.

Как оказалось, когда плагин тщетно пытался расшифровать сеансовый ключ, он не завершал выполнение, а передавал ложное значение $key в phpseclib для инициализации шифрования.

Криптобиблиотека воспринимала его как строку нулевых байтов, что открыло возможность для шифрования полезной нагрузки дефолтным, легко угадываемым 0-байтовым ключом.

 

Ситуацию усугубило отсутствие проверок типа файлов и их расширений в функции send_to_site(). Это провоцировало выход за пределы защищенного каталога резервных копий — загрузку на сервер произвольного PHP-кода с записью в публично доступные места с тем, чтобы он каждый раз отрабатывал в браузере.

Апдейт, устраняющий эти недостатки, вышел 28 января. Автор опасной находки получил 2145 долларов в рамках программы Wordfence Bug Bounty.

RSS: Новости на портале Anti-Malware.ru