🇰🇷 한글 설명
Linux 커널의 net 서브시스템에서 dst_release 함수 호출 시 캐시된 dst 카운터를 적절히 감소시키지 않아 발생하는 취약점입니다. CONFIG_DST_CACHE가 활성화된 상태에서 OvS 및 터널링을 사용할 경우, 이미 해제된 메모리에 접근하여 커널 페이지 폴트(Kernel Paging Request)를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터의 네트워크 정보를 저장하는 메모리 관리 과정에서, 이미 삭제된 정보를 다시 사용하려고 시도하여 시스템이 멈추거나 오류가 발생하는 문제입니다. 특히 특정 네트워크 설정(OvS, 터널링)을 사용할 때 발생할 위험이 높습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: decrease cached dst counters in dst_release
Upstream fix ac888d58869b ("net: do not delay dst_entries_add() in
dst_release()") moved decrementing the dst count from dst_destroy to
dst_release to avoid accessing already freed data in case of netns
dismantle. However in case CONFIG_DST_CACHE is enabled and OvS+tunnels
are used, this fix is incomplete as the same issue will be seen for
cached dsts:
Unable to handle kernel paging request at virtual address ffff5aabf6b5c000
Call trace:
percpu_counter_add_batch+0x3c/0x160 (P)
dst_release+0xec/0x108
dst_cache_destroy+0x68/0xd8
dst_destroy+0x13c/0x168
dst_destroy_rcu+0x1c/0xb0
rcu_do_batch+0x18c/0x7d0
rcu_core+0x174/0x378
rcu_core_si+0x18/0x30
Fix this by invalidating the cache, and thus decrementing cached dst
counters, in dst_release too.
📍 영향받는 시스템
CONFIG_DST_CACHE가 활성화되고 OvS 및 터널링을 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
네트워크 네임스페이스(netns) 해제 또는 특정 네트워크 트래픽 유도를 통한 커널 메모리 접근 오류 유발
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 패치 버전 이후인지 확인하십시오.