🔍 CVE-2026-90013

7.8
CVSS Score
HIGH
2026-09-16
2026-10-30 13:20
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 tracing 기능에서 options 파일을 열 때 trace_array 참조를 제대로 수행하지 않아 발생하는 취약점입니다. 이로 인해 한 작업이 파일을 여는 동안 다른 작업이 해당 인스턴스를 제거하면 Use-After-Free(UAF)가 발생하여 커널 크래시가 일어날 수 있습니다.

💡 쉬운 설명

시스템의 기록 기능을 사용하는 과정에서 데이터가 삭제되는 타이밍 문제로 인해 컴퓨터가 갑자기 멈추거나 오류가 발생할 수 있는 문제입니다. 파일이 사용 중인지 확인하는 절차가 누락되어 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: tracing: Take trace_array reference when opening options file The options files do not take the trace_array reference for the options they represent. This could cause a use-after-free kernel crash if one of these files is opened by one task and another task removes the instance that the option is for. Because it doesn't take a reference upon opening, it will not stop the removal which will free the options descriptor that is being used. As the options are somewhat dynamic in their creation at boot up, each file represents a flag in the trace_array. The trace_array has an array of indexes to represent each of these flags that is stored in the trace_flags_index array. The address of the index array element is used to pass to the inode->i_private pointer. Then that element is read which holds the index (which represents the flag) and then the index is used to calculate the trace_array descriptor from its trace_flags_index array. One issue is that the index element can not be referenced until the trace_array's reference is taken. To handle this, create a new helper function called: trace_array_options_get() that will iterate all the existing trace_arrays in the ftrace_trace_arrays list (under the trace_types_lock), and compare the passed in address of the index element with the entire array of the trace_array's trace_flags_index array. If it matches, then up the corresponding trace_array's reference and return.

📍 영향받는 시스템

Linux Kernel (tracing/ftrace 관련 모듈 사용 시스템)

⚔️ 공격 벡터

로컬 권한을 가진 사용자가 특정 tracing options 파일을 열고 동시에 해당 인스턴스를 제거하도록 유도하여 커널 메모리 오류 유발

🛡️ 대응 방법

리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 trace_array_options_get() 헬퍼 함수가 포함된 수정본을 적용해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.

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

💻 영향받는 소프트웨어

Linux Kernel