CVE-2026-63627
ŚrednieCVSS 6.9Streszczenie
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.
Ocena ryzyka
Atakujący może zawyżyć koszty transakcyjne serwera, co może prowadzić do nadmiernych wydatków i potencjalnych strat finansowych.
Rekomendacja
Zaktualizuj mppx do wersji 0.8.2 lub nowszej.
Inne podatności w mppx
Zobacz wszystkie- CVE-2026-63628Średnie
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.
- 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, FeePayerPolicy in src/tempo/internal/fee-payer.ts used decodeFunctionData to validate fee-sponsored calldata but did not reject trailing bytes. A client could append nonzero padding that increased intrinsic calldata gas while gas_limit and max_fee_per_gas remained within policy caps, causing the server fee_payer wallet to pay substantially more than the decoded transaction required. The tested 16 KB header limit bounded the demonstrated padding to about 5,500 bytes and produced approximately five times the normal transaction fee. This issue is fixed in version 0.8.2.

