🇰🇷 한글 설명
리눅스 커널의 ULPI 드라이버에서 ulpi_register() 오류 발생 시 메모리 누수가 발생하는 취약점입니다. ulpi_of_register() 또는 ulpi_read_id() 단계에서 오류가 발생할 경우 할당된 메모리가 해제되지 않고 남게 됩니다.
💡 쉬운 설명
컴퓨터 부품을 연결하는 과정에서 오류가 생겼을 때, 사용했던 메모리를 제대로 돌려주지 않고 계속 붙잡고 있는 문제입니다. 이 문제가 반복되면 시스템의 메모리가 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
usb: ulpi: fix memory leak on ulpi_register() error paths
Commit 01af542392b5 ("usb: ulpi: fix double free in
ulpi_register_interface() error path") removed kfree(ulpi) from
ulpi_register_interface() to fix a double-free when device_register()
fails.
But when ulpi_of_register() or ulpi_read_id() fail before
device_register() is called, the ulpi allocation is leaked.
Add kfree(ulpi) on both error paths to properly clean up the allocation.
📍 영향받는 시스템
Linux Kernel (ULPI driver 관련 버전)
⚔️ 공격 벡터
로컬 공격자가 특정 하드웨어 오류 상황을 유도하여 메모리 누수를 발생시킴
🛡️ 대응 방법
커널 패치(Commit 01af542392b5)가 적용된 최신 리눅스 커널로 업데이트
🔧 검증 코드
명령어 실행 결과로 해당 커밋 메시지가 출력되면 패치가 적용된 상태입니다.
git log --grep="usb: ulpi: fix memory leak on ulpi_register() error paths"