🇰🇷 한글 설명
Linux 커널의 uss720 드라이버에서 장치 탐색 실패 시 parport를 해제하지 않는 취약점이 발견되었습니다. 이로 인해 parport 번호가 예약된 상태로 남고, 해제된 메모리를 가리키는 stale pointer가 발생하여 시스템 자원 누수 및 불안정성을 초래할 수 있습니다.
💡 쉬운 설명
USB 장치를 연결할 때 오류가 발생하면, 컴퓨터가 사용 중인 통신 통로를 제대로 닫지 않고 방치하는 문제입니다. 이로 인해 컴퓨터의 자원이 낭비되거나 시스템이 오작동할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
USB: misc: uss720: unregister parport on probe failure
uss720_probe() registers a parport before reading the 1284 register used
to detect unsupported Belkin F5U002 adapters. If get_1284_register()
fails, the error path drops the driver private data and the USB device
reference, but leaves the parport device registered.
Leaving the port registered is more than a private allocation leak:
parport_register_port() has already reserved a parport number and
registered the parport bus device, while pp->private_data still points at
the private data that the common error path is about to release.
Undo the pre-announce registration in the get_1284_register() failure
branch before jumping to the common private-data cleanup path. Clear
priv->pp first, matching the disconnect path and avoiding a stale pointer
in the private data.
This issue was identified during our ongoing static-analysis research while
reviewing kernel code.
📍 영향받는 시스템
uss720 드라이버를 사용하는 Linux 커널 버전
⚔️ 공격 벡터
물리적인 USB 장치 연결 또는 드라이버 로드 과정에서의 오류 유도
🛡️ 대응 방법
커널 패치를 적용하여 uss720_probe() 함수 내 오류 처리 로직을 업데이트해야 합니다.
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 최신 패치 버전인지 확인합니다.