🇰🇷 한글 설명
Linux 커널의 LLC(논리 링크 제어) 서브시스템에서 llc_mac_hdr_init() 실패 시 잘못된 sk_buff 해제로 인해 Use-After-Free와 메모리 누수, 이중 해제가 발생합니다. 세 개의 오류 처리 경로(재전송 I-PDU 처리, XID 응답, TEST 응답)에서 nskb 해제가 누락되었거나 잘못되었습니다.
💡 쉬운 설명
네트워크 데이터를 처리하는 리눅스 커널 코드에서 오류가 발생했을 때 메모리를 잘못 해제하거나 해제하지 않아 시스템이 불안정해질 수 있습니다. 이 취약점은 시스템 충돌이나 메모리 오염을 일으킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
llc: fix skb UAF and leaks on llc_mac_hdr_init() failure
In llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr(), if llc_mac_hdr_init()
fails, kfree_skb(skb) is called instead of kfree_skb(nskb). This leaks
the newly allocated nskb, reads from the freed skb via LLC_I_GET_NR(pdu),
and double-frees skb when llc_conn_state_process() drops its reference.
In llc_sap_action_send_xid_r() and llc_sap_action_send_test_r(), nskb is
leaked if llc_mac_hdr_init() returns an error.
Free nskb in all three error paths.
📍 영향받는 시스템
LLC 서브시스템을 포함한 Linux 커널 (수정 커밋 적용 이전 버전)
⚔️ 공격 벡터
네트워크에서 조작된 LLC 프레임을 전송하여 오류 처리 경로를 유발하고 메모리 손상 또는 서비스 거부를 시도
🛡️ 대응 방법
Linux 커널을 취약점이 수정된 최신 안정 버전 또는 배포판 보안 업데이트로 업데이트
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지 또는 Linux 커널 저장소의 수정 커밋 포함 여부와 비교하여, 수정된 버전 이상이면 패치가 적용된 것이고 이전 버전이면 취약합니다.