🔍 CVE-2023-54303

7.8
CVSS Score
HIGH
2025-12-30
2026-08-04 11:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 bpf_perf_event_output 함수에서 선점(preemption)을 비활성화하지 않아 발생하는 취약점입니다. uprobes 컨텍스트에서 호출될 때 선점이 허용되어 동일한 perf_sample_data 버퍼를 두 작업이 동시에 사용하게 되며, 이는 커널 크래시나 실행 권한이 없는 페이지 실행 시도로 이어질 수 있습니다.

💡 쉬운 설명

컴퓨터의 핵심 엔진인 커널에서 데이터 처리 중 다른 작업이 끼어들지 못하게 막아야 하는 구간이 제대로 막히지 않았습니다. 이로 인해 데이터가 엉키면서 시스템이 갑자기 멈추거나 해킹 공격에 이용될 수 있는 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: bpf: Disable preemption in bpf_perf_event_output The nesting protection in bpf_perf_event_output relies on disabled preemption, which is guaranteed for kprobes and tracepoints. However bpf_perf_event_output can be also called from uprobes context through bpf_prog_run_array_sleepable function which disables migration, but keeps preemption enabled. This can cause task to be preempted by another one inside the nesting protection and lead eventually to two tasks using same perf_sample_data buffer and cause crashes like: kernel tried to execute NX-protected page - exploit attempt? (uid: 0) BUG: unable to handle page fault for address: ffffffff82be3eea ... Call Trace: ? __die+0x1f/0x70 ? page_fault_oops+0x176/0x4d0 ? exc_page_fault+0x132/0x230 ? asm_exc_page_fault+0x22/0x30 ? perf_output_sample+0x12b/0x910 ? perf_event_output+0xd0/0x1d0 ? bpf_perf_event_output+0x162/0x1d0 ? bpf_prog_c6271286d9a4c938_krava1+0x76/0x87 ? __uprobe_perf_func+0x12b/0x540 ? uprobe_dispatcher+0x2c4/0x430 ? uprobe_notify_resume+0x2da/0xce0 ? atomic_notifier_call_chain+0x7b/0x110 ? exit_to_user_mode_prepare+0x13e/0x290 ? irqentry_exit_to_user_mode+0x5/0x30 ? asm_exc_int3+0x35/0x40 Fixing this by disabling preemption in bpf_perf_event_output.

📍 영향받는 시스템

bpf_perf_event_output를 사용하는 uprobes 컨텍스트 기반의 Linux 커널

⚔️ 공격 벡터

uprobes를 통해 bpf_perf_event_output를 호출하여 선점 상황을 유도함으로써 커널 메모리 충돌 및 크래시 유발

🛡️ 대응 방법

bpf_perf_event_output 함수 내에서 선점(preemption)을 비활성화하도록 커널 패치 적용

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 최신 보안 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel