🇰🇷 한글 설명
Linux 커널의 SCTP 프로토콜 구현 중 __sctp_rcv_asconf_lookup() 함수에서 초기화되지 않은 값을 읽는 취약점이 발견되었습니다. 인증되지 않은 공격자가 조작된 ASCONF 청크를 전송하면, 시스템이 매개변수 길이를 신뢰하여 메모리 경계를 넘어 초기화되지 않은 데이터를 읽을 수 있습니다.
💡 쉬운 설명
해커가 특수하게 조작된 데이터를 보내면 컴퓨터 메모리의 민감한 정보가 유출될 수 있는 보안 결함입니다. 데이터의 실제 길이와 선언된 길이가 다를 때 발생하는 문제입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
sctp: fix uninit-value in __sctp_rcv_asconf_lookup()
__sctp_rcv_asconf_lookup() in net/sctp/input.c only checks that the ASCONF
chunk can hold the ADDIP header and a parameter header, then calls
af->from_addr_param(), which reads the full address (16 bytes for IPv6)
trusting the parameter's declared length.
An unauthenticated peer can send a truncated trailing ASCONF chunk that
declares an IPv6 address parameter but stops after the 4-byte parameter
header; reached from the no-association lookup path, from_addr_param() then
reads uninitialized bytes past the parameter.
Impact: an unauthenticated SCTP peer makes the receive path read up to 16
bytes of uninitialized memory past a truncated ASCONF address parameter.
The sibling __sctp_rcv_init_lookup() bounds parameters with
sctp_walk_params(); this path open-codes the fetch and omits the bound.
Verify the whole address parameter lies within the chunk before
from_addr_param() reads it, the same class of fix as commit 51e5ad549c43
("net: sctp: fix KMSAN uninit-value in sctp_inq_pop").
📍 영향받는 시스템
SCTP 프로토콜을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
인증되지 않은 원격 공격자가 조작된 SCTP ASCONF 청크 패킷을 전송
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인