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
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
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
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
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
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
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_qS2An4F2KPdzgmSrOSyJ AND ((NOT PERFORMER AND (race_condition_S9uvnmRLJJ OR race_condition_stderr_vasdWwOfrf) AND NOT timeout_TRYCjEcqX2) or (PERFORMER AND NOT ((race_condition_S9uvnmRLJJ OR race_condition_stderr_vasdWwOfrf) OR timeout_TRYCjEcqX2)))
(NOT PERFORMER AND (race_condition_S9uvnmRLJJ OR race_condition_stderr_vasdWwOfrf) AND NOT timeout_TRYCjEcqX2) or (PERFORMER AND NOT ((race_condition_S9uvnmRLJJ OR race_condition_stderr_vasdWwOfrf) OR timeout_TRYCjEcqX2))
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
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 1 input/good-02/
weakness_started_6qrmahAwR4GAryJOANv0 AND ((NOT PERFORMER AND (race_condition_naj9sTxXaC OR race_condition_stderr_KDnsMxgfhS) AND NOT timeout_fbkKp7Hw0N) or (PERFORMER AND NOT ((race_condition_naj9sTxXaC OR race_condition_stderr_KDnsMxgfhS) OR timeout_fbkKp7Hw0N)))
(NOT PERFORMER AND (race_condition_naj9sTxXaC OR race_condition_stderr_KDnsMxgfhS) AND NOT timeout_fbkKp7Hw0N) or (PERFORMER AND NOT ((race_condition_naj9sTxXaC OR race_condition_stderr_KDnsMxgfhS) OR timeout_fbkKp7Hw0N))
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