It’s lines 185, 186 in weblogin.processor.inc.php where escaping (as above) should be done and the regexp-thing in line 197 which should be instead:
$sql = "SELECT $dbase.".$table_prefix."web_users.*, $dbase.".$table_prefix."web_user_attributes.* FROM $dbase.".$table_prefix."web_users, $dbase.".$table_prefix."web_user_attributes WHERE BINARY $dbase.".$table_prefix."web_users.username = '".$username."' and $dbase.".$table_prefix."web_user_attributes.internalKey=$dbase.".$table_prefix."web_users.id;";
Fix for websignup.inc.php in line 26:
$username = $modx->db->escape($_POST['username']);
$fullname = $modx->db->escape($_POST['fullname']);
Another thing to note is that in 0.9.1 the manager user access permissions don’t work, because the procedure that should return data from user_settings table fails silently. So users shouldn’t use MODx’s builtin IP-based access control to gain security.

(Afaik it’s already fixed in head of trunk, if not, I have a fix for it in my branch.)
I would suggest to also take the updated ContactForm snippet (see
FS#266) into bugfix-release.