CVE-2023-52499 in Linux정보

요약

\~에 의해 VulDB • 2026. 05. 27.

리눅스 커널에서 다음 취약점이 해결되었습니다:

powerpc/47x: 47x 시스템 콜 반환 시 크래시 수정

Eddie는 최신 커널에서 자신의 476 FSP2 시스템에서 부팅 중 크래시가 발생한다고 보고했습니다:

kernel tried to execute user page (b7ee2000) - exploit attempt? (uid: 0) BUG: Unable to handle kernel instruction fetch Faulting instruction address: 0xb7ee2000 Oops: Kernel access of bad area, sig: 11 [#1]
BE PAGE_SIZE=4K FSP-2 Modules linked in: CPU: 0 PID: 61 Comm: mount Not tainted 6.1.55-d23900f.ppcnf-fsp2 #1 Hardware name: ibm,fsp2 476fpe 0x7ff520c0 FSP-2 NIP: b7ee2000 LR: 8c008000 CTR: 00000000 REGS: bffebd83 TRAP: 0400 Not tainted (6.1.55-d23900f.ppcnf-fsp2) MSR: 00000030 CR: 00001000 XER: 20000000 GPR00: c00110ac bffebe63 bffebe7e bffebe88 8c008000 00001000 00000d12 b7ee2000 GPR08: 00000033 00000000 00000000 c139df10 48224824 1016c314 10160000 00000000 GPR16: 10160000 10160000 00000008 00000000 10160000 00000000 10160000 1017f5b0 GPR24: 1017fa50 1017f4f0 1017fa50 1017f740 1017f630 00000000 00000000 1017f4f0 NIP [b7ee2000] 0xb7ee2000
LR [8c008000] 0x8c008000
Call Trace: Instruction dump: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX ---[ end trace 0000000000000000 ]---

문제는 ret_from_syscall에서 icache_44x_need_flush 체크를 수행하는 곳에 있습니다. 플러시가 필요한 경우 코드는 플러시를 수행하기 위해 오프라인으로 점프하고, 이후 시스템 콜 반환을 계속하기 위해 다시 라벨 1b로 점프하려고 합니다.

그러나 라벨 1b로 돌아가는 브랜치가 올바른 위치로 돌아가지 않고, 대신 사용자 공간으로 반환하기 직전의 위치로 브랜치하여 rfi에 의해 잘못된 레지스터 값이 사용되도록 합니다.

이 문제는 commit 6f76a01173cc ("powerpc/syscall: implement system call entry/exit logic in C for PPC32")에 의해 도입되었으며, 이 커밋은 실수로 "1" 라벨을 제거하고 다른 곳에서 재사용했습니다.

올바른 위치에 이름 있는 로컬 라벨을 추가하여 수정합니다. CONFIG_PPC_47x=n 컴파일을 위해 반환 라벨은 ifdef 외부에 있어야 합니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

출처

Do you know our Splunk app?

Download it now for free!