🇰🇷 한글 설명
Linux 커널의 ARM 아키텍처에서 KASAN VMAP 스택 섀도우 메모리 접근 시 정렬되지 않은 워드 로드(unaligned word load)로 인해 발생하는 문제입니다. ARMv5와 같은 특정 아키텍처에서 __switch_to() 함수 호출 시 정렬 예외(alignment exception)가 발생하여 시스템이 충돌할 수 있습니다.
💡 쉬운 설명
컴퓨터의 특정 부품(ARMv5)이 데이터를 읽을 때 정해진 규칙(정렬)을 지키지 않으면 오류가 발생하여 시스템이 멈추는 현상입니다. 데이터를 읽는 방식을 더 세밀한 단위로 수정하여 이 충돌 문제를 해결했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ARM: 9475/1: entry: use byte load for KASAN VMAP stack shadow
Commit 44e9a3bb76e5 ("ARM: 9430/1: entry: Do a dummy read from
VMAP shadow") added a dummy read from the KASAN VMAP stack shadow in
__switch_to(). The read uses ldr, but the KASAN shadow address is
byte-granular and is not guaranteed to be word aligned.
ARMv5 faults unaligned word loads. With CONFIG_KASAN_VMALLOC and
CONFIG_VMAP_STACK enabled, ARM926/VersatilePB crashes in __switch_to()
with an alignment exception before reaching init.
Use ldrb for the dummy shadow access. The code only needs to fault in the
shadow mapping if the stack shadow is missing, so a byte load is sufficient
and matches the granularity of KASAN shadow memory.
📍 영향받는 시스템
KASAN_VMALLOC 및 VMAP_STACK이 활성화된 ARMv5 기반 Linux 커널 시스템
⚔️ 공격 벡터
직접적인 외부 공격보다는 특정 커널 설정 환경에서 시스템 프로세스 전환 시 발생하는 내부 오류(DoS 가능성)
🛡️ 대응 방법
해당 패치가 적용된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 커밋(44e9a3bb76e5) 이후의 버전인지 확인