CVE-2026-89186
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
W ZenHive mpp przed wersją 0.16.2, użycie pamięci podręcznej zawierającej wrażliwe informacje pozwala współdzielonej pamięci podręcznej HTTP przechowywać płatną odpowiedź i serwować ją klientom, którzy nie zapłacili. MPP.Plug.verify_credential ustawia nagłówki payment-receipt i cache-control: private, ale aplikacja montująca może je nadpisać, np. ustawiając cache-control: public, co pozwala CDN lub reverse proxy na przechowywanie płatnej odpowiedzi i serwowanie jej niepłacącym klientom. Dodatkowo, nie-2xx odpowiedzi mogą nadal zawierać Payment-Receipt.
Ocena ryzyka
Organizacja może ponieść straty finansowe, ponieważ płatne treści mogą być udostępniane niepłacącym klientom przez pamięć podręczną, a także mogą być wydawane potwierdzenia płatności za odpowiedzi, które nie dostarczyły zasobu.
Rekomendacja
Zaktualizuj mpp do wersji 0.16.2 lub nowszej. Upewnij się, że aplikacje montujące nie nadpisują nagłówka cache-control ustawionego przez bibliotekę.
Inne podatności w mpp
Zobacz wszystkie- CVE-2026-88255Średnie
W ZenHive mpp przed wersją 0.16.2, nieprawidłowa walidacja równoważności w danych wejściowych pozwala nieuwierzytelnionemu zdalnemu klientowi przejść bramę duplikatów Tempo dwukrotnie z jednym podpisanym transakcją. MPP.Methods.Tempo rezerwuje slot deduplikacji na podstawie hex dostarczonego przez wywołującego, a nie kanonicznej formy transakcji, co pozwala na dwa różne klucze rezerwacji dla tej samej transakcji (np. v=27 i v=0). W rezultacie oba przechodzą rezerwację i trafiają do ścieżki broadcast, a węzeł może zwrócić drugi ważny Payment-Receipt za jedną płatność on-chain.
- CVE-2026-59695Wysokie
Podatność w bibliotece ZenHive mpp pozwala nieuwierzytelnionemu zdalnemu atakującemu na wyczerpanie portfela opłacającego opłaty w jednym żądaniu poprzez podanie dowolnie wysokiej ceny gazu. Biblioteka nie waliduje pól max_fee_per_gas i max_priority_fee_per_gas przed podpisaniem transakcji, co prowadzi do obciążenia portfela serwera zawyżonymi kosztami.
- CVE-2026-59694Wysokie
Podatność w bibliotece mpp (ZenHive) pozwala nieuwierzytelnionemu klientowi na zawyżenie kosztów gazu płaconych przez fee-payera poprzez dodanie dużej liczby wpisów do listy dostępu EIP-2930. Serwer podpisuje transakcję bez walidacji długości ani zawartości listy, co prowadzi do wielokrotnego wzrostu kosztów gazu.
- CVE-2026-59252Wysokie
Podatność w bibliotece mpp (ZenHive) pozwala nieuwierzytelnionemu zdalnemu klientowi na drenowanie portfela opłacającego opłaty (fee-payer) poprzez wysyłanie transakcji EVM z celowo zaniżonym limitem gazu. Powoduje to, że serwer współpodpisuje i rozgłasza transakcję, która kończy się niepowodzeniem z powodu braku gazu, ale portfel opłacający jest obciążany kosztami spalonego gazu, podczas gdy atakujący nie ponosi kosztów. W rezultacie dochodzi do odmowy usługi dla legalnych klientów, ponieważ portfel opłacający wyczerpuje środki.
Oryginalny opis (angielski, źródło NVD)
Use of Cache Containing Sensitive Information in ZenHive mpp allows a shared HTTP cache to store a paid response and serve it to clients that never paid. MPP.Plug.verify_credential in lib/mpp/plug.ex sets payment-receipt and cache-control: private on the connection before the wrapped application runs, and registers no register_before_send/2 callback. Plug.Conn.put_resp_header/3 replaces an existing header, so a mounting application that sets its own cache-control on the paid resource (for example public, max-age=3600) silently overrides the private the library relies on, and a CDN or reverse proxy can then store the paid 200 together with its Payment-Receipt and serve both to unpaid clients. The library-level guarantee is therefore defeatable by the application it protects. For the same reason a downstream non-2xx response still carried Payment-Receipt, issuing a receipt for a response that delivered no resource. This issue affects mpp: from 0.1.0 before 0.16.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

