Описание
Уязвимость позволяет удалённому злоумышленнику извлечь архив, хранящийся где-то удалённо, на атакуемый сайт во время распаковки резервной копии или установки обновлений, в зависимости от настроек. Само наличие уязвимости не позволяет её использовать. Злоумышленник должен атаковать именно в то время когда извлекается архив резервных копий или устанавливается пакет обновления Joomla!
Версии программного обеспечения, подверженные уязвимости
- Akeeba Backup for Joomla! Professional, версии 3.0.0 и выше, включая 4.0.2
- Akeeba Backup Professional for WordPress, 1.0.b1 и выше, включая 1.1.3
- Akeeba Solo, 1.0.b1 и выше, включая 1.1.2
- Admin Tools Core and Professional, version 2.0.0 и выше, включая 2.4.4. Более поздние версии не подвержены, так как не включают в себя Joomla! update.
- Akeeba CMS Update, version 1.0.a1 и выше, включая 1.0.1
- Joomla! 2.5, 3.0, 3.1, 3.2, 3.3 и выше, включая 3.3.4
Принцип действия
Система восстановления резервных копий и пакетов обновлений использует файл restore.php. В целях защиты от влияния из вне, перед распаковкой создаётся файл restoration.php, содержащий ключ аутентификации, который используется для подписи команд к restore.php. Неподписанные команды restore.php отвергает. restore.php принимает команды _только_ при существовании файла restoration.php. Файл restoration.php удаляется автоматически сразу по завершении операции извлечения архива или распаковки пакета обновлений.
Уязвимость позволяет обойти шифрование и послать restore.php произвольные команды. Злоумышленник может послать специально сформированную команду, которая позволит распаковать удалённый архив на ваш сайт.
Конечно же, для работы уязвимости требуется разрешение URL в функции fopen() и запись на диск на атакуемой машине.
Устранение уязвимости
- Воспользоваться обновлением Akeeba с их сайта www.akeebabackup.com/home/news/1605-security-update-sep-2014.html
- Обновить Joomla! до версии 3.3.5 www.joomla.org/announcements/release-news/5567-joomla-3-3-5-released.html