Skip to content

Commit 91f2fa5

Browse files
committed
Fix a buffer overflow / heap corruption issue that could occur if a
malformed JSON string was passed on the control channel. This issue, present in the cJSON library, was already fixed upstream, so was addressed here in iperf3 by importing a newer version of cJSON (plus local ESnet modifications). Discovered and reported by Dave McDaniel, Cisco Talos. Based on a patch by @dopheide-esnet, with input from @DaveGamble. Cross-references: TALOS-CAN-0164, ESNET-SECADV-2016-0001, CVE-2016-4303 (cherry picked from commit ed94082) Signed-off-by: Bruce A. Mah <[email protected]>
1 parent fec5bd1 commit 91f2fa5

File tree

5 files changed

+697
-927
lines changed

5 files changed

+697
-927
lines changed

configure.ac

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@ AC_HEADER_STDC
6262
# Check for systems which need -lsocket and -lnsl
6363
#AX_LIB_SOCKET_NSL
6464

65+
# Check for the math library (needed by cjson on some platforms)
66+
AC_SEARCH_LIBS(floor, [m], [], [
67+
echo "floor()"
68+
exit 1
69+
])
70+
6571
# Solaris puts nanosleep in -lrt
6672
AC_SEARCH_LIBS(nanosleep, [rt], [], [
6773
echo "nanosleep() required for timing operations."

0 commit comments

Comments
 (0)