🔍 CVE-2026-23309

5.5
CVSS Score
MEDIUM
2026-03-25
2026-05-28 14:24
✅ 완료

🇰🇷 한글 설명

Linux 커널의 tracing 서브시스템에서 trigger_data_alloc() 함수가 실패하여 NULL을 반환할 때, trigger_data_free() 함수에 NULL 포인터 체크가 없어 NULL pointer dereference 발생. trigger_data 구조체의 cmd_ops->set_filter 평가 시 시스템 충돌 유발.

💡 쉬운 설명

Linux 커널이 메모리 할당 실패 시 존재하지 않는 메모리에 접근하려는 버그로, 이를 통해 시스템을 중지시킬 수 있습니다. 로컬 공격자만 이를 악용할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: tracing: Add NULL pointer check to trigger_data_free() If trigger_data_alloc() fails and returns NULL, event_hist_trigger_parse() jumps to the out_free error path. While kfree() safely handles a NULL pointer, trigger_data_free() does not. This causes a NULL pointer dereference in trigger_data_free() when evaluating data->cmd_ops->set_filter. Fix the problem by adding a NULL pointer check to trigger_data_free(). The problem was found by an experimental code review agent based on gemini-3.1-pro while reviewing backports into v6.18.y.

📍 영향받는 시스템

Linux 커널 v6.18.y 이전 버전, tracing 기능이 활성화된 모든 시스템

⚔️ 공격 벡터

로컬 사용자가 tracing trigger 설정 명령을 통해 trigger_data_alloc() 실패를 의도적으로 유발하여 NULL pointer dereference 트리거

🛡️ 대응 방법

Linux 커널을 v6.18.y 이상으로 업그레이드하거나 trigger_data_free() 함수에 NULL 포인터 체크 패치 적용

🔧 검증 코드

현재 커널 버전이 6.18 이상이면 'Patched', 미만이면 'Vulnerable' 출력. 커널 소스의 kernel/trace/trace_events_trigger.c 파일에서 trigger_data_free() 함수에 NULL 체크 추가 확인.

Shell / Script
uname -r | awk -F. '{print ($1>6 || ($1==6 && $2>=18)) ? "Patched" : "Vulnerable"}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel