🇰🇷 한글 설명
Linux 커널의 can: etas_es58x 드라이버에서 URB(USB Request Block) 할당이 부분적으로 성공했을 때 오류로 처리하여 메모리 누수가 발생하는 취약점입니다. 할당된 일부 URB가 적절히 해제되지 않고 남게 되어 시스템 자원이 낭비될 수 있습니다.
💡 쉬운 설명
컴퓨터가 데이터를 주고받기 위한 준비물을 만들다가 일부만 만들어졌을 때, 이를 오류로 착각하고 제대로 정리하지 않아 메모리가 낭비되는 문제입니다. 이로 인해 시스템의 메모리가 조금씩 줄어들 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
can: etas_es58x: allow partial RX URB allocation to succeed
When es58x_alloc_rx_urbs() fails to allocate the requested number of
URBs but succeeds in allocating some, it returns an error code.
This causes es58x_open() to return early, skipping the cleanup label
'free_urbs', which leads to the anchored URBs being leaked.
As pointed out by maintainer Vincent Mailhol, the driver is designed
to handle partial URB allocation gracefully. Therefore, partial
allocation should not be treated as a fatal error.
Modify es58x_alloc_rx_urbs() to return 0 if at least one URB has been
allocated, restoring the intended behavior and preventing the leak
in es58x_open().
📍 영향받는 시스템
Linux kernel (etas_es58x driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 특정 조건에서 드라이버를 조작하여 메모리 누수를 유도할 수 있음
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.