🇰🇷 한글 설명
Linux 커널의 arm64 아키텍처에서 ARM Cortex-A520 코어의 하드웨어 오류(erratum 2966298)로 인해 발생하는 보안 취약점입니다. 권한이 없는 프로세스가 투기적 실행(speculative execution)을 통해 캐시 사이드 채널을 이용하여 권한이 있는 데이터를 유출할 수 있습니다.
💡 쉬운 설명
컴퓨터의 CPU가 성능 향상을 위해 미리 예측해서 실행하는 과정에서 보안 허점이 생겨, 몰래 중요한 정보를 훔쳐볼 수 있는 문제입니다. 특정 ARM 프로세서 모델에서 발생하는 하드웨어 설계 결함을 소프트웨어적으로 보완해야 합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
arm64: errata: Add Cortex-A520 speculative unprivileged load workaround
Implement the workaround for ARM Cortex-A520 erratum 2966298. On an
affected Cortex-A520 core, a speculatively executed unprivileged load
might leak data from a privileged load via a cache side channel. The
issue only exists for loads within a translation regime with the same
translation (e.g. same ASID and VMID). Therefore, the issue only affects
the return to EL0.
The workaround is to execute a TLBI before returning to EL0 after all
loads of privileged data. A non-shareable TLBI to any address is
sufficient.
The workaround isn't necessary if page table isolation (KPTI) is
enabled, but for simplicity it will be. Page table isolation should
normally be disabled for Cortex-A520 as it supports the CSV3 feature
and the E0PD feature (used when KASLR is enabled).
📍 영향받는 시스템
ARM Cortex-A520 코어를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
캐시 사이드 채널을 이용한 투기적 실행 기반 데이터 유출 (Side-channel attack)
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 TLBI 기반의 워크아라운드를 적용해야 합니다.
🔧 검증 코드
커널 버전과 CPU 정보를 확인하여 해당 프로세서 모델 사용 여부와 최신 패치 적용 여부를 검토합니다.
uname -a && grep -i 'Cortex-A520' /proc/cpuinfo 2>/dev/null