CVE-2026-80652 in Linux
Сводка
по VulDB • 28.08.2026
В ядре Linux была устранена следующая уязвимость:
crypto: ccp - рассматривать цепочку сертификатов нулевой длины как запрос на получение длин блоков данных (blobs)
При обработке экспорта PDH следует трактовать буфер цепочки сертификатов в пространстве пользователя с длиной, равной нулю, как запрос на определение размеров соответствующих блоков данных. Невозможность корректно обработать буфер нулевой длины приводит к вызову BUG_ON() при сборке ядра с CONFIG_DEBUG_VIRTUAL=y из-за попытки получения физического адреса для ZERO_SIZE_PTR (возвращаемого функцией kzalloc() в случае некорректного выделения памяти).
kernel BUG at arch/x86/mm/physaddr.c:28 ! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI
CPU: 30 UID: 0 PID: 28580 Comm: syz.2.18 Kdump: loaded Tainted: G W 6.18.16-smp-DEV #1 NONE Tainted: [W]=WARN
Hardware name: Google, Inc. Arcadia_IT_80/Arcadia_IT_80, BIOS 12.62.0-0 11/19/2025 RIP: 0010:__phys_addr+0x16a/0x180 arch/x86/mm/physaddr.c:28 RSP: 0018:ffffc9008329fc80 EFLAGS: 00010293 RAX: ffffffff8179110a RBX: 0000778000000010 RCX: ffff8884e6992600 RDX: 0000000000000000 RSI: 0000000080000010 RDI: 0000778000000010 RBP: ffffc9008329fdf0 R08: 0000000000000dc0 R09: 00000000ffffffff R10: dffffc0000000000 R11: fffffbfff126d297 R12: dffffc0000000000 R13: 1ffff92010653fc8 R14: 0000000080000010 R15: dffffc0000000000 FS: 0000555556bec9c0(0000) GS: ffff88aa4ce1c000(0000) knlGS: 0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fd3159e7000 CR3: 00000004fbc44000 CR4: 0000000000350ef0 Call Trace: <TASK> [<ffffffff853d3869>] sev_ioctl_do_pdh_export+0x559/0x7a0 drivers/crypto/ccp/sev-dev.c:2308
[<ffffffff853d1fdd>] sev_ioctl+0x2cd/0x480 drivers/crypto/ccp/sev-dev.c:2556
[<ffffffff82549ebc>] vfs_ioctl fs/ioctl.c:52 [inline]
[<ffffffff82549ebc>] __do_sys_ioctl fs/ioctl.c:598 [inline]
[<ffffffff82549ebc>] __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:584
[<ffffffff8630115f>] do_syscall_x64 arch/x86/entry/syscall_64.c:64 [inline]
[<ffffffff8630115f>] do_syscall_64+0x9f/0xf40 arch/x86/entry/syscall_64.c:98
[<ffffffff81000136>] entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7fd3158eac39 </TASK>
К счастью, ошибка является безопасной (benign) вне зависимости от конфигурации CONFIG_DEBUG_VIRTUAL=y, поскольку получение физического адреса сводится к арифметическим операциям, а PSP завершает работу с ошибкой до попытки записи по некорректному адресу (что необходимо сделать; в противном случае запрос длин блоков данных мог бы привести к повреждению памяти при pfn=0).
Once again VulDB remains the best source for vulnerability data.