FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unl
Go to file
Travis Cross 3bf2b9af75 Prevent buffer overflow from untrusted RTP/SRTP lengths
When computing the start address of the RTP data to encrypt or SRTP
data to decrypt (`enc_start`), we are using `hdr->cc` (the CSRC
count), which is untrusted data from the packet, and the length field
of an RTP header extension, which is also untrusted and unchecked data
from the packet.

This value then pollutes our calculation of how much data we'll be
encrypting or decrypting (`enc_octet_len`), possibly causing us to
underflow.

We'll then call `cipher_encrypt()` or `cipher_decrypt()` with these
two values, causing us to read from and write to arbitrary addresses
in memory.

(In the AEAD functions, we'd also pollute `aad_len`, which would cause
us to read undefined memory in `cipher_set_aad`.)

This commit adds checks to verify that the `enc_start` we calculate is
sane based on the actual packet length.
2014-06-30 19:00:35 +00:00
build Exclude ftmod_ as those are submodules of mod_freetdm 2014-06-20 10:23:05 -05:00
clients/flex
cmake_modules
conf
debian Create freeswitch-timezones debian package 2014-06-24 00:39:14 +00:00
docs
dtd
fscomm
htdocs
html5/verto adjust ringing var 2014-06-30 01:23:07 +05:00
libs Prevent buffer overflow from untrusted RTP/SRTP lengths 2014-06-30 19:00:35 +00:00
scripts woops typo 2014-06-17 17:20:00 -05:00
src fix volume adjustments in stereo conference 2014-06-30 23:39:42 +05:00
support-d util for quick restarts during debugging 2014-06-17 21:28:39 -05:00
w32
web
.gitattributes
.gitignore ignore fs_ivrd 2014-06-17 21:14:14 -05:00
Freeswitch.2005.unsupported.sln
Freeswitch.2008.express.unsupported.sln
Freeswitch.2008.sln.debug.bat
Freeswitch.2008.sln.release.bat
Freeswitch.2008.unsupported.sln
Freeswitch.2010.express.sln
Freeswitch.2010.sln
Freeswitch.2012.sln
Freeswitch.2012.sln.bat
INSTALL
Makefile.am FS-6609: use config.status to reconf srtp so it doesn't loose the settings from the initial configure 2014-06-19 13:16:57 -04:00
acinclude.m4
bootstrap.sh
cc.sh
cluecon.tmpl
cluecon2.tmpl
cluecon2_small.tmpl
cluecon_small.tmpl
configure.ac check for proper openal symbol to enable functionality 2014-06-30 01:23:07 +05:00
devel-bootstrap.sh
erlang.spec
freeswitch-config-rayo.spec
freeswitch-sounds-en-us-callie.spec
freeswitch-sounds-music.spec
freeswitch-sounds-ru-RU-elena.spec
freeswitch-sounds-sv-se-jakob.spec
freeswitch.spec
swig_common.i