🔍 CVE-2024-49874

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

🇰🇷 한글 설명

Linux 커널의 i3c 마스터 드라이버에서 레이스 컨디션으로 인한 Use-After-Free(UAF) 취약점이 발견되었습니다. 모듈 제거 시 작업(work)이 취소되기 전에 메모리가 해제되어, 이미 해제된 메모리 영역에 접근을 시도할 수 있는 문제입니다.

💡 쉬운 설명

컴퓨터 부품을 관리하는 프로그램이 종료되는 과정에서, 이미 삭제된 데이터를 다시 사용하려고 시도하여 시스템 오류나 보안 문제가 발생할 수 있는 결함입니다. 작업이 완전히 끝난 것을 확인하지 않고 메모리를 먼저 비워버려서 생기는 문제입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: i3c: master: svc: Fix use after free vulnerability in svc_i3c_master Driver Due to Race Condition In the svc_i3c_master_probe function, &master->hj_work is bound with svc_i3c_master_hj_work, &master->ibi_work is bound with svc_i3c_master_ibi_work. And svc_i3c_master_ibi_work can start the hj_work, svc_i3c_master_irq_handler can start the ibi_work. If we remove the module which will call svc_i3c_master_remove to make cleanup, it will free master->base through i3c_master_unregister while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows: CPU0 CPU1 | svc_i3c_master_hj_work svc_i3c_master_remove | i3c_master_unregister(&master->base)| device_unregister(&master->dev) | device_release | //free master->base | | i3c_master_do_daa(&master->base) | //use master->base Fix it by ensuring that the work is canceled before proceeding with the cleanup in svc_i3c_master_remove.

📍 영향받는 시스템

Linux kernel (i3c: master: svc 드라이버 포함 버전)

⚔️ 공격 벡터

로컬 공격자가 특정 조건에서 모듈을 제거하거나 레이스 컨디션을 유도하여 메모리 오염 및 권한 상승 시도 가능

🛡️ 대응 방법

커널 패치를 적용하여 svc_i3c_master_remove 함수 내에서 메모리 해제 전 작업(work)을 반드시 취소하도록 업데이트

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인

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