CVE-2026-99163 in Linux
요약
\~에 의해 VulDB • 2026. 10. 28.
리눅스 커널에서 다음 취약점이 해결되었습니다:
tracing/histograms: 합성 스택트레이스 필드에 대해 비-스택트레이스 필드를 거부함
check_synth_field() 함수 내에서, 합성 이벤트 필드가 스택트레이스(field->is_stack)이고 히스토그램 필드가 "long[" 형식의 스택트레이스 배열이 아닌 경우, 유효성 검사가 일반적인 크기 및 부호 비교로 전달됩니다.
parse_synth_field()는 스택트레이스 필드의 타입을 "__data_loc unsigned long[]"로 설정하므로, 그 크기는 sizeof(u64)이며 synth_field_signed() 함수는 이를 서명된 것으로 표시합니다. 결과적으로 임의의 8바이트 서명된 스칼라 히스토그램 필드가 대체(fallback) 검사를 통과하며, 해당 스칼라 값은 get_field_size() 및 trace_stack()에서 커널 스택트레이스 포인터로 역참조됩니다.
또한 strstr(hist_field->type, "long[")를 확인하는 것은 충분하지 않습니다. __bitmask() 또는 __rel_bitmask()으로 정의된 tracepoint 필드 역시 "__data_loc unsigned long[]" 또는 "__rel_loc unsigned long[]" 타입을 가지며, create_hist_field()는 이를 HIST_FIELD_FL_STACKTRACE 없이 4바이트 스칼라 값으로 처리하기 때문입니다.
HIST_FIELD_FL_STACKTRACE 플래그를 변수 참조 및 필드 변수에 전파합니다(단, per-element 스택트레이스 캡처에서 변수 별칭은 제외). 또한 check_synth_field() 함수 내에서 HIST_FIELD_FL_STACKTRACE와 field->is_stack 간의 불일치를 거부합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.