🇰🇷 한글 설명
Linux 커널의 nvme-apple 드라이버에서 큐 활성화 상태를 처리할 때 메모리 가시성 문제가 발생할 수 있는 취약점이 발견되었습니다. 기존의 메모리 장벽(wmb) 방식 대신 acquire/release 세맨틱을 사용하여 큐 초기화 데이터가 활성화 상태보다 먼저 메모리에 반영되도록 수정되었습니다.
💡 쉬운 설명
컴퓨터 부품인 NVMe 저장장치를 사용할 때, 준비가 덜 된 상태에서 명령을 내리는 오류가 발생할 수 있는 문제입니다. 이를 방지하기 위해 데이터가 완전히 준비되었는지 확인하는 절차를 더 엄격하게 개선했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nvme-apple: Use acquire/release for queue enabled state
apple_nvme_init_queue() initializes queue state and then marks the queue
enabled. The interrupt and request paths check enabled before using that
queue state.
The old wmb() after WRITE_ONCE(enabled, true) does not publish the
earlier initialization before enabled becomes visible. Use a release store
when enabling the queue and acquire loads when testing it.
Although the shutdown-side enabled accesses are not used for publishing
queue initialization, use helpers for them as well for consistency.
📍 영향받는 시스템
nvme-apple 드라이버를 사용하는 Apple 하드웨어 기반 Linux 커널 시스템
⚔️ 공격 벡터
특정 하드웨어 조건에서 메모리 동기화 오류를 유발하여 시스템 불안정성이나 데이터 손상을 일으킬 수 있는 로컬 공격
🛡️ 대응 방법
nvme-apple 드라이버의 메모리 배리어 로직이 수정된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인