🇰🇷 한글 설명
리눅스 커널의 TLS 구현 중 get_netdev_for_sock() 함수에서 RCU 보호 없이 네트워크 장치를 참조하여 Use-After-Free(UAF) 취약점이 발생할 수 있습니다. 이를 해결하기 위해 __sk_dst_get() 및 dst_dev_rcu()를 사용하여 안전하게 장치를 참조하도록 수정되었습니다.
💡 쉬운 설명
리눅스 운영체제의 네트워크 통신 기능에서 메모리를 잘못 관리하여 시스템이 충돌하거나 해킹될 수 있는 결함이 발견되었습니다. 보안 패치를 통해 메모리 사용 방식을 안전하게 변경하여 이 문제를 해결했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tls: Use __sk_dst_get() and dst_dev_rcu() in get_netdev_for_sock().
get_netdev_for_sock() is called during setsockopt(),
so not under RCU.
Using sk_dst_get(sk)->dev could trigger UAF.
Let's use __sk_dst_get() and dst_dev_rcu().
Note that the only ->ndo_sk_get_lower_dev() user is
bond_sk_get_lower_dev(), which uses RCU.
📍 영향받는 시스템
TLS 기능을 사용하는 리눅스 커널 버전 (패치 적용 전 버전)
⚔️ 공격 벡터
로컬 공격자가 setsockopt() 시스템 호출을 통해 특정 네트워크 설정을 조작하여 메모리 오류를 유도
🛡️ 대응 방법
최신 보안 패치가 적용된 리눅스 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 버전인지 확인