🔍 CVE-2021-47248

7.8
CVSS Score
HIGH
2024-05-21
2026-08-04 10:16
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 UDP 프로토콜 구현에서 close() 함수와 udp_abort() 함수 간의 레이스 컨디션(경쟁 상태) 취약점이 발견되었습니다. udp_abort()가 소켓 잠금을 해제한 후 파괴적인 작업을 수행하는 과정에서 충돌이 발생하여 커널 패닉을 유발할 수 있습니다.

💡 쉬운 설명

네트워크 연결을 끊는 두 가지 작업이 동시에 일어날 때, 시스템이 혼란을 겪어 갑자기 멈추거나 꺼질 수 있는 문제입니다. 이는 컴퓨터의 핵심인 커널이 예상치 못한 오류로 인해 중단되는 현상을 일으킵니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: udp: fix race between close() and udp_abort() Kaustubh reported and diagnosed a panic in udp_lib_lookup(). The root cause is udp_abort() racing with close(). Both racing functions acquire the socket lock, but udp{v6}_destroy_sock() release it before performing destructive actions. We can't easily extend the socket lock scope to avoid the race, instead use the SOCK_DEAD flag to prevent udp_abort from doing any action when the critical race happens. Diagnosed-and-tested-by: Kaustubh Pandey <[email protected]>

📍 영향받는 시스템

UDP 프로토콜을 사용하는 리눅스 커널 버전

⚔️ 공격 벡터

특정 네트워크 상황에서 소켓 종료와 중단 요청을 동시에 유도하여 커널 패닉 유발

🛡️ 대응 방법

해당 취약점이 수정된 최신 리눅스 커널 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 보안 업데이트 버전인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel