🇰🇷 한글 설명
Linux 커널의 ipmi 모듈 내 i_ipmi_request() 함수에서 참조 횟수(refcount) 누수 취약점이 발견되었습니다. 사용자가 제공한 메시지에 오류가 발생할 경우 참조 횟수를 적절히 감소시키지 않아 메모리 자원이 해제되지 않고 계속 점유되는 문제입니다.
💡 쉬운 설명
프로그램이 작업을 하다가 실수로 사용한 메모리 자원을 돌려주지 않고 계속 붙잡고 있는 현상입니다. 이 문제가 반복되면 시스템의 메모리가 점차 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ipmi: fix refcount leak in i_ipmi_request()
When a caller provides a `supplied_recv` message to i_ipmi_request(),
the function increments the user's `nr_msgs` reference count. If an
error occurs later, the out_err cleanup path only frees the recv_msg
if the function allocated it itself (i.e., !supplied_recv). In the
supplied_recv case the cleanup is skipped, leaving the reference count
elevated. The caller ipmi_request_supply_msgs() does not release the
supplied_recv on error, so the reference is permanently leaked.
Fix this by explicitly reverting the reference count operations when a
supplied recv_msg with a valid user pointer is present in the error
path: decrement nr_msgs and drop the user's kref.
📍 영향받는 시스템
Linux Kernel (ipmi 모듈을 사용하는 시스템)
⚔️ 공격 벡터
로컬 사용자가 특수하게 조작된 IPMI 메시지를 요청하여 메모리 누수를 유도할 수 있음
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.