🇰🇷 한글 설명
Linux 커널의 arm64/neonbs 암호화 구현에서 128바이트 미만의 짧은 입력값이 들어올 경우 경계 외 메모리 접근(Out-of-bounds access)이 발생하는 취약점입니다. bit-sliced AES-CTR 구현이 짧은 입력에 대해 NEON 어셈블리 헬퍼로 전환될 때, 16바이트 미만의 데이터를 처리하는 임시 버퍼 로직을 제대로 반영하지 못해 발생합니다.
💡 쉬운 설명
암호화 작업을 수행할 때 데이터 크기가 너무 작으면 컴퓨터가 정해진 범위를 벗어난 메모리 영역을 읽거나 쓸 수 있는 오류입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
crypto: arm64/neonbs - fix out-of-bounds access on short input
The bit-sliced implementation of AES-CTR operates on blocks of 128
bytes, and will fall back to the plain NEON version for tail blocks or
inputs that are shorter than 128 bytes to begin with.
It will call straight into the plain NEON asm helper, which performs all
memory accesses in granules of 16 bytes (the size of a NEON register).
For this reason, the associated plain NEON glue code will copy inputs
shorter than 16 bytes into a temporary buffer, given that this is a rare
occurrence and it is not worth the effort to work around this in the asm
code.
The fallback from the bit-sliced NEON version fails to take this into
account, potentially resulting in out-of-bounds accesses. So clone the
same workaround, and use a temp buffer for short in/outputs.
📍 영향받는 시스템
arm64 아키텍처를 사용하는 Linux 커널 (AES-CTR bit-sliced NEON 구현 포함 버전)
⚔️ 공격 벡터
암호화 알고리즘에 16바이트 미만의 매우 짧은 데이터를 입력하여 메모리 경계 외 접근 유도
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 배포판의 보안 업데이트 버전인지 확인