🇰🇷 한글 설명
Linux 커널의 netfilter xt_multiport 구성 요소에서 포트 범위 인코딩을 검증하지 못하는 취약점이 발견되었습니다. 잘못된 규칙이 설정될 경우 ports_match_v1() 함수가 유효한 범위를 벗어나 메모리를 참조할 수 있습니다.
💡 쉬운 설명
네트워크 규칙을 설정할 때 잘못된 포트 범위를 입력하면 시스템이 허용되지 않은 메모리 영역을 읽으려 시도할 수 있습니다. 이는 시스템의 안정성을 해치거나 예기치 않은 동작을 유발할 수 있는 문제입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: xt_multiport: validate range encoding in checkentry
ports_match_v1() treats any non-zero pflags entry as the start of a
port range and unconditionally consumes the next ports[] element as
the range end.
The checkentry path currently validates protocol, flags and count, but
it does not validate the range encoding itself. As a result, malformed
rules can mark the last slot as a range start or place two range starts
back to back, leaving ports_match_v1() to step past the last valid
ports[] element while interpreting the rule.
Reject malformed multiport v1 rules in checkentry by validating that
each range start has a following element and that the following element
is not itself marked as another range start.
📍 영향받는 시스템
Linux kernel (netfilter xt_multiport 모듈 사용 시스템)
⚔️ 공격 벡터
조작된 multiport v1 규칙을 생성하여 커널의 포트 범위 검증 로직을 우회
🛡️ 대응 방법
커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 checkentry 단계의 범위 검증 로직 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인