CVE-2026-89186 in mppИнформация

Сводка

по VulDB • 16.09.2026

Использование кэша, содержащего конфиденциальную информацию в ZenHive MPP, позволяет общему HTTP-кэшу сохранять платный ответ и предоставлять его клиентам, которые никогда не производили оплату.

Функция `MPP.Plug.verify_credential` из файла `lib/mpp/plug.ex` устанавливает заголовки `Payment-Receipt` (Платежная квитанция) и `Cache-Control: private` в соединении перед выполнением обернутого приложения, но не регистрирует обратный вызов `register_before_send/2`. Функция `Plug.Conn.put_resp_header/3` заменяет существующий заголовок, поэтому приложение-обертка, которое устанавливает собственный `cache-control` для платного ресурса (например, `public, max-age=3600`), молча переопределяет значение `private`, на которое полагается библиотека. В результате CDN или обратный прокси-сервер могут сохранить платный ответ со статусом 200 вместе с заголовком `Payment-Receipt` и обслуживать их для клиентов, не произведших оплату. Таким образом, гарантия уровня библиотеки может быть обойдена приложением, которое она защищает. По той же причине последующий ответ со статусом отличным от 2xx все еще содержал заголовок `Payment-Receipt`, что приводило к выдаче квитанции за ответ, который не предоставил никаких ресурсов.

Эта проблема затрагивает пакет mpp: начиная с версии 0.1.0 до (не включая) 0.16.2.

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

EEF

Резервировать

11.09.2026

Раскрытие

16.09.2026

Модерация

принято

Вход

VDB-405546

EPSS

0.00394

KEV

Нет

Деятельности

Низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!