Если Вы задумываетесь над проблемами безопасности собственных сайтов, то эта заметка и напоминание для тех, кто является владельцем или поддерживает блоги на CMS WordPress. В корректирующем релизе WordPress 3.5.2 устранено семь проблем, связанных с безопасностью. Так что всем рекомендуется обновить свои блоги на новую версию.

Спасибо команде разработчиков и поддержки WordPress, которая не стала дожидаться окончания разработки новой версии 3.6 и решила (наконец-то) выпустить корректирующий релиз обновления 3.5.2, в котором нет никаких новшеств, но зато устранены насущные и серьезные проблемы, связанные с безопасностью.
Устранены следующие уязвимости
- Межсерверная подделка запросов (SSRF — Server-Side Request Forgery) средствами HTTP API.
- Превышение привилегий (Privilege Escalation), т.е. когда авторы публикуют сообщения, а пользователи могут затем сменить авторство.
- DoS-атаки (Denial of Service). Отказ в обслуживании посредством Post Password Cookies.
- Подмена, перехват контента (Content Spoofing) используя апплет Flash в плагине TinyMCE Media.
- Раскрытие полного пути к файлам (FPD — Full Path Disclosure) во время загрузки файлов на сервер.
- Межсайтовый скриптинг (XSS — Cross-Site Scripting) в SWFUpload. Обнаружено в плагине NextGEN Gallery.
- Межсайтовый скриптинг во время загрузки медиа на сайт.
В общей сложности в релизе WordPress 3.5.2 исправлено 12 багов, среди которых (кроме перечисленных выше) есть 3, дополнительно усиливающих безопасность:
- XSS-уязвимость при редактировании различных медиа-данных.
- XSS-уязвимость во время установки и обновления плагинов и тем.
- Вероятность XML-инъекций (XXE — XML External Entity Injection) посредством oEmbed.
Как видите, исправления не касались интерфейса и прочего функционала, а затрагивали лишь проблемы безопасности. Поэтому обновление должно пройти «безболезненно» для версий WP 3.5 и 3.5.1. Обновляться проще и лучше стандартными средствами через Консоль WordPress -> Обновления.
Однако не забывайте, что на всякий случай перед обновлением нужно сделать полный бэкап всего сайта, включая дамп базы данных.
Желающие обновить блог вручную могут скачать русский WordPress 3.5.2 в ZIP-архиве с сайта ru.wordpress.org (или в архиве .tar.gz).
Полный список файлов, затронутых обновлением WordPress 3.5.2
2 | wp-admin/includes/media.php |
3 | wp-admin/includes/class-wp-importer.php |
4 | wp-admin/includes/file.php |
5 | wp-admin/includes/post.php |
6 | wp-admin/includes/upgrade.php |
7 | wp-admin/includes/schema.php |
8 | wp-admin/includes/class-wp-upgrader.php |
9 | wp-admin/includes/update-core.php |
12 | wp-admin/edit-form-advanced.php |
14 | wp-includes/class-wp-xmlrpc-server.php |
16 | wp-includes/functions.php |
17 | wp-includes/formatting.php |
19 | wp-includes/media-template.php |
20 | wp-includes/deprecated.php |
23 | wp-includes/class-wp-admin-bar.php |
24 | wp-includes/version.php |
25 | wp-includes/class-phpass.php |
26 | wp-includes/comment.php |
27 | wp-includes/pluggable.php |
28 | wp-includes/class-feed.php |
29 | wp-includes/script-loader.php |
30 | wp-includes/class-http.php |
31 | wp-includes/js/media-editor.min.js |
32 | wp-includes/js/swfupload/swfupload-all.js |
33 | wp-includes/js/swfupload/handlers.js |
34 | wp-includes/js/swfupload/handlers.min.js |
35 | wp-includes/js/swfupload/swfupload.swf |
36 | wp-includes/js/plupload/handlers.js |
37 | wp-includes/js/plupload/handlers.min.js |
38 | wp-includes/js/tinymce/wp-tinymce.js.gz |
39 | wp-includes/js/tinymce/plugins/media/moxieplayer.swf |
40 | wp-includes/js/tinymce/tiny_mce.js |
41 | wp-includes/js/media-editor.js |
42 | wp-includes/class-oembed.php |
43 | wp-includes/post-template.php |
Дополнение
Для более продвинутых, имеющих опыт программирования на PHP и JavaScript, возможно будет интересно взглянуть непосредственно на конкретные детали измененного кода в файлах по ссылке Changes in branches/3.5 [23347:24498]
Там в таблицах, ниже списка файлов, красным фоном выделено то, что было удалено, а зеленым то, что было добавлено в каждом конкретном файле (в сравнении с версией WordPress 3.5.1). Возможно это пригодится при создании своих скриптов, плагинов или тем для WordPress, либо вообще при разработке своей собственной CMS.
Метки:
WordPress,
безопасность,
обновление
Поделитесь материалом с другими, воспользуйтесь этими кнопками:
Блоггер, дилема растолкованная вами на блоге несомненно жизненна. Я думаю что тема стоит продолжения в приватной дискуссии. Кстате, у блога непонятное с код-кой RSS. ;)
excreting, а что не так с кодировкой RSS блога, можно подробнее? Если что, можно и скриншот на почту мне выслать.
И вверху в админке (если сами не отключили эту опцию) появляется уведомление про выход обновлений.
Правда, я не всегда обновлялась, так как не совсем понимала, для чего это нужно. Сейчас-то дошло, что это в моих же интересах :)
Анна, только не забывайте делать бэкап перед любым обновлением, даже самым маленьким. А после обновления обязательно проверьте, корректно ли отображаются страницы, правильно ли работают все активированные плагины и остальной функционал вашего блога или сайта.
Анна, та опция у меня обычно отключена на блогах, но я подписан на новости от WordPress и получаю их по почте, поэтому всегда в курсе событий, что и Вам рекомендую сделать.
Классная система, очень простая и удобная, правда, для меня лично есть в ней один минус — она становится все больше.