SB2020061118 - Multiple vulnerabilities in Janus WebRTC Server
Published: June 11, 2020 Updated: July 15, 2020
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 6 vulnerabilities.
1) Out-of-bounds read (CVE-ID: CVE-2020-13899)
The vulnerability allows a remote attacker to gain access to potentially sensitive information.
The vulnerability exists due to a boundary condition in "janus_process_incoming_request" in "janus.c" file. A remote attacker can trigger out-of-bounds read error and read contents of memory on the system.
2) Buffer overflow (CVE-ID: CVE-2020-14034)
The vulnerability allows a remote attacker to execute arbitrary code on the target system.
The vulnerability exists due to a boundary error in "janus_get_codec_from_pt" in the "utils.c" file. A remote attacker can use a specially crafted SDP Offer packet, trigger memory corruption and execute arbitrary code on the target system.
Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.
3) Buffer overflow (CVE-ID: CVE-2020-14033)
The vulnerability allows a remote attacker to execute arbitrary code on the target system.
The vulnerability exists due to a boundary error in "janus_streaming_rtsp_parse_sdp" in the "plugins/janus_streaming.c" file. A remote attacker can use a specially crafted RTSP server, trigger memory corruption and execute arbitrary code on the target system.
Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.
4) Out-of-bounds write (CVE-ID: CVE-2020-13901)
The vulnerability allows a remote attacker to compromise vulnerable system.
The vulnerability exists due to a boundary error when processing untrusted input in "janus_sdp_merge" in the "sdp.c" file. A remote attacker can trigger out-of-bounds write and execute arbitrary code on the target system.
5) NULL pointer dereference (CVE-ID: CVE-2020-13900)
The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.
The vulnerability exists due to a NULL pointer dereference error in "janus_sdp_preparse" in the "sdp.c" file. A remote attacker can perform a denial of service (DoS) attack.
6) NULL pointer dereference (CVE-ID: CVE-2020-13898)
The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.
The vulnerability exists due to a NULL pointer dereference error in "janus_sdp_process" in the "sdp.c" file. A remote attacker can perform a denial of service (DoS) attack.
Remediation
Install update from vendor's website.
References
- https://github.com/meetecho/janus-gateway/blob/v0.10.0/janus.c#L1326
- https://github.com/meetecho/janus-gateway/pull/2214
- https://github.com/merrychap/CVEs/tree/master/CVE-2020-13899
- https://github.com/meetecho/janus-gateway/blob/v0.10.0/utils.c#L381
- https://github.com/meetecho/janus-gateway/blob/v0.10.0/utils.c#L401
- https://github.com/meetecho/janus-gateway/pull/2229
- https://github.com/meetecho/janus-gateway/blob/v0.10.0/plugins/janus_streaming.c#L6117
- https://github.com/meetecho/janus-gateway/blob/v0.10.0/plugins/janus_streaming.c#L6166
- https://github.com/meetecho/janus-gateway/blob/v0.10.0/sdp.c#L1248
- https://github.com/merrychap/CVEs/tree/master/CVE-2020-13901
- https://github.com/meetecho/janus-gateway/blob/v0.10.0/sdp.c#L64
- https://github.com/meetecho/janus-gateway/blob/v0.10.0/sdp.c#L74
- https://github.com/merrychap/CVEs/tree/master/CVE-2020-13900
- https://github.com/meetecho/janus-gateway/blob/v0.10.0/sdp.c#L120
- https://github.com/meetecho/janus-gateway/blob/v0.10.0/sdp.c#L123
- https://github.com/merrychap/CVEs/tree/master/CVE-2020-13898