🇰🇷 한글 설명
Linux 커널의 i3c: dw 드라이버 내 dw_i3c_master_i2c_xfers() 함수에서 메모리 누수 취약점이 발견되었습니다. pm_runtime_resume_and_get() 호출 실패 시 할당된 xfer 구조체를 해제하지 않고 반환하여 메모리가 낭비되는 문제입니다. 에러 경로에 dw_i3c_master_free_xfer() 호출을 추가하여 이를 해결했습니다.
💡 쉬운 설명
컴퓨터의 부품을 제어하는 프로그램이 작업을 하다가 오류가 났을 때, 사용했던 메모리를 제대로 돌려주지 않고 버리는 문제가 있습니다. 이 문제가 반복되면 시스템의 메모리가 점점 부족해져 컴퓨터가 느려지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
i3c: dw: Fix memory leak in dw_i3c_master_i2c_xfers()
The dw_i3c_master_i2c_xfers() function allocates memory for the xfer
structure using dw_i3c_master_alloc_xfer(). If pm_runtime_resume_and_get()
fails, the function returns without freeing the allocated xfer, resulting
in a memory leak.
Add a dw_i3c_master_free_xfer() call to the error path to ensure the
allocated memory is properly freed.
Compile tested only. Issue found using a prototype static analysis tool
and code review.
📍 영향받는 시스템
Linux kernel (i3c: dw driver 포함 버전)
⚔️ 공격 벡터
직접적인 공격보다는 시스템의 특정 하드웨어 제어 과정에서 오류를 유도하여 점진적인 메모리 고갈을 일으키는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 수정된 패치 버전 이상인지 확인합니다.