🇰🇷 한글 설명
Linux 커널의 ocxl 드라이버에서 ocxl_file_register_afu() 함수가 device_register() 실패 시 dev_set_name()으로 할당된 이름 메모리를 해제하지 못하는 문제가 수정되었습니다. 오류 경로에서 put_device()를 호출하여 참조를 해제하도록 변경되었습니다.
💡 쉬운 설명
커널 장치 등록이 실패할 때 메모리가 반환되지 않아 조금씩 메모리가 새는 결함입니다. 수정으로 실패 경로에서도 메모리가 정상적으로 회수됩니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
misc: ocxl: fix possible name leak in ocxl_file_register_afu()
If device_register() returns error in ocxl_file_register_afu(),
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 info is freed in info_release().
📍 영향받는 시스템
ocxl(OpenCAPI) 드라이버를 포함한 수정 이전의 Linux 커널 버전
⚔️ 공격 벡터
공격 가능성이 낮은 메모리 누수 결함으로, 장치 등록 실패가 반복 유발될 때 커널 메모리 자원이 소모될 수 있습니다.
🛡️ 대응 방법
해당 수정이 포함된 최신 Linux 커널 배포판 또는 안정 버전으로 업데이트하십시오.
🔧 검증 코드
커널 버전을 확인하고 ocxl 모듈 로드 여부를 봅니다; 모듈이 로드되지 않았다면 이 취약점의 영향을 받지 않습니다.
uname -r && (grep -i ocxl /proc/modules 2>/dev/null || echo 'ocxl module not loaded')