KVM: Always flush async #PF workqueue when vCPU is being destroyed
Оценка Noroxi
Приоритет: Наблюдать (оценка срочности 31/100)
- В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
- Вероятность эксплуатации в ближайшие 30 дней: 0,26% (FIRST EPSS).
- Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
- Исправленная версия: Linux Linux 3d75b8aa5c29058a512db29da7cbee8052724157, 4f3a3bce428fb439c66a578adc447afce7b4a750, 82e25cc1c2e93c3023da98be282322fc08b61ffb.
- Упоминается в национальных бюллетенях кибербезопасности Турции (siberguvenlik.gov.tr): 1.
Пока низкий приоритет. Обновитесь до Linux Linux 3d75b8aa5c29058a512db29da7cbee8052724157, 4f3a3bce428fb439c66a578adc447afce7b4a750, 82e25cc1c2e93c3023da98be282322fc08b61ffb или новее.
Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем
Первоисточники: NVD · CVE.org · FIRST EPSS
In the Linux kernel, the following vulnerability has been resolved: KVM: Always flush async #PF workqueue when vCPU is being destroyed Always flush the per-vCPU async #PF workqueue when a vCPU is clearing its completion queue, e.g. when a VM and all its vCPUs is being destroyed. KVM must ensure that none of its workqueue callbacks is running when the last reference to the KVM _module_ is put. Gifting a reference to the associated VM prevents the workqueue callback from dereferencing freed vCPU/VM memory, but does not prevent the KVM module from being unloaded before the callback completes. Drop the misguided VM refcount gifting, as calling kvm_put_kvm() from async_pf_execute() if kvm_put_kvm() flushes the async #PF workqueue will result in deadlock. async_pf_execute() can't return until kvm_put_kvm() finishes, and kvm_put_kvm() can't return until async_pf_execute() finishes: WARNING: CPU: 8 PID: 251 at virt/kvm/kvm_main.c:1435 kvm_put_kvm+0x2d/0x320 [kvm] Modules linked in: vhost_net vhost vhost_iotlb tap kvm_intel kvm irqbypass CPU: 8 PID: 251 Comm: kworker/8:1 Tainted: G W 6.6.0-rc1-e7af8d17224a-x86/gmem-vm #119 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 Workqueue: events async_pf_execute [kvm] RIP: 0010:kvm_put_kvm+0x2d/0x320 [kvm] Call Trace: <TASK> async_pf_execute+0x198/0x260 [kvm] process_one_work+0x145/0x2d0 worker_thread+0x27e/0x3a0 kthread+0xba/0xe0 ret_from_fork+0x2d/0x50 ret_from_fork_asm+0x11/0x20 </TASK> ---[ end trace 0000000000000000 ]--- INFO: task kworker/8:1:251 blocked for more than 120 seconds. Tainted: G W 6.6.0-rc1-e7af8d17224a-x86/gmem-vm #119 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:kworker/8:1 state:D stack:0 pid:251 ppid:2 flags:0x00004000 Workqueue: events async_pf_execute [kvm] Call Trace: <TASK> __schedule+0x33f/0xa40 schedule+0x53/0xc0 schedule_timeout+0x12a/0x140 __wait_for_common+0x8d/0x1d0 __flush_work.isra.0+0x19f/0x2c0 kvm_clear_async_pf_completion_queue+0x129/0x190 [kvm] kvm_arch_destroy_vm+0x78/0x1b0 [kvm] kvm_put_kvm+0x1c1/0x320 [kvm] async_pf_execute+0x198/0x260 [kvm] process_one_work+0x145/0x2d0 worker_thread+0x27e/0x3a0 kthread+0xba/0xe0 ret_from_fork+0x2d/0x50 ret_from_fork_asm+0x11/0x20 </TASK> If kvm_clear_async_pf_completion_queue() actually flushes the workqueue, then there's no need to gift async_pf_execute() a reference because all invocations of async_pf_execute() will be forced to complete before the vCPU and its VM are destroyed/freed. And that in turn fixes the module unloading bug as __fput() won't do module_put() on the last vCPU reference until the vCPU has been freed, e.g. if closing the vCPU file also puts the last reference to the KVM module. Note that kvm_check_async_pf_completion() may also take the work item off the completion queue and so also needs to flush the work queue, as the work will not be seen by kvm_clear_async_pf_completion_queue(). Waiting on the workqueue could theoretically delay a vCPU due to waiting for the work to complete, but that's a very, very small chance, and likely a very small delay. kvm_arch_async_page_present_queued() unconditionally makes a new request, i.e. will effectively delay entering the guest, so the remaining work is really just: trace_kvm_async_pf_completed(addr, cr2_or_gpa); __kvm_vcpu_wake_up(vcpu); mmput(mm); and mmput() can't drop the last reference to the page tables if the vCPU is still alive, i.e. the vCPU won't get stuck tearing down page tables. Add a helper to do the flushing, specifically to deal with "wakeup all" work items, as they aren't actually work items, i.e. are never placed in a workqueue. Trying to flush a bogus workqueue entry rightly makes __flush_work() complain (kudos to whoever added that sanity check). Note, commit 5f6de5cbebee ("KVM: Prevent module exit until al ---truncated---
- Опубликовано
- 1 мая 2024 г.
- Обновлено
- 5 авг. 2026 г.
- EPSS
- 0,2 % · 17-й процентиль
- CWE
- CWE-400
Инструменты для отчёта
Оценка срочности
31
Наблюдать
Пока низкий приоритет.
- CVSS
- 31 / 40 · 7.8 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,2 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- нет
- Техническое влияние
- полное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · Linux
- 7,8
- NVD ещё не выставил свою оценку; показана оценка CNA.
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Публичного эксплойта нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
| Вендор | Продукт | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
| debian | debian linux | cpe:2.3:o:debian:debian_linux |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- debian debian linux10.0
- linux linux kernel4.20 и новее · до 5.4.274
- linux linux kernel5.5 и новее · до 5.10.215
- linux linux kernel5.11 и новее · до 5.15.154
- linux linux kernel2.6.38 и новее · до 4.19.312
- linux linux kernel6.2 и новее · до 6.6.24
- linux linux kernel6.7 и новее · до 6.7.12
- linux linux kernel6.8 и новее · до 6.8.3
- linux linux kernel5.16 и новее · до 6.1.84
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.
Linux Linux
- 2.6.38затронута
- af585b921e5d1e919947c4b1164b59507fe7cd7b и новее · до ab2c2f5d9576112ad22cfd3798071cb74693b1f5затронута · git
- af585b921e5d1e919947c4b1164b59507fe7cd7b и новее · до 82e25cc1c2e93c3023da98be282322fc08b61ffbзатронута · git
- af585b921e5d1e919947c4b1164b59507fe7cd7b и новее · до f8730d6335e5f43d09151fca1f0f41922209a264затронута · git
- af585b921e5d1e919947c4b1164b59507fe7cd7b и новее · до 83d3c5e309611ef593e2fcb78444fc8ceedf9bacзатронута · git
- af585b921e5d1e919947c4b1164b59507fe7cd7b и новее · до b54478d20375874aeee257744dedfd3e413432ffзатронута · git
- af585b921e5d1e919947c4b1164b59507fe7cd7b и новее · до a75afe480d4349c524d9c659b1a5a544dbc39a98затронута · git
- af585b921e5d1e919947c4b1164b59507fe7cd7b и новее · до 4f3a3bce428fb439c66a578adc447afce7b4a750затронута · git
- af585b921e5d1e919947c4b1164b59507fe7cd7b и новее · до caa9af2e27c275e089d702cfbaaece3b42bca31bзатронута · git
- af585b921e5d1e919947c4b1164b59507fe7cd7b и новее · до 3d75b8aa5c29058a512db29da7cbee8052724157затронута · git
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| AlmaLinux:8 | bpftool | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-abi-stablelists | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-core | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-cross-headers | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-debug | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-debug-core | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-debug-devel | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-debug-modules | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-debug-modules-extra | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-devel | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-doc | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-headers | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-modules | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-modules-extra | до 4.18.0-553.27.1.el8_10 | 4.18.0-553.27.1.el8_10 |
| AlmaLinux:8 | kernel-rt | до 4.18.0-553.27.1.rt7.368.el8_10 | 4.18.0-553.27.1.rt7.368.el8_10 |
| AlmaLinux:8 | kernel-rt-core | до 4.18.0-553.27.1.rt7.368.el8_10 | 4.18.0-553.27.1.rt7.368.el8_10 |
| AlmaLinux:8 | kernel-rt-debug | до 4.18.0-553.27.1.rt7.368.el8_10 | 4.18.0-553.27.1.rt7.368.el8_10 |
| AlmaLinux:8 | kernel-rt-debug-core | до 4.18.0-553.27.1.rt7.368.el8_10 | 4.18.0-553.27.1.rt7.368.el8_10 |
| AlmaLinux:8 | kernel-rt-debug-devel | до 4.18.0-553.27.1.rt7.368.el8_10 | 4.18.0-553.27.1.rt7.368.el8_10 |
| AlmaLinux:8 | kernel-rt-debug-modules | до 4.18.0-553.27.1.rt7.368.el8_10 | 4.18.0-553.27.1.rt7.368.el8_10 |
| AlmaLinux:8 | kernel-rt-debug-modules-extra | до 4.18.0-553.27.1.rt7.368.el8_10 | 4.18.0-553.27.1.rt7.368.el8_10 |
| AlmaLinux:8 | kernel-rt-devel | до 4.18.0-553.27.1.rt7.368.el8_10 | 4.18.0-553.27.1.rt7.368.el8_10 |
| AlmaLinux:8 | kernel-rt-modules | до 4.18.0-553.27.1.rt7.368.el8_10 | 4.18.0-553.27.1.rt7.368.el8_10 |
+96
Тот же продукт
linux: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2022-0847A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe KEV89Срочно
- CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV85Срочно
- CVE-2016-5195Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by leveraging incorrect haKEV83Срочно
Опубликованы до и после этой записи в том же продукте
- ← РаньшеCVE-2024-269711 мая 2024 г. · clk: qcom: gcc-ipq5018: fix terminating of frequency table arrays22Наблюдать
- ← РаньшеCVE-2024-269751 мая 2024 г. · powercap: intel_rapl: Fix a NULL pointer dereference22Наблюдать
- Позже →CVE-2024-269771 мая 2024 г. · pci_iounmap(): Fix MMIO mapping leak22Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Linux Linux | 3d75b8aa5c29058a512db29da7cbee8052724157 | Вендор (CNA) |
| Linux Linux | 4f3a3bce428fb439c66a578adc447afce7b4a750 | Вендор (CNA) |
| Linux Linux | 82e25cc1c2e93c3023da98be282322fc08b61ffb | Вендор (CNA) |
| Linux Linux | 83d3c5e309611ef593e2fcb78444fc8ceedf9bac | Вендор (CNA) |
| Linux Linux | a75afe480d4349c524d9c659b1a5a544dbc39a98 | Вендор (CNA) |
| Linux Linux | ab2c2f5d9576112ad22cfd3798071cb74693b1f5 | Вендор (CNA) |
| Linux Linux | b54478d20375874aeee257744dedfd3e413432ff | Вендор (CNA) |
| Linux Linux | caa9af2e27c275e089d702cfbaaece3b42bca31b | Вендор (CNA) |
| Linux Linux | f8730d6335e5f43d09151fca1f0f41922209a264 | Вендор (CNA) |
| almalinux:bpftool | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:kernel | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:kernel-abi-stablelists | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:kernel-core | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:kernel-cross-headers | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:kernel-debug | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:kernel-debug-core | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:kernel-debug-devel | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:kernel-debug-modules | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:kernel-debug-modules-extra | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:kernel-devel | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:kernel-doc | 4.18.0-553.27.1.el8_10 · AlmaLinux:8 | Реестр пакетов (OSV) |
| debian:linux | 6.1.85-1 · Debian:12 | Реестр пакетов (OSV) |
| red hat:bpftool | 0:4.18.0-553.27.1.el8_10 · Red Hat:enterprise_linux:8::baseos | Реестр пакетов (OSV) |
| red hat:bpftool-debuginfo | 0:4.18.0-553.27.1.el8_10 · Red Hat:enterprise_linux:8::baseos | Реестр пакетов (OSV) |
| red hat:kernel | 0:4.18.0-553.27.1.el8_10 · Red Hat:enterprise_linux:8::baseos | Реестр пакетов (OSV) |
| red hat:kernel-abi-stablelists | 0:4.18.0-553.27.1.el8_10 · Red Hat:enterprise_linux:8::baseos | Реестр пакетов (OSV) |
| red hat:kernel-core | 0:4.18.0-553.27.1.el8_10 · Red Hat:enterprise_linux:8::baseos | Реестр пакетов (OSV) |
| red hat:kernel-debug | 0:4.18.0-553.27.1.el8_10 · Red Hat:enterprise_linux:8::baseos | Реестр пакетов (OSV) |
| red hat:kernel-debug-core | 0:4.18.0-553.27.1.el8_10 · Red Hat:enterprise_linux:8::baseos | Реестр пакетов (OSV) |
| red hat:kernel-debug-debuginfo | 0:4.18.0-553.27.1.el8_10 · Red Hat:enterprise_linux:8::baseos | Реестр пакетов (OSV) |
+10
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
- CVE-2024-39462с разницей 55 дн.clk: bcm: dvp: Assign ->num before accessing ->hws39Наблюдать
- CVE-2021-4440с разницей 55 дн.x86/xen: Drop USERGS_SYSRET64 paravirt call35Наблюдать
- CVE-2021-47313с разницей 20 дн.cpufreq: CPPC: Fix potential memleak in cppc_cpufreq_cpu_init33Наблюдать
- CVE-2024-38616с разницей 49 дн.wifi: carl9170: re-fix fortified-memset warning32Наблюдать
- CVE-2021-47023с разницей 63 дн.net: marvell: prestera: fix port event handling on init32Наблюдать
- CVE-2024-35948с разницей 19 дн.bcachefs: Check for journal entries overruning end of sb clean section31Наблюдать
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Национальное уведомление (Управление кибербезопасности Турции / USOM)
Официальные уведомления, ссылающиеся на эту запись; рекомендации — на странице ведомства.
- TR-24-0387 · 2 мая 2024 г.(Linux Kernel Güncellemesi)
Технические детали
Условия атаки
- Может быть вызвана пользователем с локальным доступом к системе.
- Достаточно учётной записи с низкими привилегиями.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Локальный
- Сложность атаки
- Низкая
- Требуемые привилегии
- Низкие
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-400 · Uncontrolled Resource ConsumptionВектор CVSS
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
nvd-secondary
Первопричина
Код, разбирающий вложенные структуры, не ограничивает глубину или размер. Небольшие входные данные могут привести к несоразмерной вычислительной нагрузке.
Ошибка в коде
Весь класс CWE-400Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
function expand(node) { return node.children.map(expand);}Исправленный код
const MAX_DEPTH = 32;function expand(node, depth = 0) { if (depth > MAX_DEPTH) throw new Error("слишком глубоко"); return node.children.map((c) => expand(c, depth + 1));}Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Показать все источники (ещё 10)Свернуть
- git.kernel.org/stable/c/4f3a3bce428fb439c66a578adc447afce7b4a750
- git.kernel.org/stable/c/82e25cc1c2e93c3023da98be282322fc08b61ffb
- git.kernel.org/stable/c/83d3c5e309611ef593e2fcb78444fc8ceedf9bac
- git.kernel.org/stable/c/a75afe480d4349c524d9c659b1a5a544dbc39a98
- git.kernel.org/stable/c/ab2c2f5d9576112ad22cfd3798071cb74693b1f5
- git.kernel.org/stable/c/b54478d20375874aeee257744dedfd3e413432ff
- git.kernel.org/stable/c/caa9af2e27c275e089d702cfbaaece3b42bca31b
- git.kernel.org/stable/c/f8730d6335e5f43d09151fca1f0f41922209a264
- lists.debian.org/debian-lts-announce/2024/06/msg00017.html
- lists.debian.org/debian-lts-announce/2024/06/msg00020.html
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.