This weakness takes in an integer and string "int string" where the integer is the size of the array to sort for timing and the string contains the value that is acted upon by the treads, passed as a global static class. A divide by zero error occurs when the string starts with 'A' and the array size is significantly large. In practice the benign sort values are <50 and exploit are >5000000 to achieve (essentially) guaranteed effects.
stonesoup.jtree.Main
$SS_TC_ROOT/$SS_TC_INSTALL:$SS_TC_ROOT/$SS_TC_INSTALL/lib/*:$SS_TC_ROOT/$SS_TC_INSTALL/lib/opt/*:$SS_TC_DEPS/java/stonesoup/lttng/lttng-stonesoup-0.1.jar
UNSPECIFIED
UNSPECIFIED
java $SS_JAVA_OPTS -Djava.library.path=$SS_TC_DEPS/lib64/ -cp "$SS_JAVA_CLASSPATH" stonesoup.jtree.Main
env ANT_HOME=$SS_TC_DEPS/ant ant $SS_ANT_OPTS -Dstonesoup.database.postgres.required=no -Dstonesoup.hibernate.postgres.required=no -Dstonesoup.hibernate.mysql.required=no -Dstonesoup.database.mysql.required=no -Dstonesoup.socket.required=no -lib $SS_TC_DEPS/java/stonesoup/lttng/lttng-stonesoup-0.1.jar -Dstonesoup.socket.lib.dir="$SS_TC_DEPS/java/stonesoup/socket" -Dstonesoup.hibernate.mysql.lib.dir="$SS_TC_DEPS/java/stonesoup/hibernate/mysql" -Dstonesoup.hibernate.postgres.lib.dir="$SS_TC_DEPS/java/stonesoup/hibernate/postgres" -Dstonesoup.database.mysql.lib.dir="$SS_TC_DEPS/java/stonesoup/database/mysql" -Dstonesoup.database.postgres.lib.dir="$SS_TC_DEPS/java/stonesoup/database/postgres" -Dstonesoup.lttng.lib.dir="$SS_TC_DEPS/java/stonesoup/lttng" -Dstonesoup.lttng.dummy.lib.dir="$SS_TC_DEPS/java/stonesoup/lttng-dummy" -Ddir.dist=$SS_TC_ROOT/$SS_TC_INSTALL build
cp -r lib $SS_TC_ROOT/$SS_TC_INSTALL
Environment variable defining string value.
NONE
$SS_TC_ROOT/testData/phlegmon_pasquil.bin
50 /opt/stonesoup/workspace/testData/fifo2 /opt/stonesoup/workspace/testData/fifo1 abcdabcd
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
input/good-01
STDOUT-01 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-01/output.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
Environment variable defining string value.
NONE
$SS_TC_ROOT/testData/phlegmon_pasquil.bin
50 /opt/stonesoup/workspace/testData/fifo2 /opt/stonesoup/workspace/testData/fifo1 somevalue
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-l 1 input/good-02/
STDOUT-02 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-02/output.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
Environment variable defining string value.
NONE
$SS_TC_ROOT/testData/phlegmon_pasquil.bin
5000000 /opt/stonesoup/workspace/testData/file1 /opt/stonesoup/workspace/testData/file2 Astringvalue
None
None
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
input/good-03/jtree-good-03.tar.gz
STDOUT-03 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-03/output.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
Environment variable defining string value.
NONE
$SS_TC_ROOT/testData/phlegmon_pasquil.bin
50 /opt/stonesoup/workspace/testData/fifo2 /opt/stonesoup/workspace/testData/fifo1 abcdabcd
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-l 2 input/good-04/jtree-good-04.tar.gz
STDOUT-04 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-04/output.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
Environment variable defining string value.
NONE
$SS_TC_ROOT/testData/phlegmon_pasquil.bin
50 /opt/stonesoup/workspace/testData/fifo2 /opt/stonesoup/workspace/testData/fifo1 somevalue
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
input/good-01/ input/good-02/ input/good-03/jtree-good-03.tar.gz input/good-04/jtree-good-04.tar.gz
STDOUT-05-01 AND STDOUT-05-02 AND STDOUT-05-03 AND STDOUT-05-04 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-05/output1.txt
good-05/output2.txt
good-05/output3.txt
good-05/output4.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
Environment variable defining string value.
UNEXPECTED_STATE
DOS_UNCONTROLLED_EXIT
$SS_TC_ROOT/testData/phlegmon_pasquil.bin
50 /opt/stonesoup/workspace/testData/fifo1 /opt/stonesoup/workspace/testData/fifo2 ABC123
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
input/good-01
weakness_started_up3uGg3thkA9ukr6lD4e AND ((NOT PERFORMER AND (race_condition_CgGZarozK9 OR race_condition_stderr_74dLOdlZcs) AND NOT timeout_hCFNXghDeb) or (PERFORMER AND NOT ((race_condition_CgGZarozK9 OR race_condition_stderr_74dLOdlZcs) OR timeout_hCFNXghDeb)))
(NOT PERFORMER AND (race_condition_CgGZarozK9 OR race_condition_stderr_74dLOdlZcs) AND NOT timeout_hCFNXghDeb) or (PERFORMER AND NOT ((race_condition_CgGZarozK9 OR race_condition_stderr_74dLOdlZcs) OR timeout_hCFNXghDeb))
DOES_NOT_RETURN
CONTROLLED_EXIT
CONTINUED_EXECUTION
logfile.txt
java.lang.ArithmeticException: / by zero
None
java.lang.ArithmeticException: / by zero
None
stonesoup_trace:weakness_start
Environment variable defining string value.
UNEXPECTED_STATE
DOS_UNCONTROLLED_EXIT
$SS_TC_ROOT/testData/phlegmon_pasquil.bin
50 /opt/stonesoup/workspace/testData/fifo1 /opt/stonesoup/workspace/testData/fifo2 Anumb3rYO
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-l 2 input/good-04/jtree-good-04.tar.gz
weakness_started_MhMIBl9YqUU6ioJrZb1T AND ((NOT PERFORMER AND (race_condition_gTO71GLt5G OR race_condition_stderr_QfOmnsu1o3) AND NOT timeout_g64sC57UHn) or (PERFORMER AND NOT ((race_condition_gTO71GLt5G OR race_condition_stderr_QfOmnsu1o3) OR timeout_g64sC57UHn)))
(NOT PERFORMER AND (race_condition_gTO71GLt5G OR race_condition_stderr_QfOmnsu1o3) AND NOT timeout_g64sC57UHn) or (PERFORMER AND NOT ((race_condition_gTO71GLt5G OR race_condition_stderr_QfOmnsu1o3) OR timeout_g64sC57UHn))
DOES_NOT_RETURN
CONTROLLED_EXIT
CONTINUED_EXECUTION
logfile.txt
java.lang.ArithmeticException: / by zero
None
java.lang.ArithmeticException: / by zero
None
stonesoup_trace:weakness_start