🇰🇷 한글 설명
Linux 커널의 md/raid1 구성 요소에서 쓰기 작업 실패 시 writes_pending 및 barrier 참조가 해제되지 않는 메모리 누수 취약점이 발견되었습니다. raid1_write_request() 함수 내의 특정 실패 경로에서 md_write_end()가 호출되지 않아 참조 카운트가 불균형해지는 문제입니다. 이를 해결하기 위해 쓰기 요청 상태를 반환하여 실패 시에도 참조를 적절히 해제하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터의 데이터를 안전하게 저장하는 RAID1 기능에서 오류가 발생했을 때, 시스템이 사용 중인 메모리 자원을 제대로 돌려주지 않는 문제가 있습니다. 이 문제가 지속되면 시스템 자원이 고갈되어 컴퓨터 성능이 떨어지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
md/raid1: fix writes_pending and barrier reference leaks on write failures
raid1_make_request() acquires a writes_pending reference with
md_write_start() before calling raid1_write_request(). Several failure
paths in raid1_write_request() complete the bio and return without
reaching the normal write completion path, causing the corresponding
md_write_end() to be skipped.
Make raid1_write_request() return a status indicating whether the write
request was successfully queued. This allows raid1_make_request() to
call md_write_end() when raid1_write_request() fails.
Additionally, if wait_blocked_rdev() fails after wait_barrier()
succeeds, the associated barrier reference is not released.
Call allow_barrier() before returning from that path to keep the barrier
accounting balanced.
📍 영향받는 시스템
Linux kernel (md/raid1 모듈을 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 의도적으로 쓰기 작업 실패를 유도하여 시스템 자원 고갈(DoS)을 일으킬 수 있음
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.