CWE-1335БазаЧерновик
Некорректный побитовый сдвиг целого числа
Для целочисленного значения задаётся сдвиг на отрицательное количество позиций или на количество позиций, большее либо равное количеству битов в этом значении, что приводит к непредвиденному или неопределённому результату.
Открыть в каталоге с фильтром CWE →Связанные CAPEC
—
Связанные уязвимости
CVE-2016-9842Функция inflateMark в inflate.c в zlib 1.2.8 может позволить зависимым от контекста злоумышленникам оказать неуказанное воздействие через векторы, включающие сдвиги влево отрицательных целых чисел.
CVE-2026-5072Уязвимость сдвига в подсистеме PTP Zephyr позволяет удаленному злоумышленнику вызывать неопределенное поведение и потенциальные сбои в системе. Злоумышленник отправляет созданное сообщение PTP_MSG_MANAGEMENT, чтобы установить необосноченное отрицательное значение log_announce_interval в наборе данных порта. Когда последующее сообщение PTP_MSG_ANNOUNCE обрабатывается, port_timer_set_timeout_random вычисляет тайм-аут как NSEC_PER_SEC >> -log_seconds; если значение, поставляемое злоумышленником, достаточно отрицательное (например, -127), величина переключения превышает 64-битную ширину ширины, вызывая неопределенное поведение в C. Это может привести к сбою системы через созданную компилятором незаконную инструкцию на некоторых архитектурах или создать ошибочный нулевой тайм-аут, приводящий к циклам голодания или другим логическим ошибкам.
CVE-2026-4426Недостаток был обнаружен в либерархии. Уязвимость неопределенного поведения существует в логике декомпрессии zisofs, вызванная неправильной валидацией поля (`pz_log2_bs`) считывания из расширений Rock Ridge ISO9660. Удаленный злоумышленник может использовать это, предоставив специально созданный файл ISO. Это может привести к неправильному распределению памяти и потенциальным сбоям в применении, что приведет к состоянию отказа в обслуживании (DoS).
CVE-2023-52810В ядре Linux устранена следующая уязвимость:
fs/jfs: добавьте проверку на отрицательное db_l2nbperpage
l2nbperpage — это log2(количество блоков на странице), и минимальное допустимое значение должно быть 0, а не отрицательным.
В случае, если l2nbperpage является отрицательным, произойдет ошибка при последующем использовании в качестве показателя сдвига.
Syzbot сообщил об этой ошибке:
UBSAN: shift-out-of-bounds in fs/jfs/jfs_dmap.c:799:12
shift exponent -16777216 is negative
CVE-2021-47263В ядре Linux устранена следующая уязвимость:
gpio: wcd934x: Исправьте ошибку сдвига за пределы границ
битовая маска для контактов от 0 до 4 — BIT(0) — BIT(4), однако мы получили BIT(n - 1)
, что неверно, и это было обнаружено приведенной ниже проверкой usban
UBSAN: shift-out-of-bounds in drivers/gpio/gpio-wcd934x.c:34:14
CVE-2023-3161Обнаружена ошибка в Framebuffer Console (fbcon) в ядре Linux. При предоставлении font->width и font->height больше 32 для fbcon_set_font, поскольку нет проверок, происходит сдвиг за пределы, что приводит к неопределенному поведению и возможному отказу в обслуживании.