🇰🇷 한글 설명
리눅스 커널의 enic 이더넷 드라이버 내 enic_hard_start_xmit 함수에서 Use-After-Free 취약점이 발견되었습니다. 오류 발생 시 skb(소켓 버퍼)가 해제된 후에도 skb_tx_timestamp 함수에서 해당 메모리에 다시 접근하여 문제가 발생합니다.
💡 쉬운 설명
컴퓨터가 이미 사용이 끝나서 버린 메모리 공간을 다시 사용하려고 시도할 때 발생하는 오류입니다. 이로 인해 시스템이 멈추거나 해커가 시스템 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ethernet:enic: Fix a use after free bug in enic_hard_start_xmit
In enic_hard_start_xmit, it calls enic_queue_wq_skb(). Inside
enic_queue_wq_skb, if some error happens, the skb will be freed
by dev_kfree_skb(skb). But the freed skb is still used in
skb_tx_timestamp(skb).
My patch makes enic_queue_wq_skb() return error and goto spin_unlock()
incase of error. The solution is provided by Govind.
See https://lkml.org/lkml/2021/4/30/961.
📍 영향받는 시스템
enic 이더넷 드라이버를 사용하는 Linux 커널 버전
⚔️ 공격 벡터
네트워크 패킷 전송 과정에서 특정 오류를 유도하여 메모리 오류를 일으키는 방식
🛡️ 대응 방법
enic 드라이버의 Use-After-Free 오류가 수정된 최신 리눅스 커널로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 보안 패치가 적용된 버전인지 확인합니다.