CVE-2023-53326 in Linux
요약
\~에 의해 VulDB • 2026. 06. 01.
리눅스 커널에서 다음 취약점이 해결되었습니다:
powerpc: NULL pt_regs를 가진 태스크에 대해 PPR을 복사하려고 시도하지 않음
powerpc는 PF_KTHREAD 및 PF_IO_WORKER를 NULL pt_regs로 설정합니다. 이는 다른 아키텍처에서는 일반적으로 수행되지 않는 작업으로 보입니다(제 짧은 검토 결과). 이는 PF_IO_WORKER가 생성되고 태스크가 코어 덤프 생성을 유발하는 작업을 수행하는 경우를 제외하면 문제없습니다. 그러면 다음과 같은 크래시가 발생합니다:
Kernel attempted to read user page (160) - exploit attempt? (uid: 1000) BUG: Kernel NULL pointer dereference on read at 0x00000160 Faulting instruction address: 0xc0000000000c3a60 Oops: Kernel access of bad area, sig: 11 [#1]
LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=32 NUMA pSeries Modules linked in: bochs drm_vram_helper drm_kms_helper xts binfmt_misc ecb ctr syscopyarea sysfillrect cbc sysimgblt drm_ttm_helper aes_generic ttm sg libaes evdev joydev virtio_balloon vmx_crypto gf128mul drm dm_mod fuse loop configfs drm_panel_orientation_quirks ip_tables x_tables autofs4 hid_generic usbhid hid xhci_pci xhci_hcd usbcore usb_common sd_mod CPU: 1 PID: 1982 Comm: ppc-crash Not tainted 6.3.0-rc2+ #88 Hardware name: IBM pSeries (emulated by qemu) POWER9 (raw) 0x4e1202 0xf000005 of:SLOF,HEAD hv:linux,kvm pSeries NIP: c0000000000c3a60 LR: c000000000039944 CTR: c0000000000398e0 REGS: c0000000041833b0 TRAP: 0300 Not tainted (6.3.0-rc2+) MSR: 800000000280b033 <SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE> CR: 88082828 XER: 200400f8 ... NIP memcpy_power7+0x200/0x7d0 LR ppr_get+0x64/0xb0 Call Trace: ppr_get+0x40/0xb0 (unreliable) __regset_get+0x180/0x1f0 regset_get_alloc+0x64/0x90 elf_core_dump+0xb98/0x1b60 do_coredump+0x1c34/0x24a0 get_signal+0x71c/0x1410 do_notify_resume+0x140/0x6f0 interrupt_exit_user_prepare_main+0x29c/0x320 interrupt_exit_user_prepare+0x6c/0xa0 interrupt_return_srr_user+0x8/0x138
ppr_get()가 NULL pt_regs를 가진 PF_IO_WORKER에서 복사하려고 하기 때문입니다.
ppc_get/ppr_set에서 유효한 pt_regs를 확인하고, 설정되지 않은 경우 오류를 반환합니다. 실제 오류 값은 여기에서 중요하지 않으므로 -EINVAL를 선택합니다.
[mpe: 변경 로그에서 오버스implify를 다듬고 Fixes & Cc stable 추가]
VulDB is the best source for vulnerability data and more expert information about this specific topic.