🇰🇷 한글 설명
Linux 커널의 af_key 구성 요소에서 pfkey_send_migrate() 함수가 프로토콜 패밀리를 적절히 검증하지 않아 발생하는 취약점입니다. 이로 인해 set_ipsecrequest() 호출 시 데이터가 잘려나가 skb(socket buffer)를 초과하여 채우게 되며, 결과적으로 시스템 크래시를 유발할 수 있습니다.
💡 쉬운 설명
데이터를 전달하는 과정에서 규격에 맞는지 확인하는 절차가 누락되어, 정해진 그릇보다 더 많은 데이터를 담으려다 시스템이 멈추는 문제입니다. 잘못된 데이터 크기 계산으로 인해 컴퓨터의 핵심 기능이 갑자기 중단될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
af_key: validate families in pfkey_send_migrate()
syzbot was able to trigger a crash in skb_put() [1]
Issue is that pfkey_send_migrate() does not check old/new families,
and that set_ipsecrequest() @family argument was truncated,
thus possibly overfilling the skb.
Validate families early, do not wait set_ipsecrequest().
[1]
skbuff: skb_over_panic: text:ffffffff8a752120 len:392 put:16 head:ffff88802a4ad040 data:ffff88802a4ad040 tail:0x188 end:0x180 dev:<NULL>
kernel BUG at net/core/skbuff.c:214 !
Call Trace:
<TASK>
skb_over_panic net/core/skbuff.c:219 [inline]
skb_put+0x159/0x210 net/core/skbuff.c:2655
skb_put_zero include/linux/skbuff.h:2788 [inline]
set_ipsecrequest net/key/af_key.c:3532 [inline]
pfkey_send_migrate+0x1270/0x2e50 net/key/af_key.c:3636
km_migrate+0x155/0x260 net/xfrm/xfrm_state.c:2848
xfrm_migrate+0x2140/0x2450 net/xfrm/xfrm_policy.c:4705
xfrm_do_migrate+0x8ff/0xaa0 net/xfrm/xfrm_user.c:3150
📍 영향받는 시스템
Linux Kernel (af_key/pfkey 관련 모듈 사용 시스템)
⚔️ 공격 벡터
조작된 네트워크 프로토콜 패밀리 정보를 포함한 pfkey 관련 시스템 호출을 통한 로컬/원격 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 pfkey_send_migrate()의 패밀리 검증 로직을 적용해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.