Куда я попал?
SECURITM это SGRC система, ? автоматизирующая процессы в службах информационной безопасности. SECURITM помогает построить и управлять ИСПДн, КИИ, ГИС, СМИБ/СУИБ, банковскими системами защиты.
А еще SECURITM это место для обмена опытом и наработками для служб безопасности.

BDU:2024-01968

CVSS: 7.3
27.02.2024

Уязвимость компонента ia.core.mysqli.php CMS-системы Intelliants Subrion CMS, позволяющая нарушителю выполнять произвольные SQL-запросы

Уязвимость компонента ia.core.mysqli.php CMS-системы Intelliants Subrion CMS связана с непринятием мер по защите структуры запроса SQL. Эксплуатация уязвимости может позволить нарушителю, действующему удалённо, выполнять произвольные SQL-запросы
Статус уязвимости:
Подтверждена производителем
Уязвимость устранена
Дата выявления: 27.02.2024
Класс уязвимости: Уязвимость кода
Наличие эксплойта: Существует в открытом доступе
Способ эксплуатации: Инъекция
Способ устранения: Нет данных
Меры по устранению: Установка обновлений из доверенных источников.
В связи со сложившейся обстановкой и введенными санкциями против Российской Федерации рекомендуется устанавливать обновления программного обеспечения только после оценки всех сопутствующих рисков.

Компенсирующие меры:
1. При поиске числа использовать явное преобразование данных в число.
2. При работе со строками использовать привязку параметров.
3. Проверять, что значение в перечислении строго соответствует строковому объекту перечисления.

Пример использования PDO (для любого поддерживаемого драйвера базы данных):
$stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name');
$stmt->execute([ 'name' => $name ]);

foreach ($stmt as $row) {
// $row
}

Если используется MySQL и PHP 8.2+:
$result = $dbConnection->execute_query('SELECT * FROM employees WHERE name = ?', [$name]);

while ($row = $result->fetch_assoc()) {
// $row
}

Для PHP до версии 8.1:

$stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
$stmt->bind_param('s', $name); // 's' означает тип переменной => 'string'
$stmt->execute();

$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// $row
}

Если используется база данных отличная от MySQL, для других драйверов баз данных существует второй вариант, например, pg_prepare() и pg_execute() для PostgreSQL.

Использование рекомендаций:
https://github.com/intelliants/subrion/issues/910

Идентификатор типа ошибки

Идентификатор, установленный в соответствии с общим перечнем ошибок CWE
Идентификатор Описание
CWE-89 CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Идентификаторы CVE уязвимостей

Идентификатор, базы данных общеизвестных уязвимостей информационной безопасности
Идентификатор Описание
CVE-2024-25400 Subrion CMS 4.2.1 is vulnerable to SQL Injection via ia.core.mysqli.php. NOTE: this is disputed by multiple third parties bec...

CVSS

Система общей оценки уязвимостей
Оценка Severity Версия Базовый вектор
7.5 HIGH 2.0 AV:N/AC:L/Au:N/C:P/I:P/A:P
7.3 HIGH 3.0 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L

Идентификаторы других систем описаний уязвимостей

CVE-2024-25400
Вендор:
  • Intelliants
Тип ПО:
  • Прикладное ПО информационных систем
Наименование ПО:
  • Intelliants Subrion CMS
Версия ПО:
  • 4.2.1 (Intelliants Subrion CMS)
Ссылки на источники:

Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для вас с целью персонализации сервисов и предложений. Вы может прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов и соглашаетесь с Политикой обработки персональных данных.