CVE-2026-63628
ŚrednieCVSS 6.9Streszczenie
mppx to interfejs TypeScript dla protokołu machine payments. Przed wersją 0.8.2 ścieżka współpodpisywania opłat w src/tempo/internal/fee-payer.ts kopiowała access_list dostarczony przez klienta z 0x78 FeePayerEnvelope bez weryfikacji długości ani zawartości. Ponieważ wpisy listy dostępowej EIP-2930 zużywają gaz wewnętrzny nawet, gdy wymienione adresy nie są używane, klient mógł dodać fikcyjne wpisy adresowe i spowodować, że portfel fee_payer serwera zapłaci niepotrzebne opłaty transakcyjne. Zademonstrowana lista 180 wpisów mieściła się w limicie gazu 500 000, limicie nagłówka 16 KB i budżecie symulacji RPC, zwiększając opłatę około 9,4 razy. Problem naprawiono w wersji 0.8.2.
Ocena ryzyka
Atakujący może spowodować, że serwer poniesie znacznie wyższe koszty transakcyjne, co może prowadzić do strat finansowych i wyczerpania środków.
Rekomendacja
Zaktualizuj mppx do wersji 0.8.2 lub nowszej.
Inne podatności w mppx
Zobacz wszystkie- CVE-2026-63627Średnie
mppx to interfejs TypeScript dla protokołu machine payments. Przed wersją 0.8.2 FeePayerPolicy w src/tempo/internal/fee-payer.ts używał decodeFunctionData do walidacji calldata sponsorowanego opłatami, ale nie odrzucał końcowych bajtów. Klient mógł dodać niezerowe dopełnienie, które zwiększało wewnętrzny gaz calldata, podczas gdy gas_limit i max_fee_per_gas pozostawały w limitach polityki, powodując, że portfel fee_payer serwera płacił znacznie więcej niż wymagała zdekodowana transakcja. Testowany limit nagłówka 16 KB ograniczał zademonstrowane dopełnienie do około 5500 bajtów i powodował około pięciokrotnie wyższą opłatę transakcyjną. Problem naprawiono w wersji 0.8.2.
- CVE-2026-34210Wysokie
mppx przed wersją 0.4.11 nie sprawdzał nagłówka Idempotent-Replayed Stripe podczas tworzenia PaymentIntents. Atakujący mógł powtórzyć ważne poświadczenie z tym samym tokenem spt wobec nowego wyzwania, a serwer akceptował powtórzony PaymentIntent jako nową płatność bez faktycznego obciążania klienta. Umożliwiało to jednorazową płatność i nieograniczone zużycie zasobów.
- CVE-2026-34209Wysokie
mppx przed wersją 0.4.11 zawiera podatność w handlerze cooperative close protokołu tempo/session. Walidacja kwoty close voucher używa operatora "<" zamiast "<=" w porównaniu z kwotą rozliczoną na łańcuchu. Atakujący może przesłać close voucher dokładnie równy kwocie rozliczonej, który zostanie zaakceptowany bez zobowiązywania nowych środków, skutecznie zamykając kanał za darmo.
Oryginalny opis (angielski, źródło NVD)
mppx is a TypeScript interface for machine payments protocol. Prior to 0.8.2, the fee-payer cosigning path in src/tempo/internal/fee-payer.ts copied a client-supplied access_list from a 0x78 FeePayerEnvelope without validating its length or contents. Because EIP-2930 access-list entries consume intrinsic gas even when the listed addresses are never used, a client could add fabricated address-only entries and cause the server fee_payer wallet to pay unnecessary transaction fees. The demonstrated 180-entry list remained within the 500,000 gas policy cap, 16 KB header limit, and RPC simulation budget while increasing the fee by approximately 9.4 times. This issue is fixed in version 0.8.2.

