🇰🇷 한글 설명
Linux 커널의 SCSI hpsa 드라이버에서 hpsa_init_one() 함수 실행 중 alloc_percpu() 실패 시 h->reply_map이 해제되지 않아 메모리 누수가 발생하는 문제입니다. 수정은 hpda_free_ctlr_info()를 호출해 reply_map과 h를 함께 해제하도록 변경하는 것입니다.
💡 쉬운 설명
서버 저장장치 드라이버가 특정 오류 상황에서 사용하던 메모리를 제대로 반환하지 않는 문제입니다. 시간이 지나면 시스템 메모리가 조금씩 줄어드는 결과가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
scsi: hpsa: Fix possible memory leak in hpsa_init_one()
The hpda_alloc_ctlr_info() allocates h and its field reply_map. However, in
hpsa_init_one(), if alloc_percpu() failed, the hpsa_init_one() jumps to
clean1 directly, which frees h and leaks the h->reply_map.
Fix by calling hpda_free_ctlr_info() to release h->replay_map and h instead
free h directly.
📍 영향받는 시스템
HP Smart Array(hpsa) RAID 컨트롤러 드라이버를 사용하는 Linux 커널 (수정 이전 버전)
⚔️ 공격 벡터
직접적인 원격 공격 경로는 확인되지 않았으며, 드라이버 초기화 실패 경로에서 발생하는 메모리 누수 결함입니다.
🛡️ 대응 방법
커널을 해당 수정이 포함된 최신 안정 버전으로 업데이트하고 배포판 보안 업데이트를 적용하십시오.
🔧 검증 코드
출력된 커널 버전이 수정 패치 포함 버전 이후인지 배포판 changelog와 대조하고, hpsa 모듈이 미적재면 해당 취약점 영향이 없습니다.
uname -r && (lsmod | grep -w hpsa || echo 'hpsa 모듈 미적재')