🇰🇷 한글 설명
Linux 커널의 md/raid10 구성 요소에서 discard 작업 시 r10bio 구조체의 read_slot 값이 적절히 초기화되지 않아 발생하는 취약점입니다. 이로 인해 특정 상황에서 교체된 bio 객체가 메모리에서 해제되지 않는 메모리 누수 문제가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 저장 장치를 관리하는 시스템에서 사용하지 않는 데이터를 정리할 때, 메모리를 제대로 비워주지 못하는 오류가 발견되었습니다. 이 오류가 반복되면 시스템의 메모리가 점차 부족해져 성능 저하나 시스템 불안정을 초래할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
md/raid10: reset read_slot when reusing r10bio for discard
put_all_bios() always drops devs[i].bio, but it only drops
devs[i].repl_bio when r10_bio->read_slot < 0. If discard reuses an
r10bio that was previously used for a read, read_slot can still be
non-negative, and discard cleanup can skip bio_put() on repl_bio.
Reset read_slot to -1 when preparing an r10bio for discard so the
replacement bio is always released correctly.
📍 영향받는 시스템
Linux kernel (md/raid10 모듈을 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 디스크 작업(discard)을 반복 유도하여 메모리 누수를 일으킴
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인