CVE-2026-90002 in Linux
요약
\~에 의해 VulDB • 2026. 09. 17.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ftrace: ftrace_ops에 접근하기 전에 trace_array 참조를 획득함
trace 인스턴스 파일인 set_ftrace_filter 및 set_ftrace_notrace가 특정 trace 인스턴스(trace_arrays)와 함께 작동하도록 업데이트되었습니다. 해당 문제는 이러한 파일이 열릴 때 inode->private 포인터에서 ftrace_ops를 사용하여 trace_array의 참조를 얻은 후 그 참조를 획득하는 동안 작은 race window(경쟁 조건 창)가 발생한다는 점입니다. 문제는 ftrace_ops 자체가 해제될(freed) 수 있다는 것입니다. 인스턴스에 대한 rmdir 작업이 set_ftrace_filter 파일이 열리는 시점과 동시에 발생하면, rmdir로 인해 ftrace_ops도 해제되었을 수 있으며 이를 참조하는 것은 use-after-free 버그를 유발하여 커널을 충돌시킬 수 있습니다.
대신 trace_array를 파일 private 데이터(NULL은 최상위 인스턴스의 경우)로 전달한 후, trace_array와 ftrace_ops 둘 다를 ftrace_regex_open() 함수에 전달합니다. trace_array가 NULL인 경우에는 단순히 참조를 획득할 필요 없이 ftrace_ops만 사용합니다(일반적인 동작과 동일). ftrace_ops이 NULL인 경우는 오직 최상위 인스턴스의 경우이며, 이 때는 global_ops를 사용할 수 있습니다.
이를 통해 인스턴스가 해제될 때 함께 해제될 수도 있는 ftrace_ops에 접근하기 전에 trace_array의 참조 카운트를 증가시킬 수 있게 됩니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.