🇰🇷 한글 설명
리눅스 커널의 rtl8150 USB 드라이버에서 usb_submit_urb() 호출 실패 시 메모리 누수가 발생하는 취약점입니다. async_set_registers() 함수 내에서 오류 발생 시 할당된 async_req 구조체와 URB가 해제되지 않아 메모리가 지속적으로 소모됩니다.
💡 쉬운 설명
USB 랜카드를 사용하는 과정에서 오류가 발생하면 컴퓨터의 메모리가 제대로 반환되지 않고 계속 쌓이는 문제입니다. 이 현상이 반복되면 시스템의 메모리가 부족해져 성능이 저하되거나 시스템이 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: usb: rtl8150: fix memory leak on usb_submit_urb() failure
In async_set_registers(), when usb_submit_urb() fails, the allocated
async_req structure and URB are not freed, causing a memory leak.
The completion callback async_set_reg_cb() is responsible for freeing
these allocations, but it is only called after the URB is successfully
submitted and completes (successfully or with error). If submission
fails, the callback never runs and the memory is leaked.
Fix this by freeing both the URB and the request structure in the error
path when usb_submit_urb() fails.
📍 영향받는 시스템
rtl8150 드라이버를 사용하는 리눅스 커널 기반 시스템
⚔️ 공격 벡터
직접적인 원격 공격은 어려우나, 특정 USB 장치 조작을 통해 의도적으로 오류를 유발하여 메모리 고갈 유도 가능
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인