🇰🇷 한글 설명
SIPSorcery 라이브러리의 RTP 및 STUN 속성 파싱 과정에서 길이 검증 미흡으로 인한 취약점이 발견되었습니다. 공격자가 조작된 RTP 패킷이나 STUN 주소 속성을 전송할 경우, 예외 발생으로 인해 활성화된 RTP 또는 WebRTC 미디어 세션이 강제로 종료될 수 있습니다.
💡 쉬운 설명
해커가 특수하게 만든 가짜 데이터를 보내면 진행 중인 화상 통화나 음성 통화 연결을 끊어버릴 수 있는 문제입니다. 별도의 로그인 없이도 통화 연결을 방해할 수 있어 서비스 이용에 불편을 줍니다.
🇺🇸 원문 (English)
SIPSorcery is a WebRTC, SIP, and VoIP library for C# and .NET. Prior to 10.0.9, RTPChannel.OnRTPPacketReceived and the STUNAttribute.ParseMessageAttributes, STUNXORAddressAttribute, and STUNAddressAttribute parsing path index untrusted bytes without sufficient length checks, while UdpReceiver.EndReceiveFrom closes the channel when those operations raise a non-socket exception. A remote party can send a single short RTP packet or malformed zero-to-seven-byte STUN address attribute to the shared RTP/ICE socket, including during ICE connectivity checks before DTLS or STUN MESSAGE-INTEGRITY verification, and terminate the active RTP or WebRTC media session. The attacker must reach or learn the advertised ephemeral RTP/ICE port, but no authentication or user interaction is required, and the impact is limited to availability. This issue is fixed in version 10.0.9.
📍 영향받는 시스템
SIPSorcery 라이브러리 10.0.9 미만 버전
⚔️ 공격 벡터
공격자가 대상의 RTP/ICE 포트로 조작된 짧은 RTP 패킷 또는 잘못된 STUN 주소 속성을 전송
🛡️ 대응 방법
SIPSorcery 라이브러리를 최신 버전인 10.0.9 이상으로 업데이트
🔧 검증 코드
출력된 SIPSorcery의 버전이 10.0.9 미만인지 확인
dotnet list package | grep SIPSorcery