🇰🇷 한글 설명
Linux 커널의 netfilter conntrack 모듈에서 netlink 정책 검증이 부족하여 사용자 입력값이 유효성 검사 없이 커널 메모리에 직접 할당되는 취약점입니다. SCTP 상태 정보와 연결 방향 정보에서 out-of-bounds 메모리 접근이 발생하여 정보 유출 및 DoS가 가능합니다.
💡 쉬운 설명
Linux 커널이 네트워크 연결 추적 시 사용자가 보낸 데이터를 제대로 검증하지 않아 허용되지 않은 메모리 영역에 접근할 수 있습니다. 이를 악용하면 시스템 정보를 유출하거나 시스템을 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: conntrack: add missing netlink policy validations
Hyunwoo Kim reports out-of-bounds access in sctp and ctnetlink.
These attributes are used by the kernel without any validation.
Extend the netlink policies accordingly.
Quoting the reporter:
nlattr_to_sctp() assigns the user-supplied CTA_PROTOINFO_SCTP_STATE
value directly to ct->proto.sctp.state without checking that it is
within the valid range. [..]
and: ... with exp->dir = 100, the access at
ct->master->tuplehash[100] reads 5600 bytes past the start of a
320-byte nf_conn object, causing a slab-out-of-bounds read confirmed by
UBSAN.
📍 영향받는 시스템
Linux kernel with netfilter conntrack module (specific patched version required from official CVE database)
⚔️ 공격 벡터
로컬 공격자가 netlink 소켓을 통해 조작된 SCTP conntrack 정보 또는 exp->dir 값을 전송하여 out-of-bounds read 유발
🛡️ 대응 방법
Linux 커널 패치 적용 (netlink 정책 검증 추가 커밋 적용)
🔧 검증 코드
커널 버전이 CVE 패치 버전 이상인지 확인하여 취약점 존재 여부 판단 (정확한 패치 버전은 kernel.org 또는 배포판 보안 권고 참조)
cat /proc/version | grep -oP 'Linux version \K[^ ]+'