🇰🇷 한글 설명
Linux 커널의 siox 서브시스템에서 siox_device_add() 함수 실행 중 device_register()가 실패할 경우, dev_set_name()으로 할당된 이름 메모리가 해제되지 않아 메모리 누수가 발생할 수 있습니다. 수정은 오류 경로에서 put_device()를 호출하여 참조를 해제하고, sdevice 포인터를 NULL로 설정하는 것입니다.
💡 쉬운 설명
Linux 커널에서 장치 등록이 실패할 때 일부 메모리가 반환되지 않고 남는 결함입니다. 시간이 지나면 시스템의 사용 가능한 메모리가 점차 줄어들 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
siox: fix possible memory leak in siox_device_add()
If device_register() returns error in siox_device_add(),
the name allocated by dev_set_name() need be freed. As
comment of device_register() says, it should use put_device()
to give up the reference in the error path. So fix this
by calling put_device(), then the name can be freed in
kobject_cleanup(), and sdevice is freed in siox_device_release(),
set it to null in error path.
📍 영향받는 시스템
패치 이전의 Linux 커널 (siox 서브시스템을 포함하는 버전)
⚔️ 공격 벡터
공격자가 원격으로 직접 악용하기는 어려우며, 장치 등록 실패가 반복 유발될 때 메모리 누수로 인한 서비스 저하가 발생할 수 있습니다.
🛡️ 대응 방법
배포판이 제공하는 최신 Linux 커널 보안 업데이트를 적용하고 시스템을 재부팅합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점을 수정한 배포판 패치 버전 이상인지 배포판 보안 공지와 대조하여 확인합니다.