Xakep #305. Многошаговые SQL-инъекции
Как известно, восьмая версия одной из самых популярных CMS в мире, Drupal, написана с использованием Symfony2. Symfony — это свободный фреймворк, написанный на PHP, который использует паттерн Model-View-Controller. Он предлагает быструю разработку и управление веб-приложениями и имеет поддержку множества баз данных (MySQL, PostgreSQL, SQLite или любая другая PDO-совместимая СУБД).
Недавно в составе компонента Symfony HttpFoundation была обнаружена опасная уязвимость (CVE-2018-14773). Как выяснилось, баг представляет опасность для Drupal версий 8.x (вплоть до 8.5.6).
Разработчики объясняют, что проблема связана с тем, что Symfony поддерживает хедеры IIS, что позволяет использовать специально модифицированные хедеры X-Original-URL или X-Rewrite-URL в HTTP-запросе и заставить уязвимую систему обойти ограничение доступа, в итоге обработав другой адрес URL.
Баг был устранен в Symfony версий 2.7.49, 2.8.44, 3.3.18, 3.4.14, 4.0.14 и 4.1.3, а инженеры Drupal обновили CMS до безопасной версии 8.5.6.
Разработчики Drupal отмечают, что похожая проблема так же была обнаружена в Zend Feed и библиотеках Diactoros, также входящих в состав Drupal. Подчеркивается, что в данном случае Drupal Core не использует уязвимую функциональность, хотя пользователям все же рекомендуют обновиться, на тот случай, если их сайт или модуль напрямую работает с Zend Feed или Diactoros.