Filecoin Pin: Fork bypass in the privileged GitHub Actions workflow
Impact
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…
Source excerpt · GitHub_MAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
filecoin-project · GitHub_M
filecoin-pin
1 range
filecoin-project · GitHub_M
filecoin-pin
Compare with this publisher’s ranges. This does not inspect your installation.
affected
< 1.1.0
Other versions: unknown
Original source description
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.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-58412View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Contributing organizations · 1
Assigning organization
What changed
Follow changesLarge field values are marked as truncated previews. Original source snapshots remain retained.