Passwords fed to sshpass are not being properly escaped.
When evoked from (at least) bash, a "!" is never interpreted literally unless singlequoted. This makes it difficult to use it within automated processes for which no keys are available.
This is contrary to the behavior of printf or echo.
passwd="foo!bar" <-- correct password for user@host
sshpass -p$passwd ssh user@host <-- fails
sshpass -p"$passwd" ssh user@host <-- fails
sshpass -p$(echo $passwd) ssh user@host <-- the only way to get this to work
This is present in both 1.04 (debian) and 1.05 (redhat)