🇰🇷 한글 설명
Linux 커널의 sock_hash_free() 함수에서 대량의 버킷을 가진 맵 삭제 시 CPU를 양보하지 않아 소프트 락업(시스템 응답 불가)을 일으키는 문제입니다. cond_resched() 호출 추가로 필요할 때 CPU를 반환하도록 수정되었습니다.
💡 쉬운 설명
리눅스 시스템 내부에서 대량의 네트워크 데이터 구조를 정리할 때 시스템이 일시적으로 응답 불가가 될 수 있는 문제입니다. 커널 업데이트로 해결됩니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
sock_map: Add a cond_resched() in sock_hash_free()
Several syzbot soft lockup reports all have in common sock_hash_free()
If a map with a large number of buckets is destroyed, we need to yield
the cpu when needed.
📍 영향받는 시스템
Linux kernel 5.10 이상의 패치되지 않은 모든 버전
⚔️ 공격 벡터
로컬 사용자가 sock_map 생성/삭제를 반복하여 CPU 락업 유발
🛡️ 대응 방법
영향받는 Linux 커널을 최신 보안 패치 버전으로 업데이트
🔧 검증 코드
커널 버전 확인 후 sock_map.c 파일에 cond_resched() 함수가 포함되어 있으면 패치됨
uname -r && grep -q 'cond_resched' /usr/src/linux-headers-$(uname -r)/net/core/sock_map.c 2>/dev/null && echo 'PATCHED' || echo 'UNPATCHED'