🇰🇷 한글 설명
Linux 커널의 arm64 아키텍처에서 percpu 관련 LSE(Large System Extensions) 연산 시 8비트 또는 16비트 데이터 타입에 대해 잘못된 메모리 접근이 발생하는 취약점입니다. LSE 명령 생성 시 'sfx' 접미사가 누락되어 8/16비트 연산 시에도 32비트 메모리를 읽거나 쓰는 오류가 발생할 수 있었습니다.
💡 쉬운 설명
컴퓨터의 뇌 역할을 하는 커널이 아주 작은 크기의 데이터를 처리할 때, 실수로 그보다 큰 크기의 데이터를 건드려 데이터가 꼬일 수 있는 문제입니다. 이로 인해 시스템의 데이터가 잘못 저장되거나 프로그램이 오작동할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
arm64: percpu: Fix LSE operations on {8,16}-bit types
The assembly for __percpu_##name##_case_##sz() and
__percpu_##name##_return_case_##sz() doesn't use the 'sfx' macro
argument to form the LSE instruction. Without 'sfx', a W register
argument will imply a 32-bit memory location, and consequently
{8,16}-bit ops will erroneously read and write 32 bits of memory when
the LSE instruction is used.
Fix this by appending 'sfx' to 'op_lse' to LSE instruction. It is not
necessary (and not valid) to append 'sfx' to 'op_llsc', as 'op_llsc' is
a register-register operation which does not access memory (and does not
take a size suffix).
📍 영향받는 시스템
arm64 아키텍처를 사용하는 Linux 커널 (LSE 지원 버전)
⚔️ 공격 벡터
로컬 공격자가 특수하게 조작된 percpu 데이터를 사용하여 메모리 오염 유도 가능
🛡️ 대응 방법
LSE 명령 생성 시 'sfx' 접미사를 추가한 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux