Política de Segurança do Django

O time de desenvolvimento do Django é fortemente comprometido em reportar e divulgar problemas de segurança. Como tal, nós adotamos e seguimos um conjunto de políticas que se adequam a esse ideal e são voltados a nos permitir entregar atualizações de segurança pontuais para as distribuições oficiais do Django, assim como para distribuições de terceiros.

Reportando problemas de segurança

Versão curta: por favor reporte problemas de segurança enviando email para security@djangoproject.com.

A maioria dos bugs normais no Django são reportados na `nossa instância publica do Trac `_, mas devido a natureza sensível dos problemas de segurança, nós pedimos que eles não sejam publicamente reportados desta maneira.

Ao invés disso, se você acredita que achou algo no Django que tem implicações de segurança, por favor envie a descrição do problema via email para security@djangoproject.com. Email enviado para esse endereço chega a um:ref:subconjunto do core team <security-team-list>, que poderá reencaminhar problemas de segurança nas listas de email privadas dos committers para uma discussão mais profunda se necessário.

Uma vez que você tenha submetido via email, você deve receber um recebido de um membro do time de segurança dentro de 48 horas, e dependendo da ação a ser tomada, você poderá receber mais emails de retorno.

Nota

Se você quiser enviar um email criptografado (optional), o ID da chave pública para security@djangoproject.com é 0xfcb84b8d1d17f80b, e essa chave pública está disponível nos keyservers mais comuns.

Versões suportadas

A qualquer momento, o time Django fornece suporte de segurança oficial para várias versões do Django:

  • A branch master de desenvolvimento, hospedada no GitHub, que irá se tornar a próxima release do Django, recebe suporte de segurança.

  • As duas séries de releases mais recentes do Django recebem suporte de segurança. Por exemplo, durante o ciclo de desenvolvimento que culminou com a release do Django 1.5, suporte será provido para o Django 1.4 en Django 1.3. Com a release do Django 1.5, o suporte de segurança do Django 1.3 será encerrado.

  • Long-term support releases irão receber atualizações de segurança por um período de tempo especificado.

Quando novas releases são lançadas por questões de segurança, a notícia que a acompanha irá incluir uma lista de versões afetadas. Essa lista é composta somente de versões suportadas pelo Django: versões antigas também podem ser afetadas, mas nós não investigamos para determinar isso, e nós não lançamos patches ou novas releases para essas versões.

Como o Django divulga problemas de segurança

Nosso processo para levar um problema de segurança de discussões privadas para divulgação pública envolve alguns passos.

Aproximadamente uma semana antes de total divulgação pública, nós enviamos notificações prévias do problema para a lista de pessoas e organizações, primariamente compostas de fornecedores de sistemas operacionais e outros distribuidores do Django. Essa notificação irá consistir de uma mensagem de email, assinada com a chave de release do Django, contendo:

  • Uma descrição completa do problema e das versões afetadas do Django.

  • Os passos que serão tomados para remediar o problema.

  • O patch (ou os patches), se existirem, que irá ser aplicado no Django.

  • A data em que o time Django irá aplicar essas patches, lançando novas releases e publicamente divulgando o problema.

Simultaneamente, a pessoa que reportou o problema irá receber uma notificação da data na qual nós planejamos divulgar publicamente o problema.

No dia da divulgação, nós tomaremos as seguintes providências:

  1. Aplicar o patch (ou os patches) relevantes a base de código do Django. As mensagens de commit desses patches irão indicar que eles são para problemas de segurança, mas nós não iremos descrever o problema em nenhum detalhe; ao invés disso. eles irão avisar sobre a divulgação futura.

  2. Lançar as releases (ou a release) relevantes, colocando novos pacotes no Python Package Index e no website do Django, criando tags das novas releases (ou da release) no repositório git do Django.

  3. Postar uma entrada pública no blog oficial de desenvolvimento do Django, descrevendo o problema e a sua resolução em detalhe, apontando para os patches relevantes e novas releases, e creditando a pessoa que reportou o problema (se essa pessoa que o reportou quiser ser identificada publicamente).

  4. Poste uma notícia nas listas de email django-announce e oss-security@lists.openwall.com que tenha links para o post no blog.

Se acredita-se que o problema reportado é particularmente sensível ao tempo – devido a uma conhecida vulnerabilidade de segurança em aberto, por exemplo – o tempo entre a notificação prévia e a divulgação pública pode ser encurtada consideravelmente.

Adicionalmente, se nós tivermos razões para acreditar que o problema reportado para nós afeta outras frameworks e ferramentas no ecossistema Python/web, nós podemos contatar privadamente e discutir esses problemas com os mantenedores apropriados, e coordenar nossa própria divulgação e resolução com eles.

O time Django também mantém um arquivo de problemas de segurança divulgados no Django.

Quem recebe notificação prévia

A lista completa de pessoas e organizações que recebem uma notificação prévia de problemas de segurança não é e não será tornada pública.

Nós também focamos em manter essa lista o quão pequena quanto for efetivamente possível, para gerenciar melhor o fluxo de informação confidencial que precede a divulgação. Como tal, nossa lista de notificação não é simplesmente uma lista de usuários do Django, e meramente ser um usário do Django não é razão suficiente para ser colocado na lista de notificação.

Em linhas gerais, recipientes de notificações de segurança caem dentro de três grupos:

  1. Fornecedores de sistemas operacionais e outras distribuições do Django que fornecem um endereço de email genérico para reportar problemas (ex. não são emails pessoais de indivíduos) para reportar problemas com o Django, ou para reportar problemas gerais de segurança. Em qualquer caso, tais endereços não devem redirecionar para listas de email públicas ou rastreadores de bugs. Endereços que encaminham para o email individual de um mantenedor ou contato para respostas de segurança são aceitas, embora rastreadores de segurança privados ou grupos de resposta a segurança são fortemente preferidos.

  2. De tempos em tempos, mantenedores de pacotes individuais que tenham demonstrado um compromisso em atender e agido de forma responsável nessas notificações.

  3. De tempos em tempos, outras entidades que, no julgamento do time de desenvolvimento do Django, precisem estar cientes do problema de segurança pendente. Tipicamente, membros do grupo irão consistir de alguns dos maiores usuários e distribuidores do Django e dos mais provavelmente impactados severamente com o problema, e irão requerer uma abilidade demonstrada para responder prontamente, manter confidencial e agir nessas notificações.

Requisitando notificações

Se você acredita que você, ou a organização que você está autorizado a representar, cai em um dos grupos listados acima, você pode pedir para ser adicionado a lista de notificações do Django enviando um email para security@djangoproject.com. Por favor use “Security notification request” no assunto.

O seu pedido deve incluir a informação a seguir:

  • O seu nome completo, real e o nome da organização que você representa. Se aplicável, assim como o seu perfil dentro da organização.

  • Uma explicação detalhada de como você ou sua organização se encaixam pelo menos em um dos grupos listados acima.

  • Uma explicação detalhada de por qual razão você está solicitando notificações de segurança. Novamente, por favor mantenha em mente que esta não é uma lista simples de usuários do Django, e a maioria esmagadora dos usuários do Django não devem solicitar notificações e não serão adicionados em nossa lista de notificação.

  • O endereço de email que você gostaria de fosse adicionado em nossa lista de notificação.

  • Uma explicação de quem irá estar recebendo/revisando os emails enviados para esse email, asim como as informações referentes a qualquer ação automatizada que será realizada (ex. preencher um registro de problema confidencial em um bug tracker).

  • Para indivíduos, o ID ou a chave pública associada com o seu endereço que pode ser usado para verificar o seu email recebido de você e email encriptado enviado para você, quando necessário.

Uma vez submetido, a sua solicitação será considerada pelo time de desenvolvimento do Django; você irá receber uma resposta notificando você do resultado da sua solicitação dentro de 30 dias.

Por favor tambén tenha em mente que para qualquer indivíduo ou organização, receber notificações de segurança é um privilégio dado somente ao critério do time de desenvolvimento do Django, e que esse privilégio pode ser revogado a qualquer momento, com o sem explicação.

Se você for adicionado a lista de notificação, emails relacionados a segurança serão enviados para você pelo time de release do Django, e todas as notificações de emails serão assinadas com uma chave autorizada para lançar releases do Django. A lista de chaves autorizadas está no arquivo de releases do Django.

Back to Top