CWE-561БазаЧерновик
Мёртвый код
Продукт содержит мёртвый код, который никогда не может быть выполнен.
Открыть в каталоге с фильтром CWE →Связанные CAPEC
—
Связанные уязвимости
CVE-2018-0039В выпусках Juniper Networks Contrail Service Orchestration до версии 4.0.0 служба Grafana включена по умолчанию с жестко заданными учетными данными. Эти учетные данные позволяют злоумышленникам, находящимся в сети, получить несанкционированный доступ к информации, хранящейся в Grafana, или использовать другие слабые места или уязвимости в Grafana.
CVE-2025-34205В Vasion Print (ранее PrinterLogic) Virtual Appliance Host версии < 22.0.843 и Application версии < 20.0.1923 обнаружен скрипт /resetroot.php, доступный без аутентификации. При вызове скрипт обновляет в базе запись администратора, устанавливая логин «root» и пароль‑хеш SHA‑512 от строки «password». Кроме того, в файле /var/www/app/lib/common/oses.php оставлен закомментированный код, который при повторном включении может выполнять небезопасную десериализацию $_SESSION['osdata']. Атакующий может тем самым полностью захватить базу и выполнить произвольный код. Уязвимость классифицирована как V‑2023‑003 (Dead / Insecure PHP Code). Подробнее – отчёты на pierrekim.github.io, Security Bulletins Vasion Print SaaS и VA [1][2][3].
Источники:
- [1] https://pierrekim.github.io/blog/2025-04-08-vasion-printerlogic-83-vulnerabilities.html#va-dead-code
- [2] https://help.printerlogic.com/saas/Print/Security/Security-Bulletins.htm
- [3] https://help.printerlogic.com/va/Print/Security/Security-Bulletins.htm
CVE-2018-16543В Artifex Ghostscript до версии 9.24 gssetresolution и gsgetresolution позволяют злоумышленникам оказывать неуказанное воздействие.
CVE-2024-8300Уязвимость мертвого кода в ICONICS GENESIS64 версии 10.97.2, 10.97.2 CFR1, 10.97.2 CRF2 и 10.97.3 и Mitsubishi Electric GENESIS64 версии 10.97.2, 10.97.2 CFR1, 10.97.2 CRF2 и 10.97.3 позволяет локальному аутентифицированному злоумышленнику выполнять вредоносный код, подделывая специально созданную DLL. Это может привести к раскрытию, подделке, уничтожению или удалению информации в затронутых продуктах или вызвать отказ в обслуживании (DoS) продуктов.
CVE-2024-32634В проверке не отображаемой области при получении огромного объема памяти код никогда не может быть достигнут из-за логического противоречия.
CVE-2023-52828В ядре Linux устранена следующая уязвимость:
bpf: Обнаружение IP == ksym.end как части программы BPF
Теперь, когда bpf_throw kfunc является первой такой инструкцией вызова, которая имеет семантику noreturn в верификаторе, это также запускает устранение мертвого кода беспрецедентными способами. Во-первых, любая инструкция, следующая за вызовом bpf_throw, никогда не будет помечена как просмотренная. Более того, если цепочка вызовов заканчивается генерацией исключения, любые инструкции после инструкции вызова в конечном итоге генерирующей исключение подпрограммы в вызывающих абонентах также никогда не будут помечены как просмотренные.
Заманчивый способ исправить это - сгенерировать дополнительные инструкции 'int3', которые увеличивают jited_len программы и гарантируют, что во время выполнения, когда программа генерирует исключение, мы сможем обнаружить ее границы, даже если инструкция вызова bpf_throw (или подпрограмм, которые всегда генерируют исключение) выдается как последняя инструкция в программе.
Примером такой программы может быть:
do_something():
...
r0 = 0
exit
foo():
r1 = 0
call bpf_throw
r0 = 0
exit
bar(cond):
if r1 != 0 goto pc+2
call do_something
exit
call foo
r0 = 0 // Никогда не просматривается верификатором
exit //
main(ctx):
r1 = ...
call bar
r0 = 0
exit
Здесь, если мы все же сгенерируем исключение, трассировка стека будет следующей:
bpf_throw
foo
bar
main
В bar последней выданной инструкцией будет вызов foo, как таковой, обратный адрес будет следующей инструкцией (которую JIT выдает как int3 на x86). Это окажется за пределами jited_len программы, таким образом, при раскрутке мы не сможем обнаружить, что обратный адрес принадлежит какой-либо программе, и в конечном итоге запаникуем из-за ненадежной раскрутки стека программ BPF, чего мы никогда не ожидаем.
Чтобы исправить этот случай, заставьте bpf_prog_ksym_find рассматривать IP == ksym.end как часть программы BPF, чтобы is_bpf_text_address возвращала true, когда происходит такой случай, и мы могли надежно раскручиваться, когда последняя инструкция оказывается инструкцией вызова.
CVE-2022-33685Незащищенный динамический приемник в Wearable Manager Service до SMR Jul-2022 Release 1 позволяет злоумышленнику запускать произвольные действия и получать доступ к конфиденциальной информации.
CVE-2022-30748Незарегистрированный динамический приемник в Samsung Members до версии 4.2.005 позволяет злоумышленнику запустить произвольное действие.
CVE-2017-17862kernel/bpf/verifier.c в ядре Linux до версии 4.14.8 игнорирует недостижимый код, даже если он все равно будет обрабатываться JIT-компиляторами. Такое поведение, также рассматриваемое как проблема неправильной логики отсечения ветвей, потенциально может быть использовано локальными пользователями для отказа в обслуживании.
CVE-2022-33726Незащищенный динамический приемник в Samsung Galaxy Friends до SMR Aug-2022 Release 1 позволяет злоумышленнику запускать действие.
CVE-2021-25398Уязвимость перенаправления намерений в Bixby Voice до версии 3.1.12 позволяет злоумышленнику получать доступ к контактам.
CVE-2026-44057Проверка мертвых границ в немаршалере Spotlight RPC в Netatalk 3.0.0-4.4.2 приводит к недостижимому пути кода, который не обеспечивает эффективную защиту границ, что может позволить удаленному аутентифицированному злоумышленнику получать ограниченную информацию с помощью созданных запросов Spotlight RPC.