🇰🇷 한글 설명
리눅스 커널의 netfilter xt_connmark 모듈에서 사용자 제어 가능한 shift 매개변수를 처리할 때 발생하는 취약점입니다. shift_bits 값이 32 이상일 경우 정의되지 않은 동작(undefined-shift)이 발생하며, 잘못된 shift_dir 값도 허용되는 문제가 있습니다.
💡 쉬운 설명
네트워크 규칙을 설정할 때 잘못된 숫자를 입력하면 컴퓨터가 예상치 못한 동작을 하여 시스템이 불안정해질 수 있는 문제입니다. 공격자가 이 규칙을 악용하여 시스템의 데이터 처리 방식에 혼란을 줄 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: xt_connmark: reject invalid shift parameters
Revision 2 of the CONNMARK target accepts user-controlled shift
parameters and applies them to 32-bit mark values in
connmark_tg_shift().
A shift_bits value of 32 or more triggers an undefined-shift bug when
the rule is evaluated. Invalid shift_dir values are also accepted and
silently fall back to the left-shift path.
Reject invalid revision-2 shift parameters in connmark_tg_check() so
malformed rules fail at installation time, before they can reach the
packet path.
📍 영향받는 시스템
xt_connmark 모듈을 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
사용자가 조작된 shift 매개변수를 포함한 netfilter 규칙을 생성하여 커널에 적용
🛡️ 대응 방법
커널 업데이트를 통해 connmark_tg_check() 함수에서 유효하지 않은 매개변수를 차단하도록 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인