🔍 CVE-2026-80558

9.8
CVSS Score
CRITICAL
2026-08-26
2026-10-16 20:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 libceph 구성 요소에서 Ceph 모니터나 OSD로부터 손상된 osdmap을 수신할 경우, 유효하지 않은 OSD 인덱스를 사용하는 취약점이 발견되었습니다. primary_temp에서 가져온 인덱스에 대한 검증이 누락되어, 잘못된 인덱스를 참조할 때 배열 범위를 벗어난 메모리 접근(Out-of-bounds access)이 발생할 수 있습니다.

💡 쉬운 설명

컴퓨터 시스템이 잘못된 번호표를 가진 데이터를 받았을 때, 존재하지 않는 번호를 확인하려다 시스템이 멈추거나 오류가 발생하는 문제입니다. 이로 인해 시스템의 중요한 메모리 영역에 잘못 접근할 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: libceph: Avoid using invalid osd indices from primary_temp A corrupted osdmap received from a Ceph monitor or OSD may contain osd indices in its pg_temp, primary_temp, pg_upmap, and pg_upmap_items parts that don't exist, i.e., that are greater than max_osd or smaller than CEPH_HOMELESS_OSD (-1). These indices are used to create the up and acting set in ceph_pg_to_up_acting_osds(), called from calc_target(). While most of these osd indices are checked, the one from primary_temp is not. Subsequently, this may lead to calc_target() returning this (potentially invalid) index as target osd for a (linger) request. Because the osd_state, osd_weight, and osd_addr arrays only contain max_osd entries (with indices 0 to max_osd -1), this leads to out-of-bounds accesses when trying to read values from these arrays. This patch fixes the issue by adding a check to get_temp_osds(), so that only valid osd indices from primary_temp are used, and it falls back to using the primary from pg_temp or the up set if it is invalid. [ idryomov: changelog ]

📍 영향받는 시스템

Linux kernel (libceph module 사용 환경)

⚔️ 공격 벡터

손상된 osdmap 데이터를 Ceph 모니터 또는 OSD를 통해 전달하여 유효하지 않은 OSD 인덱스를 유도함

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 get_temp_osds()의 인덱스 검증 로직을 적용해야 함

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 배포판 보안 공지를 통해 대조함

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel