🇰🇷 한글 설명
Linux 커널의 SCTP 프로토콜 구현에서 ASCONF 처리 중 DEL-IP 명령이 잘못된 트랜스포트를 해제하여 발생하는 취약점입니다. 공격자가 특수하게 조작된 ASCONF 청크를 전송하면 해제된 메모리(Dangling Pointer)를 참조하게 되어 시스템 오류나 권한 상승을 유발할 수 있습니다.
💡 쉬운 설명
네트워크 통신 방식 중 하나인 SCTP에서 데이터 처리 순서를 악용해 이미 삭제된 메모리 정보를 다시 사용하게 만드는 오류입니다. 이를 통해 해커가 시스템을 고장 내거나 제어권을 뺏을 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
sctp: don't free the ASCONF's own transport in DEL-IP processing
sctp_process_asconf() caches the transport the ASCONF chunk is processed
against in asconf->transport (== chunk->transport, set once in sctp_rcv()).
For an ASCONF located through its Address Parameter by
__sctp_rcv_asconf_lookup(), that cached transport corresponds to the
Address Parameter, which need not be the packet's source address.
sctp_process_asconf_param() rejects a DEL-IP for the packet source address
(ADDIP D8, SCTP_ERROR_DEL_SRC_IP), but nothing protects asconf->transport.
A single ASCONF can therefore carry, in order:
[Address Parameter L] [DEL-IP L] [DEL-IP 0.0.0.0]
where L differs from the source. The DEL-IP for L passes the D8 check and
calls sctp_assoc_rm_peer() on the transport that asconf->transport still
points at, freeing it (RCU-deferred). The following wildcard DEL-IP then
reuses the now-dangling asconf->transport in sctp_assoc_set_primary() and
sctp_assoc_del_nonprimary_peers(): set_primary() dereferences the freed
transport (->ipaddr, ->state) and plants the dangling pointer into
asoc->peer.primary_path / active_path, and del_nonprimary_peers(), keeping
only the pointer that is no longer on the list, removes every real
transport, leaving the association with a transport_count of 0 and
primary_path/active_path pointing at freed memory.
Reject a DEL-IP that targets the transport the ASCONF is being processed
against, mirroring the existing source-address guard, so the wildcard
branch can never reuse a freed transport.
📍 영향받는 시스템
SCTP 프로토콜을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
조작된 ASCONF(Address Configuration Change) 청크를 포함한 SCTP 패킷 전송
🛡️ 대응 방법
ASCONF 처리 시 현재 처리 중인 트랜스포트가 DEL-IP 대상인 경우 이를 거부하도록 커널 패치 적용
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 최신 보안 패치 버전인지 확인합니다.
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
NVIDIA GPU Display Driver for Linux