Популярный скрипт jQuery File Upload, как оказалось, может содержать в себе опасность для тысяч веб-проектов. Специалист по IT-безопасности Ларри Кэшдоллар (Larry Cashdollar) обнаружил, что он содержит брешь, которая позволяет загружать на целевой сервер различные файлы: установщики бэкдоров, скрипты, веб-оболочки для запуска сторонних программ и так далее.
Плагин jQuery File Upload используется в CMS-платформах, расширениях WordPress и Joomla и других проектах. Кэшдоллар насчитал порядка 7,8 тысяч различных сервисов с ним только на GitHub. В них плагин используется в оригинальном или модифицированном варианте. jQuery File Upload позволяет загружать фото и видео, поддерживает функцию drag-and-drop, загрузку нескольких файлов и другие возможности.
Проблема, как оказалось, тянется с 23 ноября 2010 года и до наших дней. А с 2015 года эта уязвимость активно эксплуатируется хакерами. Суть её проста — в Apache Web Server версии 2.3.9 разработчики отключили по умолчанию поддержку правил из файла .htaccess. Этот файл хранит разрешения для загружаемых объектов, однако на тот момент было принято решение прописывать данные иначе.
Разработчик Себастьян Чан (Sebastian Tschan), также известный как Blueimp, выпустил обновление jQuery File Upload под номером 9.22.1, которое устранило эту уязвимость. В более ранних версиях скрипт обращается именно к .htaccess за нужными параметрами, потому они считаются небезопасными.
При этом Кэшдоллар заявил, что пока ещё тысячи веб-проектов содержат баг. Для исправления нужно обновить его на всех серверах, подверженных уязвимости, а это потребует ресурсов и времени. По словам специалиста по информационной безопасности, он проверил более тысячи проектов на GitHub, но лишь в 36 случаях уязвимости не было.