CVE-2023-52568 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 01.

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

x86/sgx: EAUG 경합 시 SECS 회수 vs 페이지 폴트 문제 해결

SGX EPC 리클레머(ksgxd)는 애플리케이션의 SECS EPC 페이지를 회수하고 secs.epc_page을 NULL로 설정할 수 있습니다. SECS 페이지는 SGX 페이지 핸들러 내에서 EAUG 및 ELDU에 사용됩니다. 그러나 secs.epc_page에 대한 NULL 체크는 사용 전에 ELDU에서는 수행되지만, EAUG에서는 수행되지 않습니다.

EAUG와 ELDU 모두에서 필요한 경우 동일한 NULL 체크를 수행하고 SECS 페이지를 다시 로드함으로써 이 문제를 해결합니다.

SECS 페이지에는 전역 애플리케이션 메타데이터가 포함됩니다. 다른 애플리케이션 페이지가 남아 있지 않을 때만 회수될 수 있습니다. 이때까지 SECS 페이지가 페이징되어 돌아올 때까지는 애플리케이션과 관련하여 거의 수행할 작업이 없습니다.

거주하는(SECS) SECS 페이지가 없으면 애플리케이션은 실행되거나 페이지 폴트를 생성하지 못합니다. 그러나 비-SECS 페이지에 대한 #PF(페이지 폴트)가 SECS 페이징 아웃 경합을 일으킬 가능성이 여전히 있습니다: 마지막 거주 중인 비-SECS 페이지 A가 비거주 페이지 B에서 #PF를 트리거하고, 그 후 페이지 A와 SECS 모두 처리되기 전에 페이징아웃되는 경우입니다.

이 버그에 도달하려면 EAUG에 대한 #PF로 인해 이 경합 상태가 발생해야 합니다. 아래는 해당 상황이 발생할 때의 트레이스입니다:

BUG: kernel NULL pointer dereference, address: 0000000000000000 RIP: 0010:sgx_encl_eaug_page+0xc7/0x210 Call Trace: ? __kmem_cache_alloc_node+0x16a/0x440 ? xa_load+0x6e/0xa0 sgx_vma_fault+0x119/0x230 __do_fault+0x36/0x140 do_fault+0x12f/0x400 __handle_mm_fault+0x728/0x1110 handle_mm_fault+0x105/0x310 do_user_addr_fault+0x1ee/0x750 ? __this_cpu_preempt_check+0x13/0x20 exc_page_fault+0x76/0x180 asm_exc_page_fault+0x27/0x30

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

출처

Want to know what is going to be exploited?

We predict KEV entries!