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, stored in a global static variable. 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/rouelle_ivoried.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/rouelle_ivoried.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/rouelle_ivoried.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/rouelle_ivoried.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/rouelle_ivoried.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/rouelle_ivoried.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
-l 1 input/good-02/
weakness_started_HM7cKdwjYrUcZvRPzOpg AND ((NOT PERFORMER AND (race_condition_nMhjZdPxSo OR race_condition_stderr_wz9U1QUC6L) AND NOT timeout_J4aEOCoOOO) or (PERFORMER AND NOT ((race_condition_nMhjZdPxSo OR race_condition_stderr_wz9U1QUC6L) OR timeout_J4aEOCoOOO)))
(NOT PERFORMER AND (race_condition_nMhjZdPxSo OR race_condition_stderr_wz9U1QUC6L) AND NOT timeout_J4aEOCoOOO) or (PERFORMER AND NOT ((race_condition_nMhjZdPxSo OR race_condition_stderr_wz9U1QUC6L) OR timeout_J4aEOCoOOO))
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/rouelle_ivoried.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
input/good-01/ input/good-02/ input/good-03/jtree-good-03.tar.gz input/good-04/jtree-good-04.tar.gz
weakness_started_HIXTd4Pu7iVw1HZmL9MS AND ((NOT PERFORMER AND (race_condition_bTc54OC9Dl OR race_condition_stderr_MdJuTA3l28) AND NOT timeout_FSzCZuqJ4U) or (PERFORMER AND NOT ((race_condition_bTc54OC9Dl OR race_condition_stderr_MdJuTA3l28) OR timeout_FSzCZuqJ4U)))
(NOT PERFORMER AND (race_condition_bTc54OC9Dl OR race_condition_stderr_MdJuTA3l28) AND NOT timeout_FSzCZuqJ4U) or (PERFORMER AND NOT ((race_condition_bTc54OC9Dl OR race_condition_stderr_MdJuTA3l28) OR timeout_FSzCZuqJ4U))
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