Corrija as vulnerabilidades CVE-2026-34087, CVE-2026-34088, CVE-2026-34093 e CVE-2026-34095 no MediaWiki (DLA-4640-1). Guia completo para administradores Debian com comandos práticos, backup e troubleshooting.
Introdução
Em 21 de junho de 2026, a equipe Debian LTS publicou o DLA-4640-1, um aviso de segurança crítico para o pacote mediawiki. Esta atualização aborda quatro vulnerabilidades — CVE-2026-34087, CVE-2026-34088, CVE-2026-34093 e CVE-2026-34095 — que afetam as distribuições Debian 11 (bullseye) e Debian 12 (bookworm).
A severidade é classificada como importante, abrangendo desde vazamento de informações até risco de Cross-Site Scripting (XSS). Para administradores de infraestrutura que mantêm wikis institucionais, esta atualização não é apenas recomendada — é obrigatória.
Visão Geral das Vulnerabilidades
CVE-2026-34087 — OATHAuth: vazamento de status 2FA
A extensão OATHAuth expõe, via API de usuários, se usuários privilegiados têm seus grupos desabilitados por falta de autenticação de dois fatores. Um atacante autenticado pode determinar quais usuários possuem 2FA ativado, facilitando ataques direcionados a contas menos protegidas.
CVE-2026-34088 — Exposição de conteúdo suprimido via RecentChanges
Entradas de mudanças recentes expõem conteúdo suprimido através do HTML gerado na página de log. Um atacante não autenticado pode visualizar títulos de páginas deletadas ou suprimidas que deveriam permanecer ocultas.
CVE-2026-34093 — Special:UserRights: visualização de direitos em wikis privadas
A página Special:UserRights permite que usuários não autorizados visualizem direitos de usuários em wikis privadas. Em ambientes corporativos com wikis restritas, isso configura um vetor de enumeração de privilégios.
CVE-2026-34095 — action=raw: resposta com Content-Type incorreto
O manipulador action=raw para subpáginas de Special:Mypage responde com Content-Type: text/html quando a requisição especifica ctype=text/javascript. Isso permite que o navegador interprete JavaScript injetado como código executável, configurando um vetor de XSS.
Resumo dos pacotes afetados e corrigidos
Antes de iniciar o procedimento de atualização, verifique os seguintes itens:
1. Acesso root ou sudo ao servidor
2. Backup completo do wiki, incluindo:
- Banco de dados MySQL/MariaDB (wikidb)
- Diretório de uploads (/var/lib/mediawiki/images/)
- Arquivo de configuração (LocalSettings.php)
- Extensões personalizadas (/var/lib/mediawiki/extensions/)
4. PHP 7.4+ (Debian bullseye) ou PHP 8.2+ (Debian bookworm) — verifique com php -v
5. Conexão com os repositórios Debian configurada corretamente em /etc/apt/sources.list
Passo a Passo
1. Verificação do estado atual
Antes de qualquer alteração, documente o ambiente atual:
$ dpkg -l | grep mediawiki ii mediawiki 1:1.35.13-1+deb11u2 all website engine for collaborative work
Registre também a versão do PHP e do banco de dados:
$ php -v | head -1 PHP 7.4.33 (cli) (built: Jun 9 2023 15:16:31) ( NTS ) $ mysql --version mysql Ver 15.1 Distrib 10.5.28-MariaDB, for debian-linux-gnu (x86_64)
Por que isso importa: Em caso de rollback, você precisa saber exatamente qual versão estava em produção. Documentar o estado prévio é um princípio fundamental de engenharia de confiabilidade.
2. Atualização da lista de pacotes
Atualize o índice dos repositórios para garantir que o pacote corrigido esteja disponível:
$ sudo apt update Hit:1 http://deb.debian.org/debian bullseye InRelease Get:2 http://security.debian.org/debian-security bullseye-security InRelease [48.4 kB] ... Fetched 1,234 kB in 2s (617 kB/s) Reading package lists... Done
Armadilha comum: Administradores frequentemente esquecem de rodar apt update antes de apt upgrade, resultando em uma atualização para uma versão desatualizada dos repositórios locais. Sempre execute update primeiro.
3. Simulação da atualização (dry-run)
Execute uma simulação para visualizar o que será alterado sem aplicar as mudanças:
$ sudo apt upgrade --dry-run mediawiki Reading package lists... Done Building dependency tree... Done The following packages will be upgraded: mediawiki 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Inst mediawiki [1:1.35.13-1+deb11u2] (1:1.35.13-1+deb11u7 Debian-Security:11/11-security [all]) Conf mediawiki (1:1.35.13-1+deb11u7 Debian-Security:11/11-security [all])
Por que isso importa: A simulação revela dependências conflitantes ou pacotes retidos que podem interromper a atualização. Em ambientes com muitas extensões personalizadas, é comum que dependências do MediaWiki entrem em conflito com pacotes PHP específicos.
4. Realização do backup
# Backup do banco de dados $ sudo mysqldump --single-transaction --routines --triggers wikidb > /root/backup_wikidb_$(date +%Y%m%d).sql # Backup dos arquivos $ sudo tar -czf /root/backup_mediawiki_$(date +%Y%m%d).tar.gz \ /var/lib/mediawiki/ \ /etc/mediawiki/ \ /usr/share/mediawiki/LocalSettings.php
Verifique a integridade do backup:
$ tar -tzf /root/backup_mediawiki_$(date +%Y%m%d).tar.gz | head -20 $ head -5 /root/backup_wikidb_$(date +%Y%m%d).sql
Armadilha comum: Muitos administradores esquecem de incluir o diretório de cache ou as sessões PHP. O MediaWiki armazena cache em /var/cache/mediawiki/ e sessões em /var/lib/php/sessions/ — se você estiver fazendo uma migração completa, inclua esses diretórios.
5. Aplicação da atualização
Com o backup validado, aplique a atualização
$ sudo apt upgrade mediawiki Reading package lists... Done Building dependency tree... Done The following packages will be upgraded: mediawiki 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 12.4 MB of archives. After this operation, 12.4 MB disk space will be freed. Do you want to continue? [Y/n] y
O dpkg executará os scripts de pós-instalação (postinst), que geralmente incluem:
- Atualização do esquema do banco de dados via update.php
- Reinicialização do serviço web (Apache ou Nginx)
- Limpeza de caches
Saída esperada:
Setting up mediawiki (1:1.35.13-1+deb11u7) ... update.php started, this may take a while... Populating tables... Done. Restarting web server: apache2.
$ dpkg -l | grep mediawiki ii mediawiki 1:1.35.13-1+deb11u7 all website engine for collaborative work
$ sudo systemctl status apache2 ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since ...
Teste o funcionamento do wiki via CLI:
$ curl -s -o /dev/null -w "%{http_code}" http://localhost/wiki/index.php/Main_Page 200
7. Limpeza de caches
O MediaWiki mantém vários caches que podem reter dados de versões anteriores. Limpe-os manualmente:
# Cache do MediaWiki $ sudo php /usr/share/mediawiki/maintenance/rebuildall.php # Cache do PHP (se usando OPcache) $ sudo systemctl restart php7.4-fpm # bullseye $ sudo systemctl restart php8.2-fpm # bookworm # Cache do navegador (instrua os usuários a forçar refresh: Ctrl+F5)
📘 Indicação de Leitura
Esse livro é um guia prático e abrangente sobre a segurança do sistema operacional Linux como um todo. O livro ensina a pensar como um atacante para fortalecer a defesa do servidor, abordando tópicos fundamentais como:
- Ferramentas de rede: Nmap, Netcat, knockd.
- Monitoramento: de arquivos e sistemas de arquivos.
- Defesas: contra malware e ataques DDoS.
- Descoberta de vulnerabilidades: como invasores encontram pontos fracos.
Eu ganho uma comissão quando você faz uma compra.
Problema 1: "MediaWiki 1.35.13 requires PHP 7.4.3 or later"
Causa: O servidor está executando uma versão do PHP anterior ao requisito mínimo.
Solução:
# Verifique a versão do PHP $ php -v # No Debian bullseye, atualize para PHP 7.4 $ sudo apt install php7.4 php7.4-mysql php7.4-mbstring php7.4-xml php7.4-curl # Reinicie o serviço $ sudo systemctl restart apache2
Problema 2: "The database version is not compatible"
Causa: O script update.php não foi executado corretamente ou o banco de dados precisa de migrações manuais.
Solução:
# Execute manualmente o script de atualização do banco $ sudo php /usr/share/mediawiki/maintenance/update.php --quick # Se o erro persistir, force a reconstrução das tabelas $ sudo php /usr/share/mediawiki/maintenance/update.php --force
Armadilha comum: O parâmetro --quick pulga verificações de integridade. Use-o apenas se tiver certeza de que o esquema está consistente.
Problema 3: Extensões quebradas após a atualização
Causa: Extensões de terceiros podem não ser compatíveis com a nova versão do MediaWiki.
Solução temporária: Desabilite a extensão problemática em LocalSettings.php:
# Exemplo: desabilitar uma extensão quebrada # wfLoadExtension( 'BrokenExtension' );
Solução definitiva: Atualize a extensão para a versão compatível com a nova versão do MediaWiki. Verifique o repositório da extensão ou o site do desenvolvedor.
Por que isso importa: O MediaWiki tem um histórico de mudanças na API interna que quebram extensões não mantidas. Em ambientes corporativos, é comum ter extensões customizadas que exigem adaptação manual.
Problema 4: "E: Unable to locate package mediawiki"
Causa: O repositório Debian security não está configurado corretamente.
Solução: Verifique e corrija o arquivo /etc/apt/sources.list:
# Para bullseye deb http://deb.debian.org/debian bullseye main deb http://security.debian.org/debian-security bullseye-security main # Para bookworm deb http://deb.debian.org/debian bookworm main deb http://security.debian.org/debian-security bookworm-security main
Após corrigir, rode novamente sudo apt update.
Problema 5: Timeout durante a execução do update.php
Causa: Wikis com grande volume de dados podem exceder o tempo limite padrão do PHP.
Solução: Aumente os limites no php.ini antes de executar:
# Localize o php.ini $ php -i | grep "Loaded Configuration File" # Ajuste os parâmetros max_execution_time = 600 memory_limit = 512M
Execute o update.php novamente. Para wikis extremamente grandes, considere executar o script em modo "batch":
$ sudo php /usr/share/mediawiki/maintenance/update.php --quick --batch
Conclusão
O DLA-4640-1 aborda quatro vulnerabilidades que, em conjunto, expõem wikis institucionais a riscos significativos de vazamento de informações e execução de scripts maliciosos.
A atualização para 1:1.35.13-1+deb11u7 (bullseye) ou 1:1.39.17-1+deb12u2 (bookworm) é mandatória para qualquer ambiente que armazene dados sensíveis ou que seja acessível por múltiplos usuários.
Recomendações finais
- Automatize o monitoramento de versões com ferramentas como apt-listchanges e debsecan para receber alertas proativos sobre novas vulnerabilidades.
- Implemente um pipeline de staging: nunca atualize produção sem testar em um ambiente de homologação que replique fielmente a configuração de produção.
- Revise as extensões instaladas periodicamente — extensões desatualizadas são a principal causa de vulnerabilidades em MediaWiki.
- Mantenha um plano de rollback: tenha sempre à mão os backups e um procedimento documentado para revertê-los em caso de falha crítica.
- Considere a assinatura da lista de discussão Debian LTS (debian-lts-announce@lists.debian.org) para ser notificado automaticamente sobre futuros DLA.
A segurança de uma infraestrutura não se resume a aplicar patches — trata-se de um processo contínuo de avaliação, testes e melhoria. Esta atualização é um passo necessário, mas não o único, na jornada de manter seu wiki seguro e disponível.

Nenhum comentário:
Postar um comentário