
Python-скрипт эксплойта для CVE-2023-1874, уязвимости повышения привилегий в плагине WP Data Access для WordPress. Позволяет аутентифицированным пользователям с низкими привилегиями повысить свою роль.
ДАННЫЙ СКРИПТ ПРЕДНАЗНАЧЕН ТОЛЬКО ДЛЯ ИСПОЛЬЗОВАНИЯ В ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЯХ И ЦЕЛЯХ «БЕЛОЙ ШЛЯПЫ». ЛЮБОЕ ЕГО ИСПОЛЬЗОВАНИЕ ПРОТИВ УСТРОЙСТВА, НА КОТОРОЕ У ВАС НЕТ РАЗРЕШЕНИЯ НА ТЕСТИРОВАНИЕ ИЛИ КОТОРОЕ ВАМ НЕ ПРИНАДЛЕЖИТ, ОСУЩЕСТВЛЯЕТСЯ НА ВАШ СОБСТВЕННЫЙ СТРАХ И РИСК. АВТОР ДАННОГО СКРИПТА НЕ НЕСЁТ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ВАШИ ДЕЙСТВИЯ С ЕГО ИСПОЛЬЗОВАНИЕМ. ВСЕ ВАШИ ДЕЙСТВИЯ ОСТАЮТСЯ НА ВАШЕЙ СОВЕСТИ.
CVE-2023-1874 — это уязвимость в плагине WP Data Access версий 5.3.7 и ранее. Злоумышленник может передать опцию wpda_role[] при обновлении профиля для повышения привилегий.
Из NIST:
The WP Data Access plugin for WordPress is vulnerable to privilege escalation in versions up to, and including, 5.3.7. This is due to a lack of authorization checks on the multiple_roles_update function. This makes it possible for authenticated attackers, with minimal permissions such as a subscriber, to modify their user role by supplying the 'wpda_role[]' parameter during a profile update. This requires the 'Enable role management' setting to be enabled for the site.
# not necessary.
#
# these can be manually input as arguments to the script.
#
# theses exports are for ease-of-use.
export TARGETIP=localhost
export TARGETPORT=80
export WPPATH=wordpress
export WPUSERNAME=myuser
export WPPASSWORD=mypass
python3 cve20231874.py $TARGETIP $TARGETPORT -u $WPUSERNAME -p $WPPASSWORD --path $WPPATH