🇰🇷 한글 설명
OpenSIPS 3.4.0부터 3.6.5 버전의 presence 모듈에서 SIP PUBLISH 요청 처리 시 발생하는 서비스 거부(DoS) 취약점입니다. enable_sphere_check 옵션이 활성화된 상태에서 특정 헤더 처리가 미흡하여 NULL 포인터 역참조로 인한 시스템 충돌이 발생할 수 있습니다.
💡 쉬운 설명
해커가 특수하게 조작된 메시지를 보내면 OpenSIPS 서버가 갑자기 멈춰버리는 문제입니다. 서버가 메시지의 형식을 확인하기도 전에 잘못된 정보를 읽으려다 오류가 발생하여 서비스가 중단됩니다.
🇺🇸 원문 (English)
OpenSIPS is a Session Initiation Protocol (SIP) server implementation. Versions 3.4.0 through 3.6.5 contain a denial of service vulnerability in the presence module. When the presence module's handle_publish() function processes a SIP PUBLISH request with an Event: presence header and a message body while the configuration option enable_sphere_check=1 is set, it invokes the get_content_type() macro without first calling parse_content_type_hdr(), causing it to dereference uninitialized or NULL Content-Type parsing state and crash. If a Content-Type header is present but unparsed, msg->content_type->parsed is NULL and is dereferenced as a content_t pointer; if the request lacks a Content-Type header entirely, msg->content_type itself is NULL, and both cases lead to a crash. A remote attacker can therefore cause a denial of service against an affected instance with a single PUBLISH request over UDP or TCP, using either a valid Content-Type: application/pidf+xml request or one with the header removed, and the vulnerable code path itself does not enforce authentication (though a deployment's routing configuration may require it before this route is reached). The issue has been fixed in version 3.6.6 and 4.0.0-rc1.
📍 영향받는 시스템
OpenSIPS versions 3.4.0 through 3.6.5
⚔️ 공격 벡터
UDP 또는 TCP를 통해 인증 없이 조작된 SIP PUBLISH 요청을 전송
🛡️ 대응 방법
OpenSIPS를 버전 3.6.6 또는 4.0.0-rc1 이상으로 업데이트
🔧 검증 코드
출력된 버전이 3.4.0에서 3.6.5 사이라면 해당 취약점에 노출된 상태입니다.
opensips -V 2>/dev/null | grep -E '3\.[4-6]\.'
💻 영향받는 소프트웨어
IBM WebSphere Application Server