Validación de entrada del usuario

¿Alguien sabe si es posible implementar validación personalizada de entrada de usuario, específicamente para nuevos usuarios, nuevas insignias de administrador y nuevos campos de usuario?

Después de una prueba de penetración, descubrimos que somos vulnerables a la inyección de HTML y otras entradas maliciosas en estas áreas, y nos preguntamos si hay una manera de validar aún más estas entradas para mejorar la seguridad (posiblemente mediante el uso de expresiones regulares o de otra forma para lograr el mismo resultado).

¡Gracias de antemano!

1 me gusta

Sí, es posible que tú, o un desarrollador profesional de plugins de Discourse, escribas un plugin “relativamente sencillo” para agregar validación a los modelos.

¿Quizás deberías publicar tu solicitud en Marketplace?

¿Qué campos son susceptibles a la inyección de HTML?

3 Me gusta

Exactamente lo que iba a preguntar.

1 me gusta

Espero que se lo comunique a los desarrolladores en privado antes que a nosotros :slight_smile:

¿No participa Discourse en un programa mediante el cual pagan por el descubrimiento de vulnerabilidades de seguridad?

1 me gusta

Efectivamente: hackerone

2 Me gusta

¡Gracias por responder tan rápido!

Los parámetros afectados son:

Creación de usuario: nombre, título, ubicación, bio_raw

Insignias: nombre, descripción, long_description

Campos de usuario: nombre, descripción

Somos parte de la comunidad, pero no del equipo de soporte. Necesitarías obtener una respuesta de ellos sobre esto. Sin embargo, dado el nivel de atención que el equipo presta a las vulnerabilidades y la seguridad, además del uso de marcos de trabajo estándar de la industria, recomendaría esperar a que tengan tiempo de responder antes de emitir un juicio.

Esto no parece algo que debas mitigar, pero al mismo tiempo, es posible que ya se haya abordado de alguna manera.

2 Me gusta

Me sorprendería mucho si permitieran inyección de HTML. Por favor, demuéstrenlo editando su perfil aquí con un ejemplo trivial.

2 Me gusta

¡Bienvenido a Meta @Cal :wave:

Esos campos están limpiados/escapados. Además, Discourse tiene CSP habilitado por defecto.

Esos también están limpiados. Además, solo son accesibles para administradores y también hay CSP.

Si has encontrado un problema de seguridad relacionado con la entrada de usuario que ocurre con CSP activado, nos encantaría saberlo aquí.

7 Me gusta