The product does not properly check inputs that are used for
loop conditions, potentially leading to a denial of service because of
excessive looping. This test will try to access a user-controlled file,
repeatedly trying if the access fails. The user provides an intentionally
bad path, forcing the software to wait forever.
TRUE
org.elasticsearch.bootstrap.Elasticsearch
$SS_TC_DEPS/java/elasticsearch/*:$SS_TC_ROOT/$SS_TC_INSTALL/*:$SS_TC_ROOT/$SS_TC_INSTALL/classes/*:$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"
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" -Dmaven.build.dir=$SS_TC_ROOT/$SS_TC_INSTALL -Dmaven.repo.local="$SS_TC_DEPS/java/elasticsearch" -Dmaven.settings.offline=true -Dstonesoup.lttng.lib.dir="$SS_TC_DEPS/java/stonesoup/lttng" -Dstonesoup.lttng.dummy.lib.dir="$SS_TC_DEPS/java/stonesoup/lttng-dummy" package
Add data
Environment variable defining test value.
NONE
$SS_TC_ROOT/testData/jocum_duraplasty.bin
/etc/passwd
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-01" org.elasticsearch.bootstrap.Elasticsearch
GOOD-01 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-01/output.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
simple string query
Environment variable defining test value.
NONE
$SS_TC_ROOT/testData/jocum_duraplasty.bin
tempfile.txt
data
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-02" org.elasticsearch.bootstrap.Elasticsearch
GOOD-02 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-02/output.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
get all data
Environment variable defining test value.
NONE
$SS_TC_ROOT/testData/jocum_duraplasty.bin
/etc/passwd
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-03" org.elasticsearch.bootstrap.Elasticsearch
GOOD-03 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-03/output.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
add data
Environment variable defining test value.
NONE
$SS_TC_ROOT/testData/jocum_duraplasty.bin
tempfile.txt
data
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-04" org.elasticsearch.bootstrap.Elasticsearch
OUTPUT AND (STATE-EXISTS AND STATE-HAS-CONTENT) AND (GLOBAL-EXISTS AND GLOBAL-HAS-CONTENT) AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-04/output.txt
if [[ -a good-04/elasticsearch/nodes/0/indices/user/0/_state/state-2 ]]; then exit 0; else exit 1; fi;
if [[ -a good-04/elasticsearch/nodes/0/_state/global-4 ]]; then exit 0; else exit 1; fi;
if [[ -s good-04/elasticsearch/nodes/0/indices/user/0/_state/state-2 ]]; then exit 0; else exit 1; fi;
if [[ -s good-04/elasticsearch/nodes/0/_state/global-4 ]]; then exit 0; else exit 1; fi;
DOES_NOT_RETURN
CONTROLLED_EXIT
delete data
Environment variable defining test value.
NONE
$SS_TC_ROOT/testData/jocum_duraplasty.bin
/etc/passwd
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-05" org.elasticsearch.bootstrap.Elasticsearch
OUTPUT AND (GLOBAL-EXISTS AND GLOBAL-HAS-CONTENT) AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-05/output.txt
if [[ -a good-05/elasticsearch/nodes/0/_state/global-5 ]]; then exit 0; else exit 1; fi;
if [[ -s good-05/elasticsearch/nodes/0/_state/global-5 ]]; then exit 0; else exit 1; fi;
DOES_NOT_RETURN
CONTROLLED_EXIT
bulk add data
Environment variable defining test value.
NONE
$SS_TC_ROOT/testData/jocum_duraplasty.bin
tempfile.txt
data
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-06" org.elasticsearch.bootstrap.Elasticsearch
HEAD AND TAIL AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-06/head.txt
good-06/tail.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
filter without search query
Environment variable defining test value.
NONE
$SS_TC_ROOT/testData/jocum_duraplasty.bin
/etc/passwd
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-07" org.elasticsearch.bootstrap.Elasticsearch
OUTPUT AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-07/output.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
tokenize with snowball analyzer
Environment variable defining test value.
NONE
$SS_TC_ROOT/testData/jocum_duraplasty.bin
tempfile.txt
data
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-08" org.elasticsearch.bootstrap.Elasticsearch
HEAD AND TAIL AND SEARCH AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-08/head.txt
good-08/tail.txt
good-08/output.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
list indicies
Environment variable defining test value.
NONE
$SS_TC_ROOT/testData/jocum_duraplasty.bin
/etc/passwd
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-09" org.elasticsearch.bootstrap.Elasticsearch
OUTPUT AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
movies 5 1 6 0 14.7kb 14.7kb
DOES_NOT_RETURN
CONTROLLED_EXIT
drilling down
Environment variable defining test value.
NONE
$SS_TC_ROOT/testData/jocum_duraplasty.bin
tempfile.txt
data
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-10" org.elasticsearch.bootstrap.Elasticsearch
OUTPUT AND NOT TIMEOUT AND NOT CONTROLLED_EXIT
good-10/output.txt
DOES_NOT_RETURN
CONTROLLED_EXIT
Environment variable defining test value.
DOS_BLOCKING
$SS_TC_ROOT/testData/jocum_duraplasty.bin
doesntexist.txt
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-07" org.elasticsearch.bootstrap.Elasticsearch
weakness_started_Ruvy5LbCrtU3patrn4z0 AND ((NOT PERFORMER AND (timeout_BUAUnpY5PQ OR (NOT (finished_oFwSaUd7vv AND finished_ujYQ2L3VRe) AND NOT (controlled_exit_lticpQ4ZJQ OR continued_execution_4lnuUlG0Zp)))) or (PERFORMER AND NOT ((timeout_BUAUnpY5PQ OR (NOT (finished_oFwSaUd7vv AND finished_ujYQ2L3VRe) AND NOT (controlled_exit_lticpQ4ZJQ OR continued_execution_4lnuUlG0Zp))) OR controlled_exit_lticpQ4ZJQ)))
(NOT PERFORMER AND (timeout_BUAUnpY5PQ OR (NOT (finished_oFwSaUd7vv AND finished_ujYQ2L3VRe) AND NOT (controlled_exit_lticpQ4ZJQ OR continued_execution_4lnuUlG0Zp)))) or (PERFORMER AND NOT ((timeout_BUAUnpY5PQ OR (NOT (finished_oFwSaUd7vv AND finished_ujYQ2L3VRe) AND NOT (controlled_exit_lticpQ4ZJQ OR continued_execution_4lnuUlG0Zp))) OR controlled_exit_lticpQ4ZJQ))
DOES_NOT_RETURN
CONTROLLED_EXIT
CONTINUED_EXECUTION
if (( $(/bin/grep "Found file." "logfile.txt" | wc -l) > 0 )); then true; else false; fi;
if (( $(/bin/grep -E 'Reading ".+"' "logfile.txt" | wc -l) > 0 )); then true; else false; fi;
None
stonesoup_trace:weakness_start
Environment variable defining test value.
DOS_BLOCKING
$SS_TC_ROOT/testData/jocum_duraplasty.bin
alsodoesntexist.dat
$SS_TC_ROOT/logs/execute/lttng
$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so
-Des.path.data="$SS_TC_ROOT/testData/good-09" org.elasticsearch.bootstrap.Elasticsearch
weakness_started_eEjfs2a6kizIWZtp1hHN AND ((NOT PERFORMER AND (timeout_5AaHBQTUld OR (NOT (finished_joudX7otnu AND finished_zSkgXZOUgC) AND NOT (controlled_exit_blmtppWG2U OR continued_execution_LjZQHzWPo6)))) or (PERFORMER AND NOT ((timeout_5AaHBQTUld OR (NOT (finished_joudX7otnu AND finished_zSkgXZOUgC) AND NOT (controlled_exit_blmtppWG2U OR continued_execution_LjZQHzWPo6))) OR controlled_exit_blmtppWG2U)))
(NOT PERFORMER AND (timeout_5AaHBQTUld OR (NOT (finished_joudX7otnu AND finished_zSkgXZOUgC) AND NOT (controlled_exit_blmtppWG2U OR continued_execution_LjZQHzWPo6)))) or (PERFORMER AND NOT ((timeout_5AaHBQTUld OR (NOT (finished_joudX7otnu AND finished_zSkgXZOUgC) AND NOT (controlled_exit_blmtppWG2U OR continued_execution_LjZQHzWPo6))) OR controlled_exit_blmtppWG2U))
DOES_NOT_RETURN
CONTROLLED_EXIT
CONTINUED_EXECUTION
if (( $(/bin/grep "Found file." "logfile.txt" | wc -l) > 0 )); then true; else false; fi;
if (( $(/bin/grep -E 'Reading ".+"' "logfile.txt" | wc -l) > 0 )); then true; else false; fi;
None
stonesoup_trace:weakness_start