Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-10795-Lab — Laboratório Docker reproduzindo CVE-2026-10795: bypass de autenticação no UpdraftPlus UpdraftCentral encadeado com instalação de plugin para RCE. Inclui alvos vulneráveis/corrigidos, exploit PoC e passo a passo no nível de código-fonte. | Kitploit
Ferramentas/GitHubGitHub/rootdirective-sec/cve-2026-10795-lab
Autenticação e AutorizaçãoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubrootdirective-sec/cve-2026-10795-lab

CVE-2026-10795-Lab

Laboratório Docker reproduzindo CVE-2026-10795: bypass de autenticação no UpdraftPlus UpdraftCentral encadeado com instalação de plugin para RCE. Inclui alvos vulneráveis/corrigidos, exploit PoC e passo a passo no nível de código-fonte.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório
12há 3 mesesAinda não revisado

CVE Lab: CVE-2026-10795 - Bypass de Autenticação RPC do UpdraftPlus UpdraftCentral Encadeado com Instalação de Plugin

Resumo Executivo

Este repositório contém um laboratório Docker local para reproduzir e validar a CVE-2026-10795, uma vulnerabilidade de bypass de autenticação não autenticado que afeta o plugin UpdraftPlus do WordPress por meio da camada de comunicação remota UpdraftCentral.

O comportamento vulnerável existe no fluxo de tratamento de mensagens RPC do UpdraftCentral. Em versões vulneráveis, uma mensagem RPC forjada com format=1 pode ignorar a verificação de assinatura, acionar um caminho de descriptografia RSA com falha e ainda assim chegar à descriptografia simétrica com um comportamento previsível de chave nula/IV nulo. Isso permite que uma mensagem RPC criptografada e manipulada seja aceita e despachada como um comando UpdraftCentral.

Este laboratório compara duas versões do UpdraftPlus:

ServiçoVersão do UpdraftPlusFinalidadeURL
vuln1.26.4Alvo de comparação vulnerávelhttp://127.0.0.1:8081
patched1.26.5Alvo de comparação corrigidohttp://127.0.0.1:8082

A cadeia demonstrada é:```text Unauthenticated attacker → forged UpdraftCentral RPC request → format=1 signature verification bypass → failed RSA decrypt not rejected in vulnerable version → predictable zero-key/zero-IV decrypt path → forged JSON RPC command accepted → privileged UpdraftCentral command dispatch → plugin.upload_plugin → install and activate marker plugin → hard-coded /usr/bin/id proof endpoint

A vulnerabilidade principal é um bypass de autenticação. O laboratório demonstra que o bypass pode ser encadeado a um impacto do tipo RCE quando um estado de chave UpdraftCentral privilegiado está presente, porque o UpdraftCentral expõe comandos legítimos de gerenciamento de plugins que podem instalar e ativar plugins do WordPress.

Esta não é uma vulnerabilidade direta de injeção de comandos. A prova de execução de código vem do abuso da funcionalidade autenticada de instalação de plugins após contornar o limite de autenticação RPC.

Este laboratório foi projetado apenas para pesquisa local controlada, compreensão em nível de código-fonte e demonstração em portfólio.

## Fatos Verificados

| Afirmação                                                                  | Evidência                                                                                              | Como verificar neste laboratório                                          |
| ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| O UpdraftPlus 1.26.4 é vulnerável neste laboratório.                          | O serviço vulnerável aceita uma mensagem RPC forjada `format=1` e despacha `plugin.upload_plugin`. | Execute `python3 poc/poc.py --url http://127.0.0.1:8081`.              |
| O UpdraftPlus 1.26.5 bloqueia a mensagem forjada neste laboratório.              | O serviço corrigido não retorna corpo de resposta RPC e não despacha o comando forjado.            | Execute `python3 poc/poc.py --url http://127.0.0.1:8082`.              |
| O problema é um bypass de autenticação na camada RPC do UpdraftCentral. | Uma requisição RPC forjada não autenticada pode alcançar o despacho de comandos na versão vulnerável.            | Compare o comportamento de `--ping` entre as portas `8081` e `8082`.         |
| O laboratório não pré-instala o plugin marcador.                        | A configuração instala apenas WordPress, UpdraftPlus e um estado de chave UpdraftCentral local.                 | Verifique `/wp-json/cve-lab/v1/id` antes de executar o PoC.             |
| O PoC instala o plugin marcador por meio de RPC forjado.                 | O PoC envia `plugin.upload_plugin` com um payload de plugin ZIP no campo de dados RPC.                 | Execute o PoC e então solicite `/wp-json/cve-lab/v1/id`.             |
| O alvo vulnerável atinge impacto do tipo RCE.                        | O plugin marcador expõe um endpoint fixo que retorna a saída de `/usr/bin/id`.                    | O alvo vulnerável retorna `uid=33(www-data) gid=33(www-data)`. |
| O alvo corrigido não instala o plugin marcador.                 | O endpoint marcador retorna `404 rest_no_route` no serviço corrigido.                               | Execute o PoC contra `http://127.0.0.1:8082`.                       |
| O laboratório requer um estado de chave UpdraftCentral.                          | O despacho do UpdraftCentral depende de uma entrada de chave local e dos metadados associados.                         | Revise `scripts/setup-wordpress.sh`.                               |

## Suposições e Incógnitas

Este laboratório intencionalmente insere um estado de chave UpdraftCentral local para reproduzir uma condição de site onde o controle remoto foi configurado.

O estado de chave inserido é um pré-requisito do laboratório, não a vulnerabilidade em si. Ele permite que o laboratório exercite consistentemente o caminho vulnerável de análise e descriptografia RPC.

O laboratório não afirma que toda instalação do UpdraftPlus é imediatamente explorável. A cadeia demonstrada depende da presença de uma entrada de chave UpdraftCentral local associada a um usuário WordPress privilegiado.

O laboratório demonstra um impacto controlado do tipo RCE ao instalar um plugin marcador que expõe um endpoint fixo de prova `/usr/bin/id`. Ele não fornece um web shell genérico, parâmetro arbitrário de execução de comandos, reverse shell, mecanismo de persistência, roubo de credenciais ou callback externo.

O PoC é limitado apenas a alvos locais e recusa hostnames não locais por padrão.

## Resumo da Causa Raiz

A causa raiz é a validação inadequada das mensagens RPC do UpdraftCentral em versões vulneráveis do UpdraftPlus.

O fluxo RPC vulnerável aceita uma mensagem `format=1`. O caminho `format=1` não exige a mesma verificação de assinatura que os formatos de mensagem mais recentes.

O problema em alto nível é:```text
format=1 message
→ signature verification is bypassed
→ RSA decrypt of the symmetric key can fail
→ failed decrypt result is not rejected
→ false is passed into the symmetric cipher as a key
→ phpseclib normalizes this into a predictable null key path
→ attacker-controlled encrypted JSON can decrypt successfully
→ command is dispatched

Em comportamento vulnerável, a descriptografia RSA pode retornar:```text false

Em vez de rejeitar o resultado de descriptografia com falha, o fluxo vulnerável continua e passa o valor para a camada de descriptografia simétrica.

O padrão vulnerável efetivo é:```php
$sym_key = $rsa->decrypt($sym_key);
$rij->setKey($sym_key);
$decrypted = $rij->decrypt($ciphertext);

O problema é que $sym_key não é validado antes de ser usado.

Quando $sym_key é false, a configuração da cifra segue um comportamento previsível de chave nula/IV nulo. Isso torna possível criar um payload RPC criptografado usando uma chave zero e um IV zero conhecidos.

A versão corrigida adiciona uma proteção antes de a chave simétrica ser usada:```php if (false === $sym_key || !is_string($sym_key) || strlen($sym_key) < 16) { return false; }

Isso altera o limite de confiança.

Antes do patch:```text
failed RSA decrypt result could still reach symmetric decrypt

Após o patch:```text failed RSA decrypt result is rejected before command dispatch

É por isso que o serviço vulnerável despacha o comando RPC forjado, enquanto o serviço corrigido não o faz.

## Por que um bypass de autenticação pode levar à execução de código
Baixar ferramenta