Alerta de segurança: execução arbitrária de código por usuários privilegiados

27 de julho de 2015 | Por

Alerta de Segurança

Gravidade: Alto
Categoria: Execução de Código Arbitrário por Usuários Privilegiados
Projetos afetados: plataforma edx
Repórter: Auditor de segurança terceirizado
URL permanente: https://openedx.org/CVE-2015-5601

Durante uma auditoria de segurança de terceiros agendada do código da plataforma edx, foi descoberto que um bug permitia que certas categorias de usuários privilegiados executassem código arbitrário como o usuário do processo em execução.

As Vulnerabilidades e Exposições Comuns (CVE) designou o nome CVE-2015-5601 para este problema. Esta é uma entrada no CVE lista (http://cve.mitre.org), que padroniza nomes para problemas de segurança.

Mais informações

O problema está no endpoint de importação do curso, que aceita um upload de arquivo .tar.gz. É possível criar um arquivo tar que extraia arquivos no diretório edx-platform, em vez do diretório temporário que o aplicativo pretende usar (veja abaixo para obter detalhes). Como existem subdiretórios da plataforma edx no caminho da biblioteca python, as instruções “import foo” procurarão por “foo.py” nesses diretórios. Um invasor pode carregar um arquivo python com o nome apropriado para um desses diretórios e, na próxima vez que o aplicativo for reiniciado, ele será importado e executado.

O problema subjacente está no processamento do arquivo tar. O aplicativo tem o cuidado de não permitir arquivos e links simbólicos que usam caminhos percorridos ascendentes ou absolutos para apontar para fora do diretório de extração. No entanto, essas verificações, em “extract_tar.py”, assumem incorretamente que o diretório de extração é “.”, que resolve para “/edx/app/edxapp/edx-platform”; eles devem usar o diretório de extração real.

A extração real ocorre em um subdiretório específico do curso de “/edx/var/edxapp/data”, mas links simbólicos que apontam para subdiretórios de “edx-platform” podem ser criados e arquivos subsequentes podem ser extraídos para eles.

O bug foi corrigido neste comprometer-se.

Carregando

Tempo para mais? Confira os artigos abaixo.

A plataforma Open edX recebe a certificação LTI® Advantage
Junípero está aqui!
Demonstrações de patrocínio edX
Cancelando a Conferência Open edX de 2020
Participe da Conferência Open edX 2026!

A Conferência Open edX 2026 apresentará casos de uso inovadores para um dos melhores sistemas de gerenciamento de aprendizagem on-line de código aberto do mundo, a plataforma Open edX, e descobrirá os mais recentes avanços em design instrucional, constelação de cursos e métodos para operar e estender a plataforma Open edX , incluindo tecnologias inovadoras, como a IA generativa.