Fork bypass in filecoin-pin privileged GitHub Actions workflow
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · High · Low
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-863.
Summary
Filecoin Pin, an IPFS Pinning Service API implementation that pins to Filecoin's PDP service, contains an incorrect authorization flaw in the upload GitHub Action before 1.1.0. The fork detection in build.js checks only event.pull_request, so in the documented two-workflow pattern a privileged workflow_run job treats an untrusted fork pull request as trusted. An external contributor who can open a pull request can cause attacker-controlled artifacts to be stored using the repository owner's Filecoin wallet, leading to unauthorized storage costs and consumption of wallet funds. Exploitation does not require disclosure of the wallet private key.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
Filecoin Pin is an IPFS Pinning Service API implementation that pins to Filecoin's PDP service. Prior to 1.1.0, the upload GitHub Action's fork detection in `upload-action/src/build.js` checks only `event.pull_request`. In the documented two-workflow pattern, an untrusted fork pull-request workflow produces an artifact and a privileged `workflow_run` workflow downloads and uploads it. Because `workflow_run` has no `event.pull_request`, `isForkPR` becomes false and `uploadStatus` becomes `pending-upload`. The action later resolves `workflow_run.pull_requests` without repeating the fork check before initializing the wallet with `walletPrivateKey` and uploading the artifact. An external contributor can therefore cause attacker-controlled artifacts to be stored using the repository owner's Filecoin wallet, incurring unauthorized storage expenditure, dataset pollution and consumption of configured wallet funds. Disclosure of the wallet private key is not required. The 0.x action line is not receiving a backport and must be migrated to a fixed 1.x release. This issue is fixed in version 1.1.0.
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 | before 1.1.0 | 1.1.0 | Patch available | CNA |
- filecoin-pin Vendorfilecoin-project Affected before 1.1.0 Fixed in 1.1.0 Patch available CNA
Remediation
Upgrade filecoin-pin to version 1.1.0. The 0.x action line receives no backport, so migrate to 1.1.0 or later.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA filecoin-pin (filecoin-project) Fixed in 1.1.0
Timeline
- 2026-10-30 Threatist record created from CVE-2026-58412
- 2026-11-01 Priority changed: MEDIUM → LOW
- 2026-11-06 CISA SSVC decision points changed
- 2026-11-06 Priority changed: LOW → HIGH
References
Other 4
- https://github.com/filecoin-project/filecoin-pin/security/advisories/GHSA-4rpx-vcp4-863j
- https://github.com/filecoin-project/filecoin-pin/pull/588
- https://github.com/filecoin-project/filecoin-pin/commit/6fb9efd1796e64a3515dffaa45b262e03cbd197c
- https://github.com/filecoin-project/filecoin-pin/tree/v1.1.0
More filecoin-project vulnerabilities
- TI-2026-83383 Unbounded DAG pinning in Filecoin Pin can exhaust server resources CVSS 3.1MEDIUM 6.5
- 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
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences