🇰🇷 한글 설명
Linux 커널의 md/md-bitmap 구성 요소에서 clustermd가 슈퍼블록(sb)을 작성할 때 bitmap_limit가 잘못 계산되는 취약점이 발견되었습니다. 이로 인해 특정 노드의 첫 4k 슈퍼블록 영역이 업데이트되지 않아 mdadm 테스트 과정에서 시스템이 멈추는 현상이 발생할 수 있습니다.
💡 쉬운 설명
리눅스 시스템의 데이터 저장 관리 방식에 오류가 있어, 특정 상황에서 데이터의 핵심 정보가 제대로 저장되지 않고 시스템이 멈출 수 있는 문제입니다. 이는 데이터의 일관성을 해칠 수 있는 소프트웨어 버그입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
md/md-bitmap: fix wrong bitmap_limit for clustermd when write sb
In clustermd, separate write-intent-bitmaps are used for each cluster
node:
0 4k 8k 12k
-------------------------------------------------------------------
| idle | md super | bm super [0] + bits |
| bm bits[0, contd] | bm super[1] + bits | bm bits[1, contd] |
| bm super[2] + bits | bm bits [2, contd] | bm super[3] + bits |
| bm bits [3, contd] | | |
So in node 1, pg_index in __write_sb_page() could equal to
bitmap->storage.file_pages. Then bitmap_limit will be calculated to
0. md_super_write() will be called with 0 size.
That means the first 4k sb area of node 1 will never be updated
through filemap_write_page().
This bug causes hang of mdadm/clustermd_tests/01r1_Grow_resize.
Here use (pg_index % bitmap->storage.file_pages) to make calculation
of bitmap_limit correct.
📍 영향받는 시스템
Linux kernel (md/md-bitmap 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 시스템에서의 특정 스토리지 관리 작업 수행 시 발생 (DoS/Hang)
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 버전인지 제조사의 보안 권고안과 비교하십시오.