Unbounded DAG pinning in Filecoin Pin can exhaust server resources
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-400.
Summary
Filecoin Pin through 1.1.0 runs each POST /pins request as an unbounded recursive DAG traversal with no queue, concurrency cap, byte, block or time limit (CWE-400). An authenticated caller, or an anonymous caller when ALLOW_NO_AUTH=true, can submit large DAGs to exhaust disk, network, CPU and memory, degrading the service or crashing the host. CISA SSVC data lists a proof of concept, and the flaw is not in CISA KEV.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| filecoin-project | filecoin-pin | up to 1.1.0 | — | No fix listed | CNA |
| — | filecoin-pin (npm) | before 1.1.1 | 1.1.1 | Patch available | GHSA-m5ph-mmg5-6w5h |
- filecoin-pin Vendorfilecoin-project Affected up to 1.1.0 Fixed in — No fix listed CNA
- filecoin-pin (npm) Vendor— Affected before 1.1.1 Fixed in 1.1.1 Patch available GHSA-m5ph-mmg5-6w5h
Remediation
Upgrade the npm package filecoin-pin to 1.1.1, the fixed version. Version 1.1.1 documents operational mitigations but does not implement the missing resource controls. The sources list no fixed version.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
- Fix · GHSA-m5ph-mmg5-6w5h filecoin-pin (npm) Fixed in 1.1.1 Advisory →
Timeline
- 2026-10-30 Threatist record created from CVE-2026-62300
- 2026-11-01 Priority changed: MEDIUM → LOW
- 2026-11-02 CISA SSVC decision points changed
- 2026-11-02 Priority changed: LOW → MEDIUM
- 2026-11-05 Alias added: GHSA-m5ph-mmg5-6w5h
- 2026-11-05 Fix available: npm/[email protected] · GHSA-m5ph-mmg5-6w5h
- 2026-11-05 CVSS score added · GHSA-m5ph-mmg5-6w5h
- 2026-11-05 Weakness changed · GHSA-m5ph-mmg5-6w5h
- 2026-11-05 6 new references · GHSA-m5ph-mmg5-6w5h
References
Other 5
- https://github.com/filecoin-project/filecoin-pin/security/advisories/GHSA-m5ph-mmg5-6w5h
- https://github.com/filecoin-project/filecoin-pin/commit/8db22b47899deb78dadf415fc477cae4bd6e82c2
- https://github.com/filecoin-project/filecoin-pin/commit/afa019307db23a703737675e94316edcc6572050
- https://github.com/filecoin-project/filecoin-pin
- https://github.com/filecoin-project/filecoin-pin/releases/tag/v1.1.1
More filecoin-project vulnerabilities
- TI-2026-83382 Fork bypass in filecoin-pin privileged GitHub Actions workflow CVSS 3.1HIGH 8.2
- TI-2025-37330 go-f3 module vulnerable to integer overflow leading to panic CVSS 3.1HIGH 7.5
- TI-2021-04503 BLS Signature "Malleability" CVSS 3.1HIGH 7.5
- TI-2025-37329 go-f3 is Vulnerable to Cached Justification Verification Bypass CVSS 3.1MEDIUM 6.5
Sources
- CVE-2026-62300 · CVE Program
- CVE-2026-62300 · NVD
- FIRST EPSS
- GHSA-m5ph-mmg5-6w5h · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences