🇰🇷 한글 설명
리눅스 커널에서 커널 스택 트레이스 기록 시 무한 재귀가 발생하는 문제가 해결되었습니다. 커널 스택 트레이스 트리거가 활성화된 상태에서 RCU 이벤트를 추적하면, 스택 트레이스 코드가 RCU를 다시 호출하고 RCU가 다시 스택 트레이스를 호출하는 순환이 발생했습니다. 이를 막기 위해 ftrace 재귀 보호에 이벤트별 컨텍스트(일반, softirq, 인터럽트, NMI) 비트를 추가하고, 스택 트레이스 코드가 인터럽트 컨텍스트를 사용해 재귀를 방지하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터의 추적 기능이 자기 자신을 계속 반복 호출하면서 시스템이 멈추거나 불안정해질 수 있는 문제를 고쳤습니다. 이번 수정은 추적 기능 쪽의 문제만 다루며, RCU 쪽의 문제는 별도로 처리됩니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tracing: Add recursion protection in kernel stack trace recording
A bug was reported about an infinite recursion caused by tracing the rcu
events with the kernel stack trace trigger enabled. The stack trace code
called back into RCU which then called the stack trace again.
Expand the ftrace recursion protection to add a set of bits to protect
events from recursion. Each bit represents the context that the event is
in (normal, softirq, interrupt and NMI).
Have the stack trace code use the interrupt context to protect against
recursion.
Note, the bug showed an issue in both the RCU code as well as the tracing
stacktrace code. This only handles the tracing stack trace side of the
bug. The RCU fix will be handled separately.
📍 영향받는 시스템
커널 스택 트레이스 트리거(ftrace)와 RCU 이벤트 추적을 사용하는 수정 이전 리눅스 커널 버전
⚔️ 공격 벡터
권한이 있는 로컬 사용자가 추적 설정을 활성화해 무한 재귀를 유발하여 서비스 거부(시스템 불안정)를 일으킬 수 있음
🛡️ 대응 방법
패치된 리눅스 커널 버전으로 업데이트하고 재부팅
🔧 검증 코드
출력된 커널 버전이 배포판의 보안 권고에서 제시한 수정된 버전 이상인지 확인하고, 미만이면 커널 업데이트가 필요합니다.