2 de abr de 2009

Falha de segurança no LaTeX do MOODLE: solução (MSA-09-0009)


Recebi hoje um e-mail "[securityalerts] Security notice: problem found in TeX and Algebra filters", apontando uma grave falha do LaTeX no MOODLE, que permite ver os conteúdos de certos arquivos de sistema. A mensagem completa pode ser vista neste link http://packetstormsecurity.org/0903-exploits/moodle-disclose.txt.

Vou postar aqui a solução que adotei para o nosso servidor do Departamento de Matemática.

Passo 1. Identificar se o servidor está realmente seguro.

Em qualquer local no MOODLE que aceite LaTeX, digite:

$$ \input{/etc/passwd} $$ ou [tex]\input{/etc/passwd} [/tex].

Se aparecer algo que não seja o próprio texto, o bug está confirmado.

Passo 2. Atualizando o filtro.
Vá no moodle.org e baixe a última versão do MOODLE (neste caso 1.9.4+). Descompacte em um diretório TEMPORÁRIO e copie todos os arquivos da pasta ../moodle/filter/tex/* para a mesma pasta de seu servidor web (Mantenha apenas o arquivo filter.php da versão 1.94, senão vei ter problemas com o alinhamento das fórmulas com o texto).

Passo 3. Aumentando a segurança do LaTex.
Se estiver utilizando o TeTex como compilador, edite o arquivo texmf.cnf (normalmente está em /etc/texmf/) trocando as seguintes linhas:

openout_any = p
openin_any = r % não alterar para p, pois não funcionará no moodle.

Passo 4. Reiniciando
Limpar qualquer processo relacionado ao LaTeX e o cache temporário das imagens geradas pelo LaTeX (em ../moodledata/filter/tex/*.gif)

Há outras soluções no moodle.org, mas esta é que foi a que achei melhor.

2 comentários:

  1. Prezado Prof. Jean,
    gostaria de saber se é possível dentro de um texto
    no moodle usar listas do tipo:
    [tex]
    \begin{enumerate}
    \item Derivação;
    \item Integração.
    \end{enumerate}
    [\tex]

    Tentei usar esse comando, porém não funcionou.

    Att,
    Raimundo Nascimento

    ResponderExcluir
  2. Caro Benedito
    Depende do filtro que está utilizando. Se for o Mimetex, não é possível utilizar os comandos que mencionou. Agora, utilizando o Latex (isso é configurado no filtro do Moodle) funciona sim, porém será extremamente lento e poderá ter problemas com trabalhos já feitos no mimetex. Ainda, precisará especificar no filtro o preâmbulo com vários \usepackage{}.

    Jean

    ResponderExcluir

Algumas recomendações antes de postar um comentário:

* Deve estar relacionado com o assunto da postagem. Caso contrário não será publicado.
* Não serão aceitos: palavrões, ofensas, discriminação e comentários anônimos.

Antecipadamente, obrigado pelo seu comentário.

Observação: somente um membro deste blog pode postar um comentário.