🔍 CVE-2022-48872

7.8
CVSS Score
HIGH
2024-08-21
2026-08-04 10:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 fastrpc 구성 요소에서 맵(map) 처리 중 Use-After-Free(UAF) 레이스 컨디션 취약점이 발견되었습니다. fastrpc_map_get() 호출과 fastrpc_free_map()의 락 획득 사이에 다른 스레드가 fastrpc_map_lookup()을 호출하여 삭제 예정인 맵의 참조를 획득할 수 있습니다.

💡 쉬운 설명

컴퓨터가 데이터를 저장하는 공간을 삭제하는 도중에 다른 프로그램이 그 공간을 사용하려고 시도하면서 발생하는 오류입니다. 이로 인해 시스템이 충돌하거나 보안상 위험한 상태가 될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: misc: fastrpc: Fix use-after-free race condition for maps It is possible that in between calling fastrpc_map_get() until map->fl->lock is taken in fastrpc_free_map(), another thread can call fastrpc_map_lookup() and get a reference to a map that is about to be deleted. Rewrite fastrpc_map_get() to only increase the reference count of a map if it's non-zero. Propagate this to callers so they can know if a map is about to be deleted. Fixes this warning: refcount_t: addition on 0; use-after-free. WARNING: CPU: 5 PID: 10100 at lib/refcount.c:25 refcount_warn_saturate ... Call trace: refcount_warn_saturate [fastrpc_map_get inlined] [fastrpc_map_lookup inlined] fastrpc_map_create fastrpc_internal_invoke fastrpc_device_ioctl __arm64_sys_ioctl invoke_syscall

📍 영향받는 시스템

fastrpc 모듈을 사용하는 Linux 커널 (ARM64 아키텍처 포함)

⚔️ 공격 벡터

멀티스레드 환경에서 특정 시스템 호출(ioctl)을 정밀하게 조작하여 레이스 컨디션을 유발하는 방식

🛡️ 대응 방법

fastrpc_map_get() 함수를 수정하여 참조 횟수가 0인 경우 증가시키지 않도록 커널을 업데이트해야 합니다.

🔧 검증 코드

커널 버전과 fastrpc 모듈 로드 여부를 확인하여 해당 취약점이 포함된 커널 버전인지 보안 패치 내역과 대조합니다.

Shell / Script
uname -a && grep -i 'fastrpc' /proc/modules 2>/dev/null

📊 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