🇰🇷 한글 설명
Linux 커널의 cachefiles 구성 요소에서 데이터 길이가 가변적이거나 0바이트일 경우 발생할 수 있는 Use-After-Free(UAF) 및 KASAN 경고 취약점이 발견되었습니다. 이 문제는 trace_cachefiles_coherency() 함수가 데이터의 길이를 확인하지 않고 8바이트 포인터에 접근하여 발생하며, 버퍼 크기 확인 및 데이터 추출 방식 개선을 통해 해결되었습니다.
💡 쉬운 설명
컴퓨터 메모리에서 데이터가 들어있는 공간이 충분하지 않은데도 억지로 데이터를 읽으려다 발생하는 오류입니다. 이로 인해 시스템이 갑자기 멈추거나 보안상 취약한 상태가 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
cachefiles: Fix potential UAF/KASAN warning
Currently, trace_cachefiles_coherency() is being passed a pointer to a
__be64 lain over the coherency data in struct cachefiles_xattr so that it
can display the first 8 bytes. However, the data is of variable length and
could even be 0 bytes. This could lead to a UAF or KASAN warning.
Fix this by making sure the buffer has room for at least 8 bytes and that
those 8 bytes are pre-cleared.
Further, those bytes are not 8-byte aligned, so fix the tracepoint to
extract the data as four 2-byte words (they are 2-byte aligned) and
reassemble the __be64. The compiler will convert this into a single 8-byte
load where the CPU supports it.
📍 영향받는 시스템
Linux kernel (cachefiles 모듈을 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 조작된 xattr 데이터를 통해 메모리 오류를 유발하여 시스템 권한을 획득하거나 서비스 거부(DoS)를 일으킬 수 있음
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.