Se han revelado hasta cinco vulnerabilidades de seguridad en la biblioteca de comunicación multimedia de código abierto PJSIP que un atacante podría abusar para desencadenar la ejecución de código arbitrario y la denegación de servicio (DoS) en aplicaciones que utilizan la pila de protocolos.
Las debilidades eran identificado y reportado por el equipo de investigación de seguridad de JFrog, luego de lo cual los mantenedores del proyecto lanzaron parches (versión 2.12) la semana pasada el 24 de febrero de 2022.
PJSIP es un integrado de código abierto protocolo SIP suite escrita en C que admite funciones de audio, video y mensajería instantánea para plataformas de comunicación populares como WhatsApp y BlueJeans. Es también usado por Asterisk, un sistema de conmutación de centralita privada (PBX) ampliamente utilizado para redes VoIP.
“Los búferes utilizados en PJSIP suelen tener tamaños limitados, especialmente los asignados en la pila o proporcionados por la aplicación; sin embargo, en varios lugares, no verificamos si nuestro uso puede exceder los tamaños”, dijo Sauw Ming, desarrollador de PJSIP. señalado en un aviso publicado en GitHub el mes pasado, un escenario que podría resultar en desbordamientos de búfer.
La lista de fallas es la siguiente:
- CVE-2021-43299 (Puntuación CVSS: 8.1) – Desbordamiento de pila en la API de PJSUA al llamar a pjsua_player_create()
- CVE-2021-43300 (Puntuación CVSS: 8.1) – Desbordamiento de pila en la API de PJSUA al llamar a pjsua_recorder_create()
- CVE-2021-43301 (Puntuación CVSS: 8.1) – Desbordamiento de pila en la API de PJSUA al llamar a pjsua_playlist_create()
- CVE-2021-43302 (Puntuación CVSS: 5.9) – Leer fuera de los límites en la API de PJSUA al llamar a pjsua_recorder_create()
- CVE-2021-43303 (Puntuación CVSS: 5.9) – Desbordamiento de búfer en la API de PJSUA al llamar a pjsua_call_dump()
La explotación exitosa de las fallas antes mencionadas podría permitir que un actor malicioso pase argumentos controlados por el atacante a cualquiera de las API vulnerables, lo que lleva a la ejecución del código y una condición DoS, dijo Uriya Yavnieli, investigador de JFrog que informó las fallas.