🇰🇷 한글 설명
Linux 커널의 SCTP 프로토콜 구현 중 diag 경로에서 오래된 연결(stale association)을 적절히 거부하지 못하는 취약점이 발견되었습니다. 이로 인해 이미 해제된 메모리 영역을 참조하게 되어, 잘못된 데이터를 읽거나 메모리 경계를 벗어나는 읽기(out-of-bounds read) 오류가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 이미 종료된 통신 연결 정보를 확인하려다가, 이미 사라진 메모리 주소를 잘못 건드려 시스템 오류를 일으킬 수 있는 문제입니다. 이 과정에서 시스템의 민감한 정보가 잘못 읽힐 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
sctp: diag: reject stale associations in dump_one path
The SCTP exact sock_diag lookup can hold a transport reference, block on
lock_sock(sk), and then resume after sctp_association_free() has marked
the association dead and freed its bind address list.
When that happens, inet_assoc_attr_size() and
inet_diag_msg_sctpasoc_fill() can still dereference association state
that is no longer valid for reporting. In particular,
inet_diag_msg_sctpasoc_fill() may read an empty bind-address list as a
real sctp_sockaddr_entry and trigger an out-of-bounds read from
unrelated association memory.
Reject the association after taking the socket lock if it has been
reaped or detached from the endpoint, and report the lookup as stale.
This keeps the exact dump-one path from formatting torn association
state.
📍 영향받는 시스템
SCTP 프로토콜을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
특수하게 조작된 SCTP 진단 요청을 통해 메모리 경계 외 읽기 유도
🛡️ 대응 방법
SCTP 관련 취약점이 패치된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 보안 패치 버전인지 확인