🇰🇷 한글 설명
Linux 커널의 libceph 구성 요소 내 osdmap_decode() 함수에서 경계 외 메모리 접근(Out-of-bounds access) 취약점이 발견되었습니다. osdmap 메시지 내의 max_osd 값이 실제 데이터 크기보다 크게 조작될 경우, 잘못된 메모리 영역을 참조할 수 있는 문제입니다.
💡 쉬운 설명
컴퓨터가 데이터를 읽을 때 실제 데이터 양보다 더 많은 양을 읽으려고 시도하여 오류가 발생하는 문제입니다. 악의적으로 조작된 데이터를 보내 시스템의 메모리 영역을 침범할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
libceph: Fix potential out-of-bounds access in osdmap_decode()
When decoding osd_state and osd_weight from an incoming osdmap in
osdmap_decode(), both are decoded for each osd, i.e., map->max_osd
times. The ceph_decode_need() check only accounts for
sizeof(*map->osd_weight) once. This can potentially result in an
out-of-bounds memory access if the incoming message is corrupted such
that the max_osd value exceeds the actual content of the osdmap message.
This patch fixes the issue by changing the corresponding part in the
ceph_decode_need() check to account for
map->max_osd*sizeof(*map->osd_weight).
📍 영향받는 시스템
Linux kernel (libceph module 사용 시스템)
⚔️ 공격 벡터
조작된 osdmap 메시지를 전송하여 커널의 메모리 경계 외 접근 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인합니다.