Разработчики популярной JavaScript-библиотеки jQuery выпустили очередное обновление безопасности, устраняющее довольно редкую уязвимость, которая только набирает обороты. Напомним, что jQuery установлена приблизительно на 74% сайтов в интернете.
Уязвимость, о которой пойдет речь, получила условное название «prototype pollution». Эксперты только начинают изучать данную брешь, обнаруживая ее все в большем количестве библиотек JavaScript.
Исходя из имени уязвимости, можно сделать вывод, что она предполагает возможность модификации объекта JavaScript, который называется «prototype».
Prototype определяет структуру объекта JavaScript и значений по умолчанию. Это делается для того, чтобы избежать сбоя приложения, если никаких значений не установлено.
Если у атакующего есть возможность модифицировать prototype, он может получить контроль над тем, как данные обрабатываются самим приложением. Таким образом, открывается возможность для совершения атак другого порядка — DoS или выполнения произвольного кода.
В настоящее время эксперты в области кибербезопасности оценивают «prototype pollution» как растущую угрозу для JavaScript. На наличие этой проблемы в jQuery обратили внимание эксперты компании Snyk, занимающейся сканированием исходного кода на уязвимости.
Брешь получила идентификатор CVE-2019-11358, код эксплойта в настоящий момент доступен на GitHub.