🇰🇷 한글 설명
Linux 커널의 SCTP 프로토콜 구현에서 sctp_wait_for_connect와 peeloff 함수 간의 경쟁 상태(Race Condition) 취약점이 발견되었습니다. 연결 대기 중 소켓 잠금이 해제된 사이 다른 스레드가 연결을 다른 소켓으로 이전할 경우, 잘못된 잠금 하에서 데이터에 접근하게 되어 시스템 불안정성을 초래할 수 있습니다.
💡 쉬운 설명
네트워크 연결을 기다리는 동안 다른 작업이 연결 정보를 몰래 바꿔치기할 수 있는 허점이 있습니다. 이로 인해 컴퓨터가 잘못된 정보를 참조하게 되어 오류가 발생하거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
sctp: fix race between sctp_wait_for_connect and peeloff
sctp_wait_for_connect() drops and re-acquires the socket lock while
waiting for the association to reach ESTABLISHED state. During this
window, another thread can peeloff the association to a new socket via
getsockopt(SCTP_SOCKOPT_PEELOFF), changing asoc->base.sk. After
re-acquiring the old socket lock, sctp_wait_for_connect() returns
success without noticing the migration — the caller then accesses
the association under the wrong lock in sctp_datamsg_from_user().
Add the same sk != asoc->base.sk check that sctp_wait_for_sndbuf()
already has, returning an error if the association was migrated while
we slept.
📍 영향받는 시스템
SCTP 프로토콜을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
SCTP 소켓의 연결 대기 상태를 이용한 멀티스레드 경쟁 상태 유도
🛡️ 대응 방법
SCTP 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인합니다.