
SQL-инъекция PoC для CVE-2025-7558. Автор: i-Corner
Краткое описание
Уязвимость, помеченная как критическая, обнаружена в code-projects Voting System 1.0. Затронутым элементом является неизвестная функция файла /admin/positions_add.php. Подобная манипуляция аргументом Description приводит к SQL-инъекции. Данная уязвимость задокументирована как CVE-2025-7558. Атака может быть выполнена удалённо. Кроме того, существует эксплойт.
Подробности
В code-projects Voting System 1.0 обнаружена уязвимость, классифицированная как критическая. Проблема затрагивает неизвестную часть файла /admin/positions_add.php. Манипуляция аргументом description с неизвестными входными данными приводит к уязвимости SQL-инъекции. Описание проблемы с помощью CWE приводит к CWE-89. Продукт формирует всю или часть SQL-команды, используя внешне зависимые входные данные от вышестоящего компонента, но не нейтрализует или некорректно нейтрализует специальные элементы, которые могут изменить предполагаемую SQL-команду при её отправке нижестоящему компоненту. Затронуты конфиденциальность, целостность и доступность.
Данная уязвимость обрабатывается как CVE-2025-7558. Известно, что эксплуатация проста. Атака может быть запущена удалённо. Известны технические детали, а также публичный эксплойт. Проект MITRE ATT&CK определяет технику атаки как T1505.
Эксплойт доступен и объявлен как proof-of-concept. Используя поиск inurl:admin/positions_add.php, можно найти уязвимые цели с помощью Google Hacking.
Информации о возможных мерах противодействия нет. Можно предложить заменить затронутый объект альтернативным продуктом.
Уязвимость также задокументирована в базе данных уязвимостей EUVD (EUVD-2025-21289). Запись, связанная с этой уязвимостью, доступна в VDB-225935.
===========================================================================
SQL-инъекция PoC для CVE-2025-7558. автор: i-Corner https://github.com/i-Corner
https://github.com/i-Corner/cve/issues/6
я не претендую на авторство этой работы.
CVE-2025-7558
Уязвимый файл: /admin/positions_add.php
Анализ кода
В /admin/positions_add.php параметры, введённые пользователем (например, параметр description), напрямую конкатенируются в SQL-запрос, что приводит к уязвимости SQL-инъекции.
$description = $_POST['description'];
$max_vote = $_POST['max_vote'];
$sql = "SELECT * FROM positions ORDER BY priority DESC LIMIT 1";
$query = $conn->query($sql);
$row = $query->fetch_assoc();
$priority = $row['priority'] + 1;
$sql = "INSERT INTO positions (description, max_vote, priority) VALUES ('$description', '$max_vote', '$priority')";
if($conn->query($sql)){
используйте sqlmap с PoC.txt и этой командой:
python .\sqlmap.py -r .\PoC.txt --dbs --batch
