🇰🇷 한글 설명
Linux 커널의 xfrm 구성 요소에서 xfrm_state_find 함수 호출 시 state_ptrs가 적절히 초기화되지 않는 취약점이 발견되었습니다. 선점(Preemption) 상황에서 CPU 간의 상태 조회 과정 중 초기화되지 않은 포인터를 참조하여 시스템 오류를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터의 핵심 운영체제인 리눅스에서 특정 작업이 처리되는 도중, 준비되지 않은 데이터를 참조하여 시스템이 멈추거나 오류가 발생할 수 있는 문제입니다. 여러 작업이 동시에 일어날 때 데이터가 꼬이는 현상을 방지하기 위한 수정이 필요합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
xfrm: state: initialize state_ptrs earlier in xfrm_state_find
In case of preemption, xfrm_state_look_at will find a different
pcpu_id and look up states for that other CPU. If we matched a state
for CPU2 in the state_cache while the lookup started on CPU1, we will
jump to "found", but the "best" state that we got will be ignored and
we will enter the "acquire" block. This block uses state_ptrs, which
isn't initialized at this point.
Let's initialize state_ptrs just after taking rcu_read_lock. This will
also prevent a possible misuse in the future, if someone adjusts this
function.
📍 영향받는 시스템
xfrm 모듈을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
로컬 시스템에서 특정 네트워크 보안 상태(xfrm state)를 조작하거나 선점 상황을 유도하여 발생
🛡️ 대응 방법
xfrm_state_find 함수에 state_ptrs 초기화 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인