🔍 CVE-2026-43303

7.8
CVSS Score
HIGH
2026-05-08
2026-10-19 20:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 메모리 페이지 할당 중 page->private 필드가 free_pages_prepare()에서 초기화되지 않아 발생하는 취약점입니다. swap 서브시스템이 재할당된 페이지의 stale한 page->private 값을 유효한 것으로 오인하여 use-after-free 메모리 접근 위반이 발생합니다. free_pages_prepare()에서 page->private를 명시적으로 초기화하여 수정됩니다.

💡 쉬운 설명

사용한 메모리를 정리할 때 오래된 데이터가 남아있어서, 그 메모리를 다시 쓸 때 문제가 생기는 취약점입니다. 메모리 정리 시 데이터를 깨끗이 지우도록 수정하면 됩니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: mm/page_alloc: clear page->private in free_pages_prepare() Several subsystems (slub, shmem, ttm, etc.) use page->private but don't clear it before freeing pages. When these pages are later allocated as high-order pages and split via split_page(), tail pages retain stale page->private values. This causes a use-after-free in the swap subsystem. The swap code uses page->private to track swap count continuations, assuming freshly allocated pages have page->private == 0. When stale values are present, swap_count_continued() incorrectly assumes the continuation list is valid and iterates over uninitialized page->lru containing LIST_POISON values, causing a crash: KASAN: maybe wild-memory-access in range [0xdead000000000100-0xdead000000000107] RIP: 0010:__do_sys_swapoff+0x1151/0x1860 Fix this by clearing page->private in free_pages_prepare(), ensuring all freed pages have clean state regardless of previous use.

📍 영향받는 시스템

Linux 커널 모든 버전 (slub, shmem, ttm, swap 서브시스템 사용하는 모든 배포판)

⚔️ 공격 벡터

메모리 할당/해제 시퀀스를 제어하여 stale page->private 값을 활용한 커널 메모리 접근 위반 유발

🛡️ 대응 방법

Linux 커널을 CVE-2026-43303 패치가 포함된 최신 버전으로 업데이트

🔧 검증 코드

커널 버전 확인 후 시스템 로그에서 CVE 패치 적용 여부 확인, 메모리 오류 메시지 부재 확인

Shell / Script
uname -r && dmesg | grep -i 'page_alloc\|CVE-2026-43303' | tail -5

📊 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