Куда я попал?
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 The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.

Идентификаторы 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-файлов и соглашаетесь с Политикой обработки персональных данных.