🇰🇷 한글 설명
Linux 커널의 net/packet/af_packet.c에서 발생하는 경쟁 조건으로, 4.9.13 이전 버전에서 다중 스레드 애플리케이션이 PACKET_FANOUT setsockopt 시스템 호출을 수행할 때 Use-After-Free 취약점을 유발한다. 이를 통해 로컬 공격자가 서비스 거부를 일으키거나 커널 권한으로 임의의 코드를 실행할 수 있다.
💡 쉬운 설명
Linux의 네트워크 패킷 처리 부분에서 메모리를 잘못 관리하는 버그로, 동시에 여러 작업을 하는 프로그램이 이를 악용하면 시스템을 멈추게 할 수 있다. 컴퓨터에 로그인할 수 있는 사람만 공격할 수 있으며, 원격에서는 불가능하다.
🇺🇸 원문 (English)
Race condition in net/packet/af_packet.c in the Linux kernel before 4.9.13 allows local users to cause a denial of service (use-after-free) or possibly have unspecified other impact via a multithreaded application that makes PACKET_FANOUT setsockopt system calls.
📍 영향받는 시스템
Linux kernel < 4.9.13 (모든 배포판: Ubuntu, Debian, CentOS, Red Hat 등)
⚔️ 공격 벡터
로컬 공격자가 PACKET_FANOUT을 이용한 다중 스레드 애플리케이션으로 경쟁 조건 트리거
🛡️ 대응 방법
Linux 커널을 4.9.13 이상으로 업그레이드
🔧 검증 코드
"vulnerable"이 출력되면 패치되지 않은 버전이고, "patched"가 출력되면 4.9.13 이상의 안전한 버전이다.
uname -r | awk -F. '{if($1<4 || ($1==4 && $2<9) || ($1==4 && $2==9 && $3<13)) print "vulnerable"; else print "patched"}'