🇰🇷 한글 설명
Linux 커널의 net: dsa 구성 요소에서 get_sset_count() 함수가 실패할 경우 발생하는 크래시 취약점입니다. 오류 코드가 부호 없는 정수형(unsigned int)으로 처리되어 매우 큰 값으로 변환됨에 따라, 루프가 비정상적으로 실행되어 메모리를 손상시키고 시스템을 중단시킬 수 있습니다.
💡 쉬운 설명
시스템 내부에서 오류가 발생했을 때 이를 처리하는 과정에서 숫자를 잘못 계산하여 컴퓨터가 멈추거나 고장 날 수 있는 문제입니다. 잘못된 숫자가 너무 크게 인식되어 메모리를 마구잡이로 건드리기 때문에 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: dsa: fix a crash if ->get_sset_count() fails
If ds->ops->get_sset_count() fails then it "count" is a negative error
code such as -EOPNOTSUPP. Because "i" is an unsigned int, the negative
error code is type promoted to a very high value and the loop will
corrupt memory until the system crashes.
Fix this by checking for error codes and changing the type of "i" to
just int.
📍 영향받는 시스템
Linux Kernel (net: dsa 관련 모듈을 사용하는 시스템)
⚔️ 공격 벡터
특정 네트워크 드라이버(DSA)를 통해 오류를 유도하여 메모리 손상 및 시스템 크래시 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인