BDU:2024-03781: Уязвимость набора компиляторов для различных языков программирования GNU Compiler Collection (GCC), связанная с некорректной обработкой суммы указателя и целого числа, позволяющая нарушителю вызвать отказ в обслуживании или оказать иное воздействие
Детали уязвимости BDU:2024-03781
Описание
Уязвимость набора компиляторов для различных языков программирования GNU Compiler Collection (GCC) связана с некорректной обработкой суммы указателя и целого числа как большую или равную указателю без использования преобразований, что может привести к непреднамеренному удалению кода проверки длины. Эксплуатация уязвимости может позволить нарушителю, действующему удаленно, вызвать отказ в обслуживании или оказать иное воздействие
Что делать с BDU:2024-03781
Высокая уязвимость (CVSS 8.6) должна быть устранена в приоритетном порядке. Рекомендуемый срок — 7 дней по приказу ФСТЭК №117. Проверьте список затронутого ПО ниже и запланируйте обновление.
Используйте калькулятор CVSS для пересчёта с учётом вашей среды. Автоматизируйте мониторинг через модуль БДУ ФСТЭК в КиберОснова.
Оценка критичности (CVSS)
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:HAV:N/AC:L/Au:N/C:P/I:P/A:CCVE — международный идентификатор
Программа выполняет операции с буфером без проверки границ. Классическая уязвимость, приводящая к выполнению кода.
Как атакуют и что делать ▾
Сценарий атаки
Входные данные превышают размер буфера. Перезаписываются адреса возврата, указатели функций, управляющие структуры.
Последствия
Выполнение произвольного кода, полный захват процесса.
Рекомендации
Используйте безопасные функции работы с памятью, включите защиту стека (SSP), ASLR, DEP.
Тактики и техники
Уязвимое ПО (1)
| Вендор | Название | Версия | Платформа |
|---|---|---|---|
| GNU General Public License | GNU Compiler Collection | от 4.2.0 до 4.3.0 включительно | Не указана |
Среды функционирования (3)
| Вендор | Название | Версия | Платформа |
|---|---|---|---|
| Сообщество свободного программного обеспечения | Linux | - | Не указана |
| Canonical Ltd. | Ubuntu | - | Не указана |
| Сообщество свободного программного обеспечения | Debian GNU/Linux | - | Не указана |
Рекомендации по устранению
Установка обновлений из доверенных источников. В связи со сложившейся обстановкой и введенными санкциями против Российской Федерации рекомендуется устанавливать обновления программного обеспечения только после оценки всех сопутствующих рисков. Компенсирующие меры: 1. Использование предупреждений: Активация предупреждений с помощью опции -Wstrict-overflow=N (где N >= 3), что позволяет выявить потенциально уязвимые места в коде. 2. Настройка оптимизаций: Контроль оптимизаций с использованием опций -fstrict-overflow и -fno-strict-overflow для настройки поведения компилятора в отношении переполнения указателей. Опция -fstrict-overflow позволяет включить оптимизации переполнений на уровне -O1, что повышает производительность, но с риском возникновения ошибок. Опция -fno-strict-overflow, наоборот, отключает эти оптимизации для уровней -O2 и выше, что делает компиляцию более безопасной за счет отказа от рискованных оптимизаций. 3. Приведение объектов типа char* к uintptr_t перед сравнением. Пример: #include <stdint.h> [...] if((uintptr_t)buf + len < (uintptr_t)buf) { [...] } Приведение указателей к целочисленному типу uintptr_t позволяет избежать некорректных сравнений, связанных с переполнением. Использование uintptr_t гарантирует, что сравнение будет корректным, даже если сумма указателя и длины приведет к переполнению. 4. Использование типа size_t на платформах, где uintptr_t недоступен. #include <stddef.h> [...] if((size_t)buf + len < (size_t)buf) { [...] } Тип size_t предназначен для представления размеров объектов. На платформах без поддержки uintptr_t, использование size_t позволяет избежать ошибок, связанных с переполнением указателей, обеспечивая корректное сравнение. 5. Следование правилам безопасного кодирования, описанным в руководстве CERT C Secure Coding, в частности, правилу ARR38-C. Использование рекомендаций производителя: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26763
SLA ФСТЭК №117
7 дней
по базовой оценке CVSS 8.6
Уточните SLA под вашу среду
Базовый балл 8.6 не учитывает инфраструктуру. Задайте Environmental-метрики (CR/IR/AR) в калькуляторе — SLA пересчитается автоматически.
Пересчитать CVSS с учётом средыThreat Intelligence
SSVC: Отслеживать (повышенный)
Умеренный риск. Включите в плановый цикл обновлений, следите за изменением EPSS.
Вероятность эксплуатации в 30 дней (FIRST EPSS)
Информация
Обнаружена
2008-04-06
Опубликована
2024-05-16
Обновлена
2024-05-16
Эксплойт
Данные уточняются
Исправление
Уязвимость устранена
Статус
Подтверждена производителем
Управляйте уязвимостями, а не таблицами
Платформа автоматически подтягивает новые записи из БДУ, привязывает к вашим активам и считает SLA по приказу №117 — без ручного мониторинга.
- Уязвимости → активы → ответственные — цепочка за минуту
- SLA-таймеры и эскалация — дедлайны не горят
- PDF-отчёт для ФСТЭК — за один клик
Внешние ресурсы
Связанные уязвимости
Что добавляет КиберОснова к данным БДУ ФСТЭК
CVSS v4.0 + калькулятор
Единственный бесплатный калькулятор CVSS v4.0 на русском языке
SLA по приказу №117
Автоматический расчёт сроков устранения: 24ч, 7дн, 30дн
EPSS + CISA KEV
Оценка вероятности эксплуатации и статус активных атак
Полнотекстовый поиск
По названию, CVE, CWE, описанию — русский и английский
Связанные уязвимости
Автоматический подбор по затронутому ПО
Мобильная версия
Адаптивный интерфейс для работы с телефона и планшета
Автоматизируйте управление уязвимостями
КиберОснова SGRC: БДУ ФСТЭК + CVSS + SLA по приказу №117 в одном интерфейсе.