PJSIP is a free and open source multimedia communication library written in C. In 2.16 and earlier, there is a buffer overflow when decoding Opus audio frames due to insufficient buffer size validation in the Opus codec decode path. The FEC decode buffers (decframe[].buf) were allocated based on a PCM-derived formula: (samplerate/1000) * 60 * channelcnt * 2. At 8 kHz mono this yields only 960 bytes, but codecparse() can output encoded frames up to MAXENCODEDPACKETSIZE (1280) bytes via opusrepacketizeroutrange(). The three pjmemcpy() calls in codecdecode() copied input->size bytes without bounds checking, causing a heap buffer overflow.
{
"binaries": [
{
"binary_name": "asterisk",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-config",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-dahdi",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-mobile",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-modules",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-mp3",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-mysql",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-ooh323",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-tests",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-voicemail",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-voicemail-imapstorage",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-voicemail-odbcstorage",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
},
{
"binary_name": "asterisk-vpb",
"binary_version": "1:13.18.3~dfsg-1ubuntu4"
}
]
}{
"binaries": [
{
"binary_name": "asterisk",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-config",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-dahdi",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-mobile",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-modules",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-mp3",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-mysql",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-ooh323",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-tests",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-voicemail",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-voicemail-imapstorage",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-voicemail-odbcstorage",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
},
{
"binary_name": "asterisk-vpb",
"binary_version": "1:16.2.1~dfsg-2ubuntu1"
}
]
}{
"binaries": [
{
"binary_name": "asterisk",
"binary_version": "1:18.10.0~dfsg+~cs6.10.40431411-2"
},
{
"binary_name": "asterisk-config",
"binary_version": "1:18.10.0~dfsg+~cs6.10.40431411-2"
},
{
"binary_name": "asterisk-dahdi",
"binary_version": "1:18.10.0~dfsg+~cs6.10.40431411-2"
},
{
"binary_name": "asterisk-mobile",
"binary_version": "1:18.10.0~dfsg+~cs6.10.40431411-2"
},
{
"binary_name": "asterisk-modules",
"binary_version": "1:18.10.0~dfsg+~cs6.10.40431411-2"
},
{
"binary_name": "asterisk-mp3",
"binary_version": "1:18.10.0~dfsg+~cs6.10.40431411-2"
},
{
"binary_name": "asterisk-mysql",
"binary_version": "1:18.10.0~dfsg+~cs6.10.40431411-2"
},
{
"binary_name": "asterisk-ooh323",
"binary_version": "1:18.10.0~dfsg+~cs6.10.40431411-2"
},
{
"binary_name": "asterisk-tests",
"binary_version": "1:18.10.0~dfsg+~cs6.10.40431411-2"
},
{
"binary_name": "asterisk-vpb",
"binary_version": "1:18.10.0~dfsg+~cs6.10.40431411-2"
}
]
}{
"binaries": [
{
"binary_name": "asterisk",
"binary_version": "1:20.6.0~dfsg+~cs6.13.40431414-2build5"
},
{
"binary_name": "asterisk-config",
"binary_version": "1:20.6.0~dfsg+~cs6.13.40431414-2build5"
},
{
"binary_name": "asterisk-dahdi",
"binary_version": "1:20.6.0~dfsg+~cs6.13.40431414-2build5"
},
{
"binary_name": "asterisk-mobile",
"binary_version": "1:20.6.0~dfsg+~cs6.13.40431414-2build5"
},
{
"binary_name": "asterisk-modules",
"binary_version": "1:20.6.0~dfsg+~cs6.13.40431414-2build5"
},
{
"binary_name": "asterisk-mp3",
"binary_version": "1:20.6.0~dfsg+~cs6.13.40431414-2build5"
},
{
"binary_name": "asterisk-mysql",
"binary_version": "1:20.6.0~dfsg+~cs6.13.40431414-2build5"
},
{
"binary_name": "asterisk-ooh323",
"binary_version": "1:20.6.0~dfsg+~cs6.13.40431414-2build5"
},
{
"binary_name": "asterisk-tests",
"binary_version": "1:20.6.0~dfsg+~cs6.13.40431414-2build5"
}
]
}{
"binaries": [
{
"binary_name": "asterisk",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-config",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-dahdi",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-mobile",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-modules",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-mp3",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-mysql",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-ooh323",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-tests",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
}
]
}{
"binaries": [
{
"binary_name": "asterisk",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-config",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-dahdi",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-mobile",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-modules",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-mp3",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-mysql",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-ooh323",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
},
{
"binary_name": "asterisk-tests",
"binary_version": "1:22.5.2~dfsg+~cs6.15.60671435-1"
}
]
}{
"binaries": [
{
"binary_name": "asterisk",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
},
{
"binary_name": "asterisk-config",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
},
{
"binary_name": "asterisk-dahdi",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
},
{
"binary_name": "asterisk-mobile",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
},
{
"binary_name": "asterisk-modules",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
},
{
"binary_name": "asterisk-mp3",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
},
{
"binary_name": "asterisk-mysql",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
},
{
"binary_name": "asterisk-ooh323",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
},
{
"binary_name": "asterisk-voicemail",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
},
{
"binary_name": "asterisk-voicemail-imapstorage",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
},
{
"binary_name": "asterisk-voicemail-odbcstorage",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
},
{
"binary_name": "asterisk-vpb",
"binary_version": "1:13.1.0~dfsg-1.1ubuntu4.1+esm1"
}
]
}{
"binaries": [
{
"binary_name": "libpj2",
"binary_version": "2.1.0.0.ast20130823-1+deb8u1ubuntu0.1~esm1"
},
{
"binary_name": "libpjlib-util2",
"binary_version": "2.1.0.0.ast20130823-1+deb8u1ubuntu0.1~esm1"
},
{
"binary_name": "libpjmedia-audiodev2",
"binary_version": "2.1.0.0.ast20130823-1+deb8u1ubuntu0.1~esm1"
},
{
"binary_name": "libpjmedia-codec2",
"binary_version": "2.1.0.0.ast20130823-1+deb8u1ubuntu0.1~esm1"
},
{
"binary_name": "libpjmedia-videodev2",
"binary_version": "2.1.0.0.ast20130823-1+deb8u1ubuntu0.1~esm1"
},
{
"binary_name": "libpjmedia2",
"binary_version": "2.1.0.0.ast20130823-1+deb8u1ubuntu0.1~esm1"
},
{
"binary_name": "libpjnath2",
"binary_version": "2.1.0.0.ast20130823-1+deb8u1ubuntu0.1~esm1"
},
{
"binary_name": "libpjsip-simple2",
"binary_version": "2.1.0.0.ast20130823-1+deb8u1ubuntu0.1~esm1"
},
{
"binary_name": "libpjsip-ua2",
"binary_version": "2.1.0.0.ast20130823-1+deb8u1ubuntu0.1~esm1"
},
{
"binary_name": "libpjsip2",
"binary_version": "2.1.0.0.ast20130823-1+deb8u1ubuntu0.1~esm1"
},
{
"binary_name": "libpjsua2",
"binary_version": "2.1.0.0.ast20130823-1+deb8u1ubuntu0.1~esm1"
}
]
}{
"binaries": [
{
"binary_name": "libpj2",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "libpjlib-util2",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "libpjmedia-audiodev2",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "libpjmedia-codec2",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "libpjmedia-videodev2",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "libpjmedia2",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "libpjnath2",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "libpjsip-simple2",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "libpjsip-ua2",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "libpjsip2",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "libpjsua2",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "libpjsua2-2v5",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
},
{
"binary_name": "python-pjproject",
"binary_version": "2.7.2~dfsg-1ubuntu0.1~esm1"
}
]
}