Katalog CVE

CVE-2026-62300

ŚrednieCVSS 6.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.25%

Percentyl 16 - wyżej niż 16% wszystkich znanych CVE

Streszczenie

Filecoin Pin w wersjach do 1.1.0 włącznie nie egzekwuje limitów szybkości żądań ani kwot na użytkownika w punkcie końcowym POST /pins, a każde przypięcie jest przetwarzane w tle bez kolejki i limitu współbieżności. Brak limitów bajtów, bloków i czasu przechodzenia DAG pozwala uwierzytelnionemu lub anonimowemu (przy ALLOW_NO_AUTH=true) wywołującemu wyczerpać dysk, sieć, CPU, pamięć i zasoby libp2p, co może doprowadzić do degradacji usługi lub awarii hosta/procesu i pozostawić częściowe pliki CAR wymagające odzyskania.

Ocena ryzyka

Atakujący może przeciążyć usługę dużymi DAG-ami i równoległymi żądaniami, powodując odmowę usługi oraz pozostawienie niekompletnych plików CAR wymagających ręcznej naprawy. Domyślne wiązanie do localhost i wymóg tokenu ograniczają ekspozycję, ale przy ALLOW_NO_AUTH=true lub dostępności źródła libp2p wskazanego przez origins ryzyko jest realne.

Rekomendacja

Wdrożyć zewnętrzne limity szybkości żądań i kwoty na użytkownika oraz ograniczenia zasobów (bajty, bloki, czas przechodzenia DAG, współbieżność) przed punktem końcowym POST /pins. Zastosować mitigacje operacyjne opisane w wersji 1.1.1 i utrzymywać domyślne wiązanie do localhost oraz wymóg tokenu.

Inne podatności w Filecoin Pin

Oryginalny opis (angielski, źródło NVD)

Filecoin Pin is an IPFS Pinning Service API implementation that pins to Filecoin's PDP service. In daemon deployments up to and including version 1.1.0, `POST /pins` in `src/filecoin-pinning-server.ts` checks a caller-supplied CID with `CID.parse` and passes it to `pinStore.pin`, but does not enforce request rate limits or per-user quotas. In `src/filecoin-pin-store.ts`, each pin independently schedules `_processPinInBackground` with `setTimeout` without a queue, semaphore or concurrency cap, then recursively traverses the full DAG using `helia.pins.add(cid)`. The per-pin Helia/Bitswap node in `src/create-pinning-helia.ts` has no application-level byte, block or traversal-time limits. Blocks are written under `carStoragePath` by `src/core/car/car-blockstore-base.ts` and `src/core/car/car-file-backend.ts`, with `stats.totalSize` updated only after writing. An authenticated caller, or an anonymous caller when `ALLOW_NO_AUTH=true`, can submit large DAGs and exhaust disk, network, CPU, memory and libp2p resources, causing service degradation or host/process failure and leaving partial CAR files requiring recovery. The default localhost binding and token requirement reduce exposure. Because nodes have no bootstrap or mDNS configuration, a CID alone may not be fetchable, but caller-supplied `origins` can point to a reachable attacker-controlled libp2p source; concurrent requests accelerate resource pressure. Version 1.1.1 documents operational mitigations but does not implement the missing resource controls.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS