[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
n.runs-SA-2013.004 - Polycom - H.323 Format String Vulnerability
Vendor: Polycom, http://www.polycom.com
Affected Products: Polycom HDX Series
Affected Version: < 18.104.22.168
Vulnerability: Polycom H.323 Format String Vulnerability
For every received H.323 SETUP packet the Polycom HDX system writes a call
detail record (CDR) into its internal database. This even happens when the
connection is not accepted. The CDR table is stored in a SQLite database
which can be found in the /data/polycom/cdr/new/localcdr.db file on the
One of the items stored in a CDR entry is the remote system name of the
H.323 video call. The system name is taken directly from the string
placed in the Display information element from the sent H.323 SETUP
packet. However no input validation is performed on the string extracted
from the packet. After the SQL query string is constructed it is passed
to the internal puts() function which ends up calling the vsnprintf()
function inside va_logmsg() for logging purposes. The complete SQL query
string is passed as the format string argument to vsnprintf() which leads
to a format string vulnerability.
The following output shows the arguments passed to the va_logmsg()
function. Part of the "fmt" format string argument is the embedded
Display information element which is under the control of the attacker.
(gdb) break *0x1032E3AC
Breakpoint 1 at 0x1032e3ac: file ../../../src/Common/OS/logmsg.c, line
Breakpoint 5, 0x1032e3ac in va_logmsg (ap=0x5e97d298, level=<optimized
component=<optimized out>, fmt=0x5e97d344 "INSERT into CDR_Table
'23','0','1347451282','1347451282','---','WE CONTROL THIS
'---','---','---','---','The call has
Since the attacker controls the format string through the sent remote
system name, he can easily crash the system by sending a single H.323
SETUP packet with a remote system name such as "%n%n%n".
However this bug also allows remote code execution by sending several
specially formed H.323 SETUP packets. This allows a complete system
compromise of the HDX system over the network.
This vulnerability can be exploited by an unauthenticated attacker
over the network as long as the H.323 protocol is enabled. The
auto-answer call feature must not be enabled for the exploit to
succeed. Successful exploitation gives an attacker complete root
access to the HDX system and thus full control over the device.
n.runs successfully developed a proof-of-concept exploit which
demonstrates remote code execution over the network.
Polycom released version 22.214.171.124 of the HDX software which fixes this
issue. It can be downloaded from the Polycom Support page at
Bug found by Moritz Jodeit of n.runs AG.
Unaltered electronic reproduction of this advisory is permitted. For all
other reproduction or publication, in printing or otherwise, contact
security@xxxxxxxxx for permission. Use of the advisory constitutes
acceptance for use in an "as is" condition. All warranties are excluded.
In no event shall n.runs be liable for any damages whatsoever including
direct, indirect, incidental, consequential, loss of business profits or
special damages, even if n.runs has been advised of the possibility of