Django corrige problemas de seguridad en el admin

  
12 de Marzo de 2015   0  

Como parte de sus políticas de publicación de actualizaciones de seguridad, el equipo de Django ha liberado las siguientes versiones: Django 1.7.6 y 1.8 beta 2. Estas versiones ya se encuentran disponibles en PyPI y en su página oficial.

 

Estas actualizaciones corrigen algunos problemas presentados en la seguridad de la administración de Django. El equipo recomienda ampliamente a todos los usuarios de Django actualizar tan pronto como sea posible.

Problema: Ataque XSS mediante el uso de propiedades en ModelAdmin.readonly_fields

El atributo ModelAdmin.readonly_fields en la administración de Django permite visualizar los campos del modelo (model Fields) y atributos del modelo (Attributes Field). Mientras que el primero se maneja un escape correctamente, este último no lo realiza. Por lo tanto, contenido que no es de confianza podría inyectarse en la administración, presentando una vulnerabilidad de uso de ataques exploit XSS.

En esta vulnerabilidad, cada atributo del modelo utilizado como readonly_fields que no forma parte de los campos del modelo, por ejemplo @property, dejará de ser escapado incluso si ese atributo no está marcado como seguro (safe). En esta versión, el autoescaping ahora se aplica correctamente.

Recomendación de Django para revelar problemas de seguridad.

Tal vez por ahí a alguien se le ha ocurrido presentar esta vulnerabilidad de manera pública, ya que el equipo de Django recalca el siguiente mensaje:

Aunque siempre estamos encantados de recibir informes de errores que podemos arreglar, imploramos a los miembros de nuestra comunidad que no reporten los problemas de seguridad de manera pública. 

Reportarlo de manera privada nos permite preparar las soluciones para ser publicadas junto con la divulgación pública del problema, así como notificar a organizaciones clave. 

Notificar este tipo de errores de manera pública expone a los usuarios a un mayor riesgo y nos ejerce una presión indebida a todo el equipo responsable de dar con la solución.

Así que ya sabemos, si identificamos algún problema de seguridad o bug en el framework, es importante tratarlo discretamente y así apoyar al equipo de desarrolladores a solucionarlo de una manera óptima y sin complicaciones.

Fuente: https://www.djangoproject.com/weblog



Alex Dzul

FullStack Python / Django Developer. #jslove

Etiquetas

Temas relacionados