Sí, lo es. Por cuánto, y si está bien que usted permita los formularios, depende de su situación específica.
CSRF con controles de referencia
Si su protección CSRF depende de las verificaciones del referidor, no de un token, permitir formularios significa que sería vulnerable a CSRF.
Al rechazar los scripts, una víctima aún tendría que hacer clic en el formulario, pero eso puede lograrse a través de la ingeniería social o tal vez de ClickJacking.
Por ejemplo, un atacante podría colocar un botón de PayPal, que en realidad agregaría un nuevo usuario administrador, con la esperanza de que haga clic en él.
Por supuesto, esto también es posible con enlaces, pero solo para solicitudes GET, no para solicitudes POST.
CSRF con formularios existentes
Parece que su filtro es un filtro general, que filtra todas las etiquetas posiblemente peligrosas. Pero hay situaciones específicas en las que definitivamente no desea etiquetas de formulario, por ejemplo, cuando se hace eco de la entrada del usuario dentro de los formularios.
Si, por ejemplo, tiene un formulario de edición de usuario como este en el backend del administrador:
<form action="admin_user_edit.php">
<input type="text" name="csrf-token" value="[CSRF token]">
<input type="text" name="password" value="[value from database]">
<input type="text" name="username" value="[value from database]">
<input type="text" name="role" value="[value from database]">
<input type="submit" value="Submit">
</form>
Ahora, un usuario podría llamarse foobar"><input type="hidden" name="role" value="admin"><input type="submit" value="Submit"></form>
. Si ahora consiguen que el administrador edite su perfil, serían administradores, sin que el administrador quiera hacerlos administradores.
Phishing
También se podría usar un formulario para ataques de phishing. De nuevo, esto depende del contexto específico en el que se coloque su entrada de usuario, pero en teoría, un atacante podría, por ejemplo, mostrar un formulario solicitando las credenciales de inicio de sesión, los detalles de la tarjeta de crédito, etc., y luego enviarlos a su propio servidor.
La esperanza es que la víctima no interprete el formulario como información del usuario, sino como parte de su sitio web.