🇰🇷 한글 설명
Linux 커널의 arm64 아키텍처에서 프로세스 컨텍스트 스위칭 시 MTE(Memory Tagging Extension)의 store-only 태그 체크 설정이 제대로 초기화되지 않는 취약점입니다. SCTLR_EL1.TCSO0 설정이 사용자 마스크에 포함되지 않아, 한 프로세스의 설정이 다른 프로세스로 유출될 수 있습니다.
💡 쉬운 설명
컴퓨터가 작업을 전환할 때 이전 작업의 보안 설정이 완전히 지워지지 않고 다음 작업으로 넘어가는 문제입니다. 이로 인해 특정 보안 기능이 의도치 않게 활성화되거나 설정이 노출될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
arm64: process: Fix context switching MTE store-only tag check
SCTLR_EL1.TCSO0 is set when user opt-in for MTE store-only tag check
mode. However, it is not part of SCTLR_USER_MASK which imply that on
context switch we never clear SCTLR_EL1.TCSO0, so we are leaking that
setting into another task.
Fix that by including SCTLR_EL1_TCSO0_MASK into SCTLR_USER_MASK
📍 영향받는 시스템
MTE(Memory Tagging Extension)를 사용하는 arm64 기반 Linux 커널
⚔️ 공격 벡터
컨텍스트 스위칭 과정에서 발생하는 설정 유출을 이용한 정보 노출 또는 보안 설정 우회
🛡️ 대응 방법
SCTLR_EL1_TCSO0_MASK를 SCTLR_USER_MASK에 포함하도록 커널 패치 적용
🔧 검증 코드
커널 버전과 CPU가 MTE 기능을 지원하는지 확인하여 패치 적용 대상 여부를 판단합니다.
uname -a && grep -i 'MTE' /proc/cpuinfo 2>/dev/null