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

BDU:2024-03781

CVSS: 8.6
06.04.2008

Уязвимость набора компиляторов для различных языков программирования GNU Compiler Collection (GCC), связанная с некорректной обработкой суммы указателя и целого числа, позволяющая нарушителю вызвать отказ в обслуживании или оказать иное воздействие

Уязвимость набора компиляторов для различных языков программирования GNU Compiler Collection (GCC) связана с некорректной обработкой суммы указателя и целого числа как большую или равную указателю без использования преобразований, что может привести к непреднамеренному удалению кода проверки длины. Эксплуатация уязвимости может позволить нарушителю, действующему удаленно, вызвать отказ в обслуживании или оказать иное воздействие
Статус уязвимости:
Подтверждена производителем
Уязвимость устранена
Дата выявления: 06.04.2008
Класс уязвимости: Уязвимость кода
Наличие эксплойта: Данные уточняются
Способ эксплуатации: Манипулирование структурами данных
Способ устранения: Нет данных
Меры по устранению: Установка обновлений из доверенных источников.
В связи со сложившейся обстановкой и введенными санкциями против Российской Федерации рекомендуется устанавливать обновления программного обеспечения только после оценки всех сопутствующих рисков.

Компенсирующие меры:
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

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

Идентификатор, установленный в соответствии с общим перечнем ошибок CWE
Идентификатор Описание
CWE-119 Выполнение операций за пределами буфера памяти
CWE-189 Numeric Error
CWE-733 CWE-733 Compiler Optimization Removal or Modification of Security-critical Code

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

Идентификатор, базы данных общеизвестных уязвимостей информационной безопасности
Идентификатор Описание
CVE-2008-1685 gcc 4.2.0 through 4.3.0 in GNU Compiler Collection, when casts are not used, considers the sum of a pointer and an int to be...

CVSS

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

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

CVE-2008-1685 VU-162289
Вендор:
  • GNU General Public License
Тип ПО:
  • Прикладное ПО информационных систем
Наименование ПО:
  • GNU Compiler Collection
Версия ПО:
  • от 4.2.0 до 4.3.0 включительно (GNU Compiler Collection)
ОС и аппаратные платформы:
  • Linux (-)
  • Ubuntu (-)
  • Debian GNU/Linux (-)
Ссылки на источники:

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