🇰🇷 한글 설명
리눅스 커널의 block 계층에서 __blkdev_issue_zero_pages 함수 호출 시 메모리 누수가 발생하는 취약점이 해결되었습니다. BLKDEV_ZERO_KILLABLE 설정 시 치명적인 신호(fatal signal)가 대기 중이면 bio가 할당된 후 해제되지 않고 루프를 빠져나가는 문제가 있었습니다.
💡 쉬운 설명
컴퓨터가 데이터를 처리하기 위해 메모리를 빌려온 뒤, 갑작스러운 중단 신호를 받았을 때 빌린 메모리를 돌려주지 않고 잊어버리는 버그입니다. 이 현상이 반복되면 시스템의 메모리가 점점 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
block: fix memory leak in __blkdev_issue_zero_pages
Move the fatal signal check before bio_alloc() to prevent a memory
leak when BLKDEV_ZERO_KILLABLE is set and a fatal signal is pending.
Previously, the bio was allocated before checking for a fatal signal.
If a signal was pending, the code would break out of the loop without
freeing or chaining the just-allocated bio, causing a memory leak.
This matches the pattern already used in __blkdev_issue_write_zeroes()
where the signal check precedes the allocation.
📍 영향받는 시스템
Linux Kernel (blkdev_issue_zero_pages 함수를 사용하는 버전)
⚔️ 공격 벡터
로컬 사용자가 특정 조건(BLKDEV_ZERO_KILLABLE 설정 및 치명적 신호 대기)을 유도하여 메모리 누수 발생 가능
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.