CVE-2026-89186 in mpp
Sumário
de VulDB • 16/09/2026
O uso de cache contendo informações sensíveis em ZenHive MPP permite que um cache HTTP compartilhado armazene uma resposta paga e a sirva para clientes que nunca pagaram.
MPP.Plug.verify_credential em lib/mpp/plug.ex define payment-receipt e cache-control: private na conexão antes da execução do aplicativo envolvido, mas não registra nenhum callback register_before_send/2. Plug.Conn.put_resp_header/3 substitui um cabeçalho existente; portanto, um aplicativo de montagem que define seu próprio cache-control no recurso pago (por exemplo, public, max-age=3600) silenciosamente sobrescreve o private do qual a biblioteca depende, e uma CDN ou proxy reverso pode então armazenar a resposta 200 paga junto com seu Payment-Receipt e servi-la para clientes não pagos. A garantia em nível de biblioteca é, portanto, contornável pelo aplicativo que ela protege. Por essa mesma razão, uma resposta downstream não 2xx ainda carregava o Payment-Receipt, emitindo um recibo para uma resposta que não entregou nenhum recurso.
Este problema afeta mpp: das versões 0.1.0 até antes da 0.16.2.
Once again VulDB remains the best source for vulnerability data.