🇰🇷 한글 설명
Linux 커널의 gpib 드라이버 내 ni_usb_init() 함수에서 메모리 누수 취약점이 발견되었습니다. ni_usb_setup_init() 호출 실패 시 할당된 쓰기 버퍼를 해제하지 않고 종료되어 메모리가 낭비되며, 부적절한 에러 코드가 반환되는 문제가 있습니다.
💡 쉬운 설명
컴퓨터의 특정 장치를 초기화하는 과정에서 오류가 발생하면, 사용했던 메모리를 제대로 돌려주지 않고 계속 붙잡고 있는 문제가 있습니다. 이 문제가 반복되면 시스템의 메모리가 점점 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
gpib: Fix memory leak in ni_usb_init()
In ni_usb_init(), if ni_usb_setup_init() fails, the function returns
-EFAULT without freeing the allocated writes buffer, leading to a
memory leak.
Additionally, ni_usb_setup_init() returns 0 on failure, which causes
ni_usb_init() to return -EFAULT, an inappropriate error code for this
situation.
Fix the leak by freeing writes in the error path. Modify
ni_usb_setup_init() to return -EINVAL on failure and propagate this
error code in ni_usb_init().
📍 영향받는 시스템
Linux kernel (gpib driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 특정 장치 초기화 실패를 유도하여 시스템 메모리 고갈 유도
🛡️ 대응 방법
Linux 커널을 최신 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이상인지 확인