Creating test case using base program. Added an environment variable read to get a key in order to read in data from shared memory. Completed injection. UNSPECIFIED UNSPECIFIED $SS_TC_ROOT/$SS_TC_INSTALL/bin/grep ./configure --prefix="$SS_TC_ROOT/$SS_TC_INSTALL" --exec-prefix="$SS_TC_ROOT/$SS_TC_INSTALL" --with-included-regex make V=1 CC="$SS_CC" CCLD="$SS_LNK" make V=1 install CC="$SS_CC" CCLD="$SS_LNK" all words beginning with e or x, case sensitive Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow NONE $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 ^[ex] input/dict.txt STDOUT-01 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-01/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT find BIRMINGHAM, ignore case, recursive Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow NONE $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 -r -i BIRMINGHAM input/zip/ STDOUT-02 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-02/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT read extented regular expressions from file Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow NONE $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 -E -f input/grep-good-03-expr.txt input/mktsymbols.txt STDOUT-03 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-03/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT search for entire words matching a specific pattern Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow NONE $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 -w -f input/grep-good-04-expr.txt input/mktsymbols.txt STDOUT-04 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-04/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT use mmap(), find NASDAQ in file Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow NONE $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 --mmap NASDAQ input/mktsymbols.txt STDOUT-05 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-05/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT match lines not containing NASDAQ, ignore case, count Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow NONE $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 -v -i -c NASDAQ input/mktsymbols.txt STDOUT-06 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-06/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT grep stdin (a device), match words beginning w/ D, P, or Z, redirect file into stdin Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow NONE $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 -D read -e ^[DPZ] /dev/stdin < input/mktsymbols.txt STDOUT-07 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-07/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT extended grep, print number of lines of context Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow NONE $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 -E -C 15 ^[BRT] input/mktsymbols.txt STDOUT-08 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-08/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT lines not beginning w/ B, R or T Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow NONE $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 -v ^[BRT] input/mktsymbols.txt STDOUT-09 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-09/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT count lines not beginning w/ B, R or T Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow NONE $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 -c -v ^[BRT] input/mktsymbols.txt STDOUT-10 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-10/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow DOS_UNCONTROLLED_EXIT $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 -v -i -c NASDAQ input/mktsymbols.txt weakness_started_OSIzwwXn2JgNpfnacCSF AND ((NOT PERFORMER AND (segfault_code_EsKL082hIC OR segfault_code_NJLn0QyG7O OR segfault_code_zmInv8yNin OR segfault_code_SgO8wEOzNv OR segfault_code_LGURHlLQwz OR segfault_msg_uCEiCt39Oo OR illegal_inst_msg_VUawrSelfo OR segfault_glibc_HBdZ8PRt7a) AND NOT timeout_OQ94GsXVWa) or (PERFORMER AND NOT ((segfault_code_EsKL082hIC OR segfault_code_NJLn0QyG7O OR segfault_code_zmInv8yNin OR segfault_code_SgO8wEOzNv OR segfault_code_LGURHlLQwz OR segfault_msg_uCEiCt39Oo OR illegal_inst_msg_VUawrSelfo OR segfault_glibc_HBdZ8PRt7a) OR timeout_OQ94GsXVWa))) (NOT PERFORMER AND (segfault_code_EsKL082hIC OR segfault_code_NJLn0QyG7O OR segfault_code_zmInv8yNin OR segfault_code_SgO8wEOzNv OR segfault_code_LGURHlLQwz OR segfault_msg_uCEiCt39Oo OR illegal_inst_msg_VUawrSelfo OR segfault_glibc_HBdZ8PRt7a) AND NOT timeout_OQ94GsXVWa) or (PERFORMER AND NOT ((segfault_code_EsKL082hIC OR segfault_code_NJLn0QyG7O OR segfault_code_zmInv8yNin OR segfault_code_SgO8wEOzNv OR segfault_code_LGURHlLQwz OR segfault_msg_uCEiCt39Oo OR illegal_inst_msg_VUawrSelfo OR segfault_glibc_HBdZ8PRt7a) OR timeout_OQ94GsXVWa)) DOES_NOT_RETURN CONTROLLED_EXIT CONTINUED_EXECUTION None 132 None 134 None 135 None 136 None 139 None Segmentation fault None Illegal instruction None glibc detected None stonesoup_trace:weakness_start Has a buffer declared on the heap. malloc(20*sizeOf(char)) If input is resolved to more than 20 chars it will overflow DOS_UNCONTROLLED_EXIT $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 1 -E -f input/grep-good-03-expr.txt input/mktsymbols.txt weakness_started_sQKQu1JpUgcYEw3iFneR AND ((NOT PERFORMER AND (segfault_code_wKvHmAdQvZ OR segfault_code_5duz2o5zu3 OR segfault_code_m31iLM6xlN OR segfault_code_uQ22254BPR OR segfault_code_ikgFyrEMX3 OR segfault_msg_KESyVgXpbL OR illegal_inst_msg_AdjjQ4e7Df OR segfault_glibc_MDt8soegSs) AND NOT timeout_uDZqVw0ovK) or (PERFORMER AND NOT ((segfault_code_wKvHmAdQvZ OR segfault_code_5duz2o5zu3 OR segfault_code_m31iLM6xlN OR segfault_code_uQ22254BPR OR segfault_code_ikgFyrEMX3 OR segfault_msg_KESyVgXpbL OR illegal_inst_msg_AdjjQ4e7Df OR segfault_glibc_MDt8soegSs) OR timeout_uDZqVw0ovK))) (NOT PERFORMER AND (segfault_code_wKvHmAdQvZ OR segfault_code_5duz2o5zu3 OR segfault_code_m31iLM6xlN OR segfault_code_uQ22254BPR OR segfault_code_ikgFyrEMX3 OR segfault_msg_KESyVgXpbL OR illegal_inst_msg_AdjjQ4e7Df OR segfault_glibc_MDt8soegSs) AND NOT timeout_uDZqVw0ovK) or (PERFORMER AND NOT ((segfault_code_wKvHmAdQvZ OR segfault_code_5duz2o5zu3 OR segfault_code_m31iLM6xlN OR segfault_code_uQ22254BPR OR segfault_code_ikgFyrEMX3 OR segfault_msg_KESyVgXpbL OR illegal_inst_msg_AdjjQ4e7Df OR segfault_glibc_MDt8soegSs) OR timeout_uDZqVw0ovK)) DOES_NOT_RETURN CONTROLLED_EXIT CONTINUED_EXECUTION None 132 None 134 None 135 None 136 None 139 None Segmentation fault None Illegal instruction None glibc detected None stonesoup_trace:weakness_start