🇰🇷 한글 설명
리눅스 커널의 blk-mq 구성 요소에서 nr_requests 속성을 통해 태그 수를 늘릴 때, 기존 태그가 중복 해제되는 취약점이 발견되었습니다. 이로 인해 엘리베이터(elevator) 계층이 종료될 때 이미 해제된 메모리를 다시 해제하려고 시도하여 커널 패닉이 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 데이터를 저장하는 장치를 관리하는 과정에서 메모리 관리 오류가 발생하여 시스템이 갑자기 멈추거나 꺼질 수 있는 문제입니다. 사용자가 특정 설정을 변경할 때 메모리를 두 번 지우려고 시도하면서 발생하는 오류입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
blk-mq: fix blk_mq_tags double free while nr_requests grown
In the case user trigger tags grow by queue sysfs attribute nr_requests,
hctx->sched_tags will be freed directly and replaced with a new
allocated tags, see blk_mq_tag_update_depth().
The problem is that hctx->sched_tags is from elevator->et->tags, while
et->tags is still the freed tags, hence later elevator exit will try to
free the tags again, causing kernel panic.
Fix this problem by replacing et->tags with new allocated tags as well.
Noted there are still some long term problems that will require some
refactor to be fixed thoroughly[1].
[1] https://lore.kernel.org/all/
[email protected]/
📍 영향받는 시스템
Linux Kernel (blk-mq 관련 구성 요소가 포함된 버전)
⚔️ 공격 벡터
사용자가 sysfs의 nr_requests 속성을 조작하여 태그 크기를 변경할 때 발생 (로컬 권한 필요)
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인하십시오.