CVE-2026-97936 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 25.

리눅스 커널에서 다음 취약점이 해결되었습니다:

tracing: 히스토그램 스택트레이스 수정자로 인한 메모리 손상 수정

parse_field()는 필드 이름을 조회하기 전에 ".stacktrace" 수정자로부터 HIST_FIELD_FL_STACKTRACE를 설정하며, 이후에는 해당 이름이 실제로 스택트레이스를 포함하는 필드로 해결되었는지 확인하지 않습니다. create_hist_field()은 필드 포인터만을 근거로 HIST_FIELD_FN_STACK을 선택하는데, 이는 레코드에서 __data_loc 단어를 읽고 그 하위 16비트를 동일한 레코드의 오프셋으로 따라갑니다. event_hist_trigger()는 그곳의 첫 번째 단어를 엔트리 개수로 간주하고 해당 수만큼의 longs를 31개 항목 배열에 복사합니다:

n_entries = *stack; memcpy(entries, ++stack, n_entries * sizeof(unsigned long));

이 복사의 양 끝은 경계가 설정되지 않았으며, 카운트는 오프셋에서 이벤트가 보유하는 값과 동일하므로 어떤 필드든 가능합니다:

# cd /sys/kernel/tracing/events/sched/sched_process_fork # echo 'hist:keys=parent_pid.stacktrace' > trigger # (true)

BUG: kernel NULL pointer dereference, address: 0000000000000008 RIP: 0010:rb_insert_color+0x18/0x130 timerqueue_linked_add+0x7e/0xd0 enqueue_hrtimer+0x39/0xb0 __hrtimer_run_queues+0x10f/0x1f0 </IRQ> RIP: 0010:memcpy+0xc/0x30 event_hist_trigger+0x165/0x690

타이머 인터럽트가 이미 복사가 완료된 rbtree에 도달했습니다. 이를 위해 디버그 옵션은 필요하지 않습니다; KASAN는 동일한 쓰기를 13835058055416381440 바이트의 범위를 벗어난 읽기(out-of-bounds read)로 보고합니다.

Documentation/trace/histogram.rst에는 이미 "long[] 타입이어야 함"이라는 규칙이 명시되어 있으므로, 이름이 해결된 후에 이를 강제 적용합니다. 필드 자체에 매개되지 않는 이름인 "hitcount.stacktrace"와 common_* 의사 필드는 스택트레이드를 읽을 수 없기 때문에 동일한 이유로 거부됩니다.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-410129

EPSS

0.00000

출처

Might our Artificial Intelligence support you?

Check our Alexa App!