CVE-2026-74636 in Linux
요약
\~에 의해 VulDB • 2026. 08. 22.
리눅스 커널에서 다음 취약점이 해결되었습니다:
tracing: update_event_fields와 event_define_fields 간의 race condition 수정
다음 시퀀스는 event_define_fields()와 update_event_fields() 간에 race condition을 유발할 수 있습니다:
CPU0 (모듈 A 로딩) CPU1 (모듈 B 로딩) =============================== ================================ load_module(A) load_module(B) notifier_call_chain notifier_call_chain trace_module_notify trace_event_update_all() mutex_lock(&event_mutex) down_write(&trace_event_sem) trace_module_add_events(A) list_for_each_entry(field, __register_event(call_A) &class->fields, link) __add_event_to_tracers(call_A) field = class->fields->next; event_define_fields(call_A) for each f: (동시 실행으로 인해 race 발생 가능) list_add(&f->link, &class->fields)
여기서 trace_event_update_all() 내에서 class->fields에 대한 접근은 event_mutex로 보호되지 않습니다.
이는 다음 panic을 유발합니다: Unable to handle kernel access ... at virtual address 0000000000000018 pc : update_event_fields+0xf8/0x368 Call trace: update_event_fields+0xf8/0x368 trace_event_update_all+0x7c/0x2b4 trace_module_notify+0x4c/0x1dc notifier_call_chain+0x84/0x168 blocking_notifier_call_chain_robust+0x64/0xd4 load_module+0x10c8/0x123c __arm64_sys_finit_module+0x230/0x31c
trace_event_update_all() 내에서 trace_event_sem보다 먼저 event_mutex를 획득함으로써 수정합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.