🔍 CVE-2022-49554

7.8
CVSS Score
HIGH
2025-02-26
2026-10-15 22:17
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 zsmalloc 구성 요소에서 비동기 zspage 해제와 페이지 이동 간의 레이스 컨디션(경쟁 상태) 취약점이 발견되었습니다. 이로 인해 잘못된 메모리 참조나 데이터 손상이 발생할 수 있으며, 이를 해결하기 위해 migrate_read_lock()을 사용하여 동기화 처리가 이루어졌습니다.

💡 쉬운 설명

컴퓨터 메모리를 관리하는 과정에서 데이터가 이동하는 도중에 다른 작업이 동시에 일어나면서 충돌이 발생하는 문제입니다. 이 충돌로 인해 시스템이 갑자기 멈추거나 잘못된 데이터를 읽을 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: zsmalloc: fix races between asynchronous zspage free and page migration The asynchronous zspage free worker tries to lock a zspage's entire page list without defending against page migration. Since pages which haven't yet been locked can concurrently migrate off the zspage page list while lock_zspage() churns away, lock_zspage() can suffer from a few different lethal races. It can lock a page which no longer belongs to the zspage and unsafely dereference page_private(), it can unsafely dereference a torn pointer to the next page (since there's a data race), and it can observe a spurious NULL pointer to the next page and thus not lock all of the zspage's pages (since a single page migration will reconstruct the entire page list, and create_page_chain() unconditionally zeroes out each list pointer in the process). Fix the races by using migrate_read_lock() in lock_zspage() to synchronize with page migration.

📍 영향받는 시스템

zsmalloc를 사용하는 리눅스 커널 버전 (패치 적용 전 버전)

⚔️ 공격 벡터

로컬 공격자가 메모리 관리 프로세스를 정밀하게 조작하여 레이스 컨디션을 유발함으로써 시스템 권한 탈취 또는 서비스 거부(DoS)를 시도할 수 있습니다.

🛡️ 대응 방법

zsmalloc 레이스 컨디션 패치가 포함된 최신 리눅스 커널로 업데이트하십시오.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 보안 패치 버전 이후인지 확인하십시오.

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