🇰🇷 한글 설명
Linux 커널의 pnfs/blocklayout 구성 요소에서 파싱 실패 시 장치 메모리가 해제되지 않는 누수 취약점이 발견되었습니다. 자식 장치 파싱 중 오류가 발생하면 이미 할당된 자원들이 제대로 정리되지 않아 시스템 자원이 낭비될 수 있습니다.
💡 쉬운 설명
컴퓨터가 장치 정보를 읽어오다가 중간에 오류가 나면, 사용하던 메모리를 돌려주지 않고 계속 붙잡고 있는 버그입니다. 이 문제가 반복되면 시스템의 메모리가 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
pnfs/blocklayout: Fix device leaks on parse failure
bl_parse_concat() and bl_parse_stripe() allocate a child device array and
then parse each child in turn. If parsing a child fails, the failed child is
not counted in nr_children and the parent may be left with a children array
that bl_free_device() will not release when nr_children is zero.
Release the failed child and the already parsed children before returning the
error. Also make bl_free_device() release the child array whenever the
children pointer is set, so that partially initialised concat or stripe
devices are cleaned up correctly.
bl_parse_scsi() can also fail after assigning d->bdev_file and dropping the
file reference. Clear the pointer after fput() so that an outer cleanup path
does not put it again.
📍 영향받는 시스템
Linux kernel (pnfs/blocklayout 관련 모듈 사용 시스템)
⚔️ 공격 벡터
조작된 블록 레이아웃 파싱 데이터를 통해 시스템 자원 고갈 유도 (Local/Remote)
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.