CWE-366БазаЧерновик
Состояние гонки внутри потока
Если два потока выполнения одновременно используют ресурс, существует вероятность использования ресурсов в недопустимом состоянии, что в свою очередь приводит к неопределённому состоянию выполнения.
Открыть в каталоге с фильтром CWE →Связанные CAPEC
Связанные уязвимости
CVE-2025-58143В коде viridian обнаружены множественные проблемы, связанные с обработкой и доступом к страницам памяти гостевой системы:
1. NULL-указатель разыменования при обновлении области ссылок TSC. Это CVE-2025-27466.
2. NULL-указатель разыменования при предположении, что страница SIM отображена, когда необходимо доставить синтетическое сообщение таймера. Это CVE-2025-58142.
3. Гонка при отображении страницы ссылок TSC, когда гость может заставить Xen освободить страницу, все еще присутствующую в таблицах страниц гостевой физической машины (p2m). Это CVE-2025-58143 [1].
Источники:
- [1] https://xenbits.xenproject.org/xsa/advisory-472.html
CVE-2025-31115XZ Utils предоставляет библиотеку сжатия данных общего назначения и инструменты командной строки. В XZ Utils 5.3.3alpha до 5.8.0, многопоточный .xz декодер в liblzma имеет ошибку, при которой недопустимый ввод может как минимум привести к сбою. Последствия включают использование кучи после освобождения и запись по адресу, основанному на нулевом указателе плюс смещение. Приложения и библиотеки, использующие функцию lzma_stream_decoder_mt, затрагиваются. Ошибка была исправлена в XZ Utils 5.8.1, и исправление было включено в ветки v5.4, v5.6, v5.8 и master в репозитории xz Git. Новые пакеты сборки не будут создаваться из старых стабильных веток, но доступно независимое исправление, которое применимо ко всем затронутым версиям.
CVE-2021-39686В нескольких функциях binder.c есть способ представления неверного домена SELinux из-за состояния гонки. Это может привести к локальной эскалации привилегий без каких-либо дополнительных прав на выполнение. Для эксплуатации не требуется взаимодействие с пользователем. Продукт: Android. Версии: ядро Android. Android ID: A-200688826. Ссылки: Upstream kernel.
CVE-2021-26569Состояние гонки в потоке в iscsi_snapshot_comm_core в Synology DiskStation Manager (DSM) до 6.2.3-25426-3 позволяет удаленным злоумышленникам выполнять произвольный код через созданные веб-запросы.
CVE-2015-10067В oznetmaster SSharpSmartThreadPool была обнаружена уязвимость, классифицированная как проблематичная. Это затрагивает неизвестную часть файла SSharpSmartThreadPool/SmartThreadPool.cs. Манипуляция приводит к состоянию гонки в потоке. Сложность атаки довольно высока. Эксплуатируемость считается затруднительной. Патч называется 0e58073c831093aad75e077962e9fb55cad0dc5f. Рекомендуется применить патч для исправления этой проблемы. Связанный идентификатор этой уязвимости — VDB-218463.
CVE-2023-39198В драйвере QXL в ядре Linux была обнаружена ситуация гонки. Функция qxl_mode_dumb_create() разыменовывает qobj, возвращаемый функцией qxl_gem_object_create_with_handle(), но дескриптор является единственным, кто удерживает ссылку на него. Эта уязвимость позволяет злоумышленнику угадать возвращенное значение дескриптора и вызвать проблему использования после освобождения, что потенциально может привести к отказу в обслуживании или повышению привилегий.
CVE-2022-1729Обнаружено состояние гонки в ядре Linux в perf_event_open(), которое может быть использовано непривилегированным пользователем для получения привилегий root. Ошибка позволяет создавать несколько примитивов эксплойтов, таких как утечка информации об адресе ядра, произвольное выполнение и т. д.
CVE-2024-10630Состояние гонки в Ivanti Application Control Engine до версии 10.14.4.0 позволяет локальному аутентифицированному злоумышленнику обойти функциональность блокировки приложений.
CVE-2023-6546В GSM 0710 tty multiplexor в ядре Linux обнаружено состояние гонки. Эта проблема возникает, когда два потока выполняют ioctl GSMIOC_SETCONF на одном и том же файловом дескрипторе tty с включенной дисциплиной линии gsm, и может привести к проблеме использования после освобождения в struct gsm_dlci при перезапуске gsm mux. Это может позволить локальному непривилегированному пользователю повысить свои привилегии в системе.
CVE-2026-3904Calling NSS-backed functions that support caching via nscd may call the
nscd client side code and in the GNU C Library version 2.36 under high
load on x86_64 systems, the client may call memcmp on inputs that are
concurrently modified by other processes or threads and crash.
The nscd client in the GNU C Library uses the memcmp function with
inputs that may be concurrently modified by another thread, potentially
resulting in spurious cache misses, which in itself is not a security
issue. However in the GNU C Library version 2.36 an optimized
implementation of memcmp was introduced for x86_64 which could crash
when invoked with such undefined behaviour, turning this into a
potential crash of the nscd client and the application that uses it.
This implementation was backported to the 2.35 branch, making the nscd
client in that branch vulnerable as well. Subsequently, the fix for
this issue was backported to all vulnerable branches in the GNU C
Library repository.
It is advised that distributions that may have cherry-picked the memcpy
SSE2 optimization in their copy of the GNU C Library, also apply the fix
to avoid the potential crash in the nscd client.
CVE-2026-23684A race condition vulnerability exists in the SAP Commerce cloud. Because of this when an attacker adds products to a cart, it may result in a cart entry being created with erroneous product value which could be checked out. This leads to high impact on data integrity, with no impact on data confidentiality or availability of the application.
CVE-2023-4127Состояние гонки в потоке в репозитории GitHub answerdev/answer до версии v1.1.1.
CVE-2020-1629Уязвимость состояния гонки на устройствах Juniper Network Junos OS может привести к сбою и перезапуску процесса демона протокола маршрутизации (RPD) во время обработки сообщения BGP NOTIFICATION. Эта проблема затрагивает Juniper Networks Junos OS: версии 16.1 до 16.1R7-S6; версии 16.2 до 16.2R2-S11; версии 17.1 до 17.1R2-S11, 17.1R3-S1; версии 17.2 до 17.2R1-S9, 17.2R3-S3; версия 17.2 17.2R2 и более поздние версии; версии 17.2X75 до 17.2X75-D105, 17.2X75-D110; версии 17.3 до 17.3R2-S5, 17.3R3-S6; версии 17.4 до 17.4R2-S7, 17.4R3; версии 18.1 до 18.1R3-S8; версии 18.2 до 18.2R3-S3; версии 18.2X75 до 18.2X75-D410, 18.2X75-D420, 18.2X75-D50, 18.2X75-D60; версии 18.3 до 18.3R1-S5, 18.3R2-S2, 18.3R3; версии 18.4 до 18.4R2-S2, 18.4R3; версии 19.1 до 19.1R1-S2, 19.1R2; версии 19.2 до 19.2R1-S4, 19.2R2. Эта проблема не затрагивает Juniper Networks Junos OS до версии 16.1R1.
CVE-2024-26798В ядре Linux устранена следующая уязвимость:
fbcon: всегда восстанавливать старые данные шрифта в fbcon_do_set_font()
Коммит a5a923038d70 (fbdev: fbcon: Правильно откатывать изменения при сбое vc_resize()) начал восстанавливать старые данные шрифта при сбое (vc_resize()). Но он выполняет это только для пользовательских шрифтов. Это означает, что «системные»/внутренние шрифты вообще не восстанавливаются. Таким образом, в результате, самый первый вызов fbcon_do_set_font() вообще не выполняет восстановление при сбое vc_resize().
Это можно воспроизвести с помощью Syzkaller, чтобы вызвать сбой системы при следующем вызове font_get(). Довольно сложно столкнуться со сбоем выделения в vc_resize() при первом font_set(), но не невозможно. Особенно, если для облегчения выполнения/сбоя используется инъекция ошибок. Это было продемонстрировано Sirius:
BUG: unable to handle page fault for address: fffffffffffffff8
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD cb7b067 P4D cb7b067 PUD cb7d067 PMD 0
Oops: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 8007 Comm: poc Not tainted 6.7.0-g9d1694dc91ce #20
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
RIP: 0010:fbcon_get_font+0x229/0x800 drivers/video/fbdev/core/fbcon.c:2286
Call Trace:
<TASK>
con_font_get drivers/tty/vt/vt.c:4558 [inline]
con_font_op+0x1fc/0xf20 drivers/tty/vt/vt.c:4673
vt_k_ioctl drivers/tty/vt/vt_ioctl.c:474 [inline]
vt_ioctl+0x632/0x2ec0 drivers/tty/vt/vt_ioctl.c:752
tty_ioctl+0x6f8/0x1570 drivers/tty/tty_io.c:2803
vfs_ioctl fs/ioctl.c:51 [inline]
...
Поэтому восстанавливайте данные шрифта в любом случае, а не только для пользовательских шрифтов. Обратите внимание, что более позднее «if» теперь защищено «old_userfont», а не «old_data», поскольку последнее всегда установлено сейчас. (И предполагается, что оно не NULL. В противном случае мы снова увидим ошибку выше.)
CVE-2024-26796В ядре Linux устранена следующая уязвимость:
drivers: perf: функция ctr_get_width для legacy не определена
С параметрами CONFIG_RISCV_PMU_LEGACY=y и CONFIG_RISCV_PMU_SBI=n ядро Linux падает при попытке perf record:
$ perf record ls
[ 46.749286] Невозможно обработать разыменование нулевого указателя ядра по виртуальному адресу 0000000000000000
[ 46.750199] Oops [#1]
[ 46.750342] Связанные модули:
[ 46.750608] CPU: 0 PID: 107 Comm: perf-exec Not tainted 6.6.0 #2
[ 46.750906] Имя оборудования: riscv-virtio,qemu (DT)
[ 46.751184] epc : 0x0
[ 46.751430] ra : arch_perf_update_userpage+0x54/0x13e
[ 46.751680] epc : 0000000000000000 ra : ffffffff8072ee52 sp : ff2000000022b8f0
[ 46.751958] gp : ffffffff81505988 tp : ff6000000290d400 t0 : ff2000000022b9c0
[ 46.752229] t1 : 0000000000000001 t2 : 0000000000000003 s0 : ff2000000022b930
[ 46.752451] s1 : ff600000028fb000 a0 : 0000000000000000 a1 : ff600000028fb000
[ 46.752673] a2 : 0000000ae2751268 a3 : 00000000004fb708 a4 : 0000000000000004
[ 46.752895] a5 : 0000000000000000 a6 : 000000000017ffe3 a7 : 00000000000000d2
[ 46.753117] s2 : ff600000028fb000 s3 : 0000000ae2751268 s4 : 0000000000000000
[ 46.753338] s5 : ffffffff8153e290 s6 : ff600000863b9000 s7 : ff60000002961078
[ 46.753562] s8 : ff60000002961048 s9 : ff60000002961058 s10: 0000000000000001
[ 46.753783] s11: 0000000000000018 t3 : ffffffffffffffff t4 : ffffffffffffffff
[ 46.754005] t5 : ff6000000292270c t6 : ff2000000022bb30
[ 46.754179] status: 0000000200000100 badaddr: 0000000000000000 cause: 000000000000000c
[ 46.754653] Code: Невозможно получить доступ к инструкции по адресу 0xffffffffffffffec.
[ 46.754939] ---[ end trace 0000000000000000 ]---
[ 46.755131] note: perf-exec[107] exited with irqs disabled
[ 46.755546] note: perf-exec[107] exited with preempt_count 4
Это происходит потому, что в устаревшем случае функция ctr_get_width не была определена, но она используется в arch_perf_update_userpage.
Также удалите дополнительную проверку в riscv_pmu_ctr_get_width_mask.