🇰🇷 한글 설명
Linux 커널의 idpf 드라이버에서 보조 장치(auxiliary device) 추가 실패 시 발생하는 이중 해제(Double Free) 및 사용 후 해제(Use-After-Free) 취약점입니다. 오류 처리 과정에서 이미 해제된 메모리 영역을 다시 참조하거나 해제하려고 시도하여 시스템 불안정성을 초래할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품을 연결하는 과정에서 오류가 발생했을 때, 이미 삭제된 데이터를 다시 삭제하려고 시도하는 버그입니다. 이로 인해 시스템이 갑자기 멈추거나 해킹에 이용될 수 있는 보안 허점이 생깁니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
idpf: fix double free and use-after-free in aux device error paths
When auxiliary_device_add() fails in idpf_plug_vport_aux_dev() or
idpf_plug_core_aux_dev(), the err_aux_dev_add label calls
auxiliary_device_uninit() and falls through to err_aux_dev_init. The
uninit call will trigger put_device(), which invokes the release
callback (idpf_vport_adev_release / idpf_core_adev_release) that frees
iadev. The fall-through then reads adev->id from the freed iadev for
ida_free() and double-frees iadev with kfree().
Free the IDA slot and clear the back-pointer before uninit, while adev
is still valid, then return immediately.
Commit 65637c3a1811 ("idpf: fix UAF in RDMA core aux dev deinitialization")
fixed the same use-after-free in the matching unplug path in this file but
missed both probe error paths.
📍 영향받는 시스템
Linux kernel (idpf driver components)
⚔️ 공격 벡터
특정 조건에서 보조 장치 추가 프로세스를 의도적으로 실패시켜 메모리 오류 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트 (Commit 65637c3a1811 포함 버전)
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 이후의 버전인지 확인