PT-2026-93379 · Zenhive · Zenhive Mpp
CVSS v4.0
6.3
Média
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
ZenHive mpp versões 0.1.0 até 0.16.1
Descrição
O ZenHive mpp permite que um cache HTTP compartilhado armazene uma resposta paga e a sirva para clientes que não pagaram. Isso ocorre porque a função
MPP.Plug.verify credential em lib/mpp/plug.ex define os cabeçalhos payment-receipt e cache-control: private antes da execução do aplicativo envolvido, mas não registra um callback register before send/2. Como o Plug.Conn.put resp header/3 substitui cabeçalhos existentes, qualquer aplicativo montado que defina seu próprio cache-control (como public, max-age=3600) substitui a diretiva private. Consequentemente, um CDN ou proxy reverso pode armazenar a resposta paga e seu cabeçalho Payment-Receipt, servindo-os a clientes não pagantes. Além disso, respostas não-2xx podem ainda carregar um Payment-Receipt, emitindo um recibo para uma resposta que não entregou nenhum recurso.Recomendações
Atualize o ZenHive mpp para a versão 0.16.2 ou posterior.
No aplicativo montado atrás do
MPP.Plug, pare de definir Cache-Control em rotas pagas ou use diretivas seguras como private ou no-store.
Configure o CDN ou proxy reverso para não armazenar em cache respostas que contenham o cabeçalho Payment-Receipt.Exploit
Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Zenhive Mpp