Перейти к содержимому
Noroxi
CVE-2024-56548· NVD / CVE Program· CNA Linux

hfsplus: don't query the device logical block size multiple times

In the Linux kernel, the following vulnerability has been resolved: hfsplus: don't query the device logical block size multiple times Devices block sizes may change. One of these cases is a loop device by using ioctl LOOP_SET_BLOCK_SIZE. While this may cause other issues like IO being rejected, in the case of hfsplus, it will allocate a block by using that size and potentially write out-of-bounds when hfsplus_read_wrapper calls hfsplus_submit_bio and the latter function reads a different io_size. Using a new min_io_size initally set to sb_min_blocksize works for the purposes of the original fix, since it will be set to the max between HFSPLUS_SECTOR_SIZE and the first seen logical block size. We still use the max between HFSPLUS_SECTOR_SIZE and min_io_size in case the latter is not initialized. Tested by mounting an hfsplus filesystem with loop block sizes 512, 1024 and 4096. The produced KASAN report before the fix looks like this: [ 419.944641] ================================================================== [ 419.945655] BUG: KASAN: slab-use-after-free in hfsplus_read_wrapper+0x659/0xa0a [ 419.946703] Read of size 2 at addr ffff88800721fc00 by task repro/10678 [ 419.947612] [ 419.947846] CPU: 0 UID: 0 PID: 10678 Comm: repro Not tainted 6.12.0-rc5-00008-gdf56e0f2f3ca #84 [ 419.949007] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 [ 419.950035] Call Trace: [ 419.950384] <TASK> [ 419.950676] dump_stack_lvl+0x57/0x78 [ 419.951212] ? hfsplus_read_wrapper+0x659/0xa0a [ 419.951830] print_report+0x14c/0x49e [ 419.952361] ? __virt_addr_valid+0x267/0x278 [ 419.952979] ? kmem_cache_debug_flags+0xc/0x1d [ 419.953561] ? hfsplus_read_wrapper+0x659/0xa0a [ 419.954231] kasan_report+0x89/0xb0 [ 419.954748] ? hfsplus_read_wrapper+0x659/0xa0a [ 419.955367] hfsplus_read_wrapper+0x659/0xa0a [ 419.955948] ? __pfx_hfsplus_read_wrapper+0x10/0x10 [ 419.956618] ? do_raw_spin_unlock+0x59/0x1a9 [ 419.957214] ? _raw_spin_unlock+0x1a/0x2e [ 419.957772] hfsplus_fill_super+0x348/0x1590 [ 419.958355] ? hlock_class+0x4c/0x109 [ 419.958867] ? __pfx_hfsplus_fill_super+0x10/0x10 [ 419.959499] ? __pfx_string+0x10/0x10 [ 419.960006] ? lock_acquire+0x3e2/0x454 [ 419.960532] ? bdev_name.constprop.0+0xce/0x243 [ 419.961129] ? __pfx_bdev_name.constprop.0+0x10/0x10 [ 419.961799] ? pointer+0x3f0/0x62f [ 419.962277] ? __pfx_pointer+0x10/0x10 [ 419.962761] ? vsnprintf+0x6c4/0xfba [ 419.963178] ? __pfx_vsnprintf+0x10/0x10 [ 419.963621] ? setup_bdev_super+0x376/0x3b3 [ 419.964029] ? snprintf+0x9d/0xd2 [ 419.964344] ? __pfx_snprintf+0x10/0x10 [ 419.964675] ? lock_acquired+0x45c/0x5e9 [ 419.965016] ? set_blocksize+0x139/0x1c1 [ 419.965381] ? sb_set_blocksize+0x6d/0xae [ 419.965742] ? __pfx_hfsplus_fill_super+0x10/0x10 [ 419.966179] mount_bdev+0x12f/0x1bf [ 419.966512] ? __pfx_mount_bdev+0x10/0x10 [ 419.966886] ? vfs_parse_fs_string+0xce/0x111 [ 419.967293] ? __pfx_vfs_parse_fs_string+0x10/0x10 [ 419.967702] ? __pfx_hfsplus_mount+0x10/0x10 [ 419.968073] legacy_get_tree+0x104/0x178 [ 419.968414] vfs_get_tree+0x86/0x296 [ 419.968751] path_mount+0xba3/0xd0b [ 419.969157] ? __pfx_path_mount+0x10/0x10 [ 419.969594] ? kmem_cache_free+0x1e2/0x260 [ 419.970311] do_mount+0x99/0xe0 [ 419.970630] ? __pfx_do_mount+0x10/0x10 [ 419.971008] __do_sys_mount+0x199/0x1c9 [ 419.971397] do_syscall_64+0xd0/0x135 [ 419.971761] entry_SYSCALL_64_after_hwframe+0x76/0x7e [ 419.972233] RIP: 0033:0x7c3cb812972e [ 419.972564] Code: 48 8b 0d f5 46 0d 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d c2 46 0d 00 f7 d8 64 89 01 48 [ 419.974371] RSP: 002b:00007ffe30632548 EFLAGS: 00000286 ORIG_RAX: 00000000000000a5 [ 419.975048] RAX: ffffffffffffffda RBX: 00007ffe306328d8 RCX: 00007c3cb812972e [ 419.975701] RDX: 0000000020000000 RSI: 0000000020000c80 RDI: ---truncated---

ВысокаяCVSS 7.8 · v3.1—Эксплойта нет Есть исправление
Опубликовано
27 дек. 2024 г.
Обновлено
5 авг. 2026 г.
EPSS
0,2 % · 15-й процентиль
Следить за этой CVE

Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.

Инструменты для отчёта

JSON

Оценка срочности

31

Наблюдать

Пока низкий приоритет.

CVSS
31 / 40 · 7.8 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,2 %

Решение CISA SSVC

Эксплуатация
нет
Автоматизируемо
нет
Техническое влияние
полное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
7,8
CNA · Linux
7,8
совпадают

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Анализ Noroxi

Анализа Noroxi для этой записи пока нет

Мы не пишем анализ вручную для сотен тысяч уязвимостей в базе; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.

Мы используем этот продукт, нужна помощь

Затронутые системы

ВендорПродукт
linuxlinux kernel

Затронутые версии

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • linux linux kernel3.0.8 и новее · до 4.19.325
  • linux linux kernel4.20 и новее · до 5.4.287
  • linux linux kernel5.5 и новее · до 5.10.231
  • linux linux kernel5.11 и новее · до 5.15.174
  • linux linux kernel5.16 и новее · до 6.1.120
  • linux linux kernel6.2 и новее · до 6.6.64
  • linux linux kernel6.7 и новее · до 6.11.11
  • linux linux kernel6.12 и новее · до 6.12.2

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.

  • Linux Linux

    • c53c89aba3ebdfc3e9acdb18bb5ee9d2f8a328d0, 3.1затронута
    • 6596528e391ad978a6a120142cba97a1d7324cb6 и новее · до baccb5e12577b7a9eff54ffba301fdaa0f3ee5a8затронута · git
    • 6596528e391ad978a6a120142cba97a1d7324cb6 и новее · до f57725bcc5816425e25218fdf5fb6923bc578cdfзатронута · git
    • 6596528e391ad978a6a120142cba97a1d7324cb6 и новее · до e8a2b1c1c2ea85e9a5a2d0c5a5a7e7c639feb866затронута · git
    • 6596528e391ad978a6a120142cba97a1d7324cb6 и новее · до 06cbfbb13ac88f4154c2eb4bc4176f9d10139847затронута · git
    • 6596528e391ad978a6a120142cba97a1d7324cb6 и новее · до 3d7bda75e1a6239db053c73acde17ca146317824затронута · git
    • 6596528e391ad978a6a120142cba97a1d7324cb6 и новее · до 21900e8478126ff6afe3b66679f676e74d1f8830затронута · git
    • 6596528e391ad978a6a120142cba97a1d7324cb6 и новее · до 2667c9b7b76efcbc7adbfea249892f20c313b0daзатронута · git
    • 6596528e391ad978a6a120142cba97a1d7324cb6 и новее · до bfeecda050aa9376f642d5b2a71c4112cc6c8216затронута · git
    • 6596528e391ad978a6a120142cba97a1d7324cb6 и новее · до 1c82587cb57687de3f18ab4b98a8850c789bedcfзатронута · git

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
Debian:12linuxдо 6.1.123-16.1.123-1
Debian:13linuxдо 6.12.3-16.12.3-1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-64kbдо 5.3.18-150300.59.188.15.3.18-150300.59.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-64kbдо 5.3.18-150300.59.198.15.3.18-150300.59.198.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-default-baseдо 5.3.18-150300.59.188.1.150300.18.111.15.3.18-150300.59.188.1.150300.18.111.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-default-baseдо 5.3.18-150300.59.198.1.150300.18.118.15.3.18-150300.59.198.1.150300.18.118.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-docsдо 5.3.18-150300.59.188.15.3.18-150300.59.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-docsдо 5.3.18-150300.59.198.15.3.18-150300.59.198.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-obs-buildдо 5.3.18-150300.59.188.15.3.18-150300.59.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-obs-buildдо 5.3.18-150300.59.198.15.3.18-150300.59.198.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-preemptдо 5.3.18-150300.59.188.15.3.18-150300.59.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-preemptдо 5.3.18-150300.59.198.15.3.18-150300.59.198.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-sourceдо 5.3.18-150300.59.188.15.3.18-150300.59.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-sourceдо 5.3.18-150300.59.198.15.3.18-150300.59.198.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-symsдо 5.3.18-150300.59.198.15.3.18-150300.59.198.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSkernel-symsдо 5.3.18-150300.59.188.15.3.18-150300.59.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSkernel-64kbдо 5.14.21-150400.24.147.15.14.21-150400.24.147.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSkernel-64kbдо 5.14.21-150400.24.153.15.14.21-150400.24.153.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSkernel-docsдо 5.14.21-150400.24.153.15.14.21-150400.24.153.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSkernel-docsдо 5.14.21-150400.24.147.15.14.21-150400.24.147.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSkernel-obs-buildдо 5.14.21-150400.24.153.15.14.21-150400.24.153.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSkernel-obs-buildдо 5.14.21-150400.24.147.15.14.21-150400.24.147.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSkernel-sourceдо 5.14.21-150400.24.153.15.14.21-150400.24.153.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSkernel-sourceдо 5.14.21-150400.24.147.15.14.21-150400.24.147.1

+45

Тот же продукт

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 KEV
    89Срочно
  • CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV
    85Срочно
  • 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 haKEV
    83Срочно
  • CVE-2019-13272In the Linux kernel before 5.1.17, ptrace_link in kernel/ptrace.c mishandles the recording of the credentials of a process that wants to creKEV
    77На этой неделе
  • CVE-2013-6282The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the v6k and v7 ARM platforms do not validate certain addKEV
    77На этой неделе
  • CVE-2013-2094The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9 uses an incorrect integer data type, which allows loKEV
    77На этой неделе

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
Linux Linux06cbfbb13ac88f4154c2eb4bc4176f9d10139847Вендор (CNA)
Linux Linux1c82587cb57687de3f18ab4b98a8850c789bedcfВендор (CNA)
Linux Linux21900e8478126ff6afe3b66679f676e74d1f8830Вендор (CNA)
Linux Linux2667c9b7b76efcbc7adbfea249892f20c313b0daВендор (CNA)
Linux Linux3.1Вендор (CNA)
Linux Linux3d7bda75e1a6239db053c73acde17ca146317824Вендор (CNA)
Linux Linuxbaccb5e12577b7a9eff54ffba301fdaa0f3ee5a8Вендор (CNA)
Linux Linuxbfeecda050aa9376f642d5b2a71c4112cc6c8216Вендор (CNA)
Linux Linuxe8a2b1c1c2ea85e9a5a2d0c5a5a7e7c639feb866Вендор (CNA)
Linux Linuxf57725bcc5816425e25218fdf5fb6923bc578cdfВендор (CNA)
cbl2 kernel 5.15.173.1-2 on CBL Mariner 2.05.15.176.3-3 · CBL-Mariner ReleasesMicrosoft (MSRC)
debian:linux6.1.123-1 · Debian:12Реестр пакетов (OSV)
suse:kernel-64kb5.3.18-150300.59.188.1 · SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSРеестр пакетов (OSV)
suse:kernel-default3.0.101-108.174.1 · SUSE:Linux Enterprise Server 11 SP4 LTSS EXTREME COREРеестр пакетов (OSV)
suse:kernel-default-base5.3.18-150300.59.188.1.150300.18.111.1 · SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSРеестр пакетов (OSV)
suse:kernel-docs5.3.18-150300.59.188.1 · SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSРеестр пакетов (OSV)
suse:kernel-ec23.0.101-108.174.1 · SUSE:Linux Enterprise Server 11 SP4 LTSS EXTREME COREРеестр пакетов (OSV)
suse:kernel-livepatch-SLE15-SP3_Update_521-150300.7.3.1 · SUSE:Linux Enterprise Live Patching 15 SP3Реестр пакетов (OSV)
suse:kernel-obs-build5.3.18-150300.59.188.1 · SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSРеестр пакетов (OSV)
suse:kernel-preempt5.3.18-150300.59.188.1 · SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSРеестр пакетов (OSV)
suse:kernel-source3.0.101-108.174.1 · SUSE:Linux Enterprise Server 11 SP4 LTSS EXTREME COREРеестр пакетов (OSV)
suse:kernel-syms3.0.101-108.174.1 · SUSE:Linux Enterprise Server 11 SP4 LTSS EXTREME COREРеестр пакетов (OSV)
suse:kernel-trace3.0.101-108.174.1 · SUSE:Linux Enterprise Server 11 SP4 LTSS EXTREME COREРеестр пакетов (OSV)
suse:kernel-xen3.0.101-108.174.1 · SUSE:Linux Enterprise Server 11 SP4 LTSS EXTREME COREРеестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Среди источников нет ссылок на коммит или PR.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана пользователем с локальным доступом к системе.
  • Достаточно учётной записи с низкими привилегиями.
  • Действия пользователя не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
высокое · данные могут быть прочитаны
Целостность
высокое · данные или конфигурация могут быть изменены
Доступность
высокое · работа сервиса может быть нарушена
Вектор атаки
Локальный
Сложность атаки
Низкая
Требуемые привилегии
Низкие
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Высокое
Влияние на целостность
Высокое
Влияние на доступность
Высокое

Класс уязвимости (CWE)

CWE-787 · Out-of-bounds Write

Вектор CVSS

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

nvd-primary

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Все записи