🇰🇷 한글 설명
Linux 커널의 SCTP 프로토콜 구현 중 SCTP_CMD_TIMER_START 핸들러에서 TOCTOU(Time-of-Check to Time-of-Use) 레이스 컨디션 취약점이 발견되었습니다. 타이머 상태를 확인하고 재설정하는 과정 사이의 간극으로 인해 참조 카운트 불균형이 발생하며, 이는 연결 해제 시 Use-After-Free(UAF) 오류를 유발할 수 있습니다.
💡 쉬운 설명
네트워크 통신 방식 중 하나인 SCTP를 사용할 때, 타이머를 조절하는 과정에서 시스템이 혼란을 겪어 메모리 오류가 발생할 수 있습니다. 이 오류를 악용하면 해커가 시스템의 제어권을 획득하거나 프로그램을 강제로 종료시킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
sctp: fix a TOCTOU race in SCTP_CMD_TIMER_START
The SCTP_CMD_TIMER_START handler checks timer_pending() before calling
timer_reduce(). The timer can expire and detach between these operations,
causing timer_reduce() to rearm the timer without taking the association
reference required for the newly armed timer.
The timer callback later unconditionally drops its association reference,
which can leave the association reference count unbalanced and result in
use-after-free during association teardown.
Use the return value of timer_reduce() to determine whether the timer was
actually armed. Take the association reference only when timer_reduce()
successfully starts a new timer, closing the race between checking the
timer state and rearming it.
This issue was reported by Nico Yip (@_cyeaa_) working with TrendAI Zero
Day Initiative.
📍 영향받는 시스템
SCTP 프로토콜을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
조작된 SCTP 패킷을 전송하여 타이머 핸들러의 레이스 컨디션을 유도하는 방식
🛡️ 대응 방법
SCTP 타이머 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인