🔍 CVE-2026-99163

7.8
CVSS Score
HIGH
2026-10-28
2026-10-31 13:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 트레이싱 히스토그램 모듈에서 합성(synthetic) 이벤트 필드 검증이 누락된 문제입니다. 스택트레이스가 아닌 8바이트 부호 있는 스칼라 히스토그램 필드가 검증을 통과하여 커널 스택 포인터로 역참조될 수 있습니다. 이를 수정하기 위해 스택트레이스 플래그를 변수 참조와 필드 변수까지 전파하고, 플래그와 필드 속성이 일치하지 않으면 거부하도록 합니다.

💡 쉬운 설명

리눅스 커널의 성능 추적 기능에서 숫자 값을 메모리 주소로 잘못 해석하는 결함이 있습니다. 공격자가 이를 악용하면 커널 메모리를 잘못 읽어 시스템 권한을 얻거나 시스템이 멈출 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: tracing/histograms: Reject non-stacktrace fields for synthetic stacktrace fields In check_synth_field(), when a synthetic event field is a stacktrace (field->is_stack) and the histogram field is not a "long[" stacktrace array, validation falls through to the generic size and signedness comparison. Because parse_synth_field() sets a stacktrace field's type to "__data_loc unsigned long[]", its size is sizeof(u64) and synth_field_signed() marks it as signed. Consequently, any 8-byte signed scalar histogram field passes the fallback check, and its scalar value is subsequently dereferenced as a kernel stacktrace pointer in get_field_size() and trace_stack(). Furthermore, checking strstr(hist_field->type, "long[") is insufficient because tracepoint fields defined with __bitmask() or __rel_bitmask() also have type "__data_loc unsigned long[]" or "__rel_loc unsigned long[]", whilst create_hist_field() treats them as 4-byte scalar values without HIST_FIELD_FL_STACKTRACE. Propagate HIST_FIELD_FL_STACKTRACE to variable references and field variables (whilst excluding variable aliases from per-element stacktrace capture), and reject any mismatch between HIST_FIELD_FL_STACKTRACE and field->is_stack in check_synth_field().

📍 영향받는 시스템

패치되지 않은 Linux 커널 (트레이싱 히스토그램 기능을 사용하는 버전, 정확한 영향 버전은 커널 패치 로그 확인 필요)

⚔️ 공격 벡터

로컬 권한을 가진 사용자가 트레이싱 히스토그램의 합성 이벤트 필드를 조작하여 스칼라 값을 커널 스택 주소로 역참조하게 만듦

🛡️ 대응 방법

커널을 해당 CVE가 수정된 최신 안정 버전으로 업데이트하고 재부팅

🔧 검증 코드

출력된 커널 버전을 배포판 보안 공지 또는 커널 패치 목록과 비교하여 CVE-2026-99163 수정 버전 이상인지 확인합니다. 수정 버전 이전이면 취약할 수 있습니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel