🔍 CVE-2025-38636

7.1
CVSS Score
HIGH
2025-08-22
2026-10-21 13:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 DA 모니터 트레이스포인트에서 KASAN이 활성화된 경우 전역 메모리 범위 초과(global-out-of-bounds) 오류가 발생합니다. 이는 트레이스포인트가 문자열 데이터를 읽을 때 실제 크기보다 더 많은 바이트를 읽으려 시도하여 발생하는 문제입니다. 다행히 NULL 종료 문자에 의해 읽기가 중단되므로 실질적인 해를 끼치지는 않지만, 메모리 접근 오류를 유발합니다.

💡 쉬운 설명

컴퓨터 시스템이 정보를 기록할 때, 정해진 길이보다 더 긴 데이터를 읽으려고 시도하여 발생하는 오류입니다. 시스템이 멈추거나 망가질 위험은 낮지만, 보안 검사 도구에서 오류로 감지될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: rv: Use strings in da monitors tracepoints Using DA monitors tracepoints with KASAN enabled triggers the following warning: BUG: KASAN: global-out-of-bounds in do_trace_event_raw_event_event_da_monitor+0xd6/0x1a0 Read of size 32 at addr ffffffffaada8980 by task ... Call Trace: <TASK> [...] do_trace_event_raw_event_event_da_monitor+0xd6/0x1a0 ? __pfx_do_trace_event_raw_event_event_da_monitor+0x10/0x10 ? trace_event_sncid+0x83/0x200 trace_event_sncid+0x163/0x200 [...] The buggy address belongs to the variable: automaton_snep+0x4e0/0x5e0 This is caused by the tracepoints reading 32 bytes __array instead of __string from the automata definition. Such strings are literals and reading 32 bytes ends up in out of bound memory accesses (e.g. the next automaton's data in this case). The error is harmless as, while printing the string, we stop at the null terminator, but it should still be fixed. Use the __string facilities while defining the tracepoints to avoid reading out of bound memory.

📍 영향받는 시스템

Linux Kernel (KASAN 활성화 환경)

⚔️ 공격 벡터

로컬 시스템에서 DA 모니터 트레이스포인트를 사용하는 특정 커널 기능을 호출하여 발생

🛡️ 대응 방법

트레이스포인트 정의 시 __string 시설을 사용하여 메모리 읽기 범위를 올바르게 제한하도록 커널 패치 적용

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 최신 보안 패치 버전인지 확인합니다.

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:N/A:H

💻 영향받는 소프트웨어

Linux Kernel