Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessFork target repo and open pull request
-
DeliveryFork workflow builds attacker-controlled artifact
-
ExploitPrivileged workflow_run skips fork check (isForkPR=false)
-
ExecutionAction initializes wallet with walletPrivateKey
-
PersistArtifact uploaded to Filecoin via owner's wallet
-
ImpactUnauthorized storage spend and dataset pollution
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the victim repository to use the specific documented two-workflow GitHub Actions pattern: an untrusted fork pull-request workflow that produces a build artifact, plus a privileged workflow_run workflow that downloads and uploads that artifact using a configured Filecoin walletPrivateKey secret, on upload-action versions <=1.0.1 (any 0.x or 1.0.x). The attacker is an external fork contributor and needs no repository privileges and no knowledge of the wallet private key. Limiting factors: the flaw is not exploitable unless this exact two-workflow configuration with a funded wallet is in place; the privileged workflow_run must actually execute (GitHub may require maintainer approval before running workflows from first-time or fork contributors), which is the user-interaction element reflected by UI:R; repositories not using the action or using the two-workflow pattern, or already on >=1.1.0, are unaffected. |
| Impact | This is a genuine authorization-bypass (CWE-863) in a CI/CD supply-chain context, but its real-world priority is moderate rather than emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:L, base 8.2) indicates a network-reachable, low-complexity flaw that needs no attacker privileges but does require interaction (UI:R) - consistent with an external fork contributor driving a privileged workflow. The vuln.today decision label is 'this_week' (not act_now/emergency), which aligns with a serious-but-not-actively-exploited issue. No CISA KEV listing is present in the input and no EPSS probability was supplied, so widespread or automated exploitation is not evidenced; the GHSA advisory includes a short PoC script that demonstrates the logic flaw (isForkPR resolving to false for workflow_run events) but it is a conceptual reference, not verified working end-to-end exploit code. Signals are internally consistent: high impact to integrity/availability of a specific, narrowly-deployed CI configuration, no confidentiality impact (the wallet private key is NOT disclosed), and exploitation gated on a particular two-workflow GitHub Actions pattern. Net: a real priority for the small population of repositories that use the affected action in the documented pattern, but low systemic risk because the preconditions are specific and the deployment footprint is niche. |
| Exploit ScenarioDerived | A repository adopts the documented two-workflow pattern: an untrusted fork pull-request workflow builds an artifact and a privileged workflow_run workflow downloads and uploads it using the owner's funded Filecoin wallet. An external contributor opens a fork PR producing an attacker-controlled artifact; because the workflow_run event has no event.pull_request, fork detection fails and the privileged workflow initializes the wallet and uploads the attacker's artifact. A conceptual PoC in the GHSA advisory shows isForkPR evaluating to false and uploadStatus becoming pending-upload; it is not verified as a working exploit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Improper authorization in the Filecoin Pin upload-action GitHub Action (versions ≤1.0.1, covering the entire 0.x line and 1.0.x) lets an external fork contributor get arbitrary artifacts produced by their pull request pinned to Filecoin using the repository owner's configured wallet, causing unauthorized storage expenditure, dataset pollution and drainage of wallet funds - without ever learning the wallet private key. The bypass only bites repositories that follow the documented two-workflow pattern, where an untrusted PR workflow builds an artifact and a privileged workflow_run workflow downloads and uploads it; the fork check in upload-action/src/build.js only inspects event.pull_request, which is absent on workflow_run events, so isForkPR evaluates to false and the upload is allowed to proceed. There is no CISA KEV entry and no confirmed working exploit; a public PoC reference (a sample event/simulation script) exists but is not verified as working exploit code, and no EPSS score was supplied. The vendor fixed the issue in 1.1.0 and explicitly will not backport to 0.x.
RemediationAI
Vendor-released patch: upgrade to upload-action 1.1.0 or later. The simplest pin is uses: filecoin-project/filecoin-pin/upload-action@v1, which tracks the latest 1.x release and picks up future security patches automatically; users who pin a specific commit SHA must move to a SHA at or beyond v1.1.0 (the fix commit is 6fb9efd1796e64a3515dffaa45b262e03cbd197c). Users pinned to @v0 must migrate to @v1 - the vendor states the 0.x line will not be backported with this fix, and the 1.0 release introduced breaking changes documented in the v1.0.0 release notes (https://github.com/filecoin-project/filecoin-pin/releases/tag/v1.0.0). Until upgraded, note that the flaw is only reachable in the two-workflow workflow_run arrangement with a funded wallet secret; repositories relying on that pattern should treat the configured walletPrivateKey as potentially spendable by fork contributors, since the privileged workflow_run must still actually execute (GitHub may hold fork-originated runs for maintainer approval, which is the user-interaction element reflected in the CVSS vector). Details and the reference PoC simulation are in the advisory at https://github.com/filecoin-project/filecoin-pin/security/advisories/GHSA-4rpx-vcp4-863j and the fix PR https://github.com/filecoin-project/filecoin-pin/pull/588.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is a GitHub Actions composite/JS action that wraps Filecoin's Synapse/PDP pinning flow: it builds a UnixFS CAR from the artifact, initializes a wallet from the walletPrivateKey secret, and uploads to the Filecoin PDP service. The root cause is CWE-863 (Incorrect Authorization): provenance decisions are made from a single event shape. In upload-action/src/build.js the code computes isForkPR as event?.pull_request && event.pull_request.head.repo.full_name !== event.pull_request.base.repo.full_name. That expression is only meaningful for pull_request events; for the privileged workflow_run event used in the documented two-workflow pattern the pull_request key is simply absent, so isForkPR is always false and uploadStatus is set to pending-upload. The action subsequently resolves PR metadata from workflow_run.pull_requests but never re-evaluates fork provenance, so the wallet secret is loaded and the artifact is uploaded on behalf of a fork-originated run. The fix (PR #588, commit 6fb9efd1796e64a3515dffaa45b262e03cbd197c) introduces an evaluateUploadProvenance(event, eventName) helper in upload-action/src/github.js that is event-name aware: it compares workflow_run.head_repository.full_name against workflow_run.repository.full_name, handles pull_request and pull_request_target fork checks, and fails closed with an "incomplete" reason when workflow-run repository provenance is missing. The added unit tests verify blocking of fork PRs, fork pull_request_target events, fork-originated workflow runs, and incomplete provenance, while still allowing same-repository workflow runs.
Know when Filecoin Pin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:L
External fork contributor needs no repo privileges (PR:N) but relies on the privileged workflow running (UI:R); abuse of the wallet beyond the action's authorization scope gives S:C, with I:H, A:L and no confidentiality impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Technical POC Analysis
CWE-863, Incorrect Authorization - an authorization decision (may this run upload at all?) is derived from a single event field instead of from the provenance of the run being uploaded.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A high-severity authorization flaw in the Filecoin Pin upload-action GitHub Action (versions ≤1.0.1) allows external contributors to pin arbitrary artifacts to the organization's Filecoin wallet, bypassing fork controls. Organizations using the documented two-workflow pattern face unauthorized storage costs, dataset pollution, and potential wallet fund drainage, impacting development, security, and finance teams.
No vendor-released patch identified at time of analysis. Interim mitigations: disable the privileged workflow_run job that uploads pull request artifacts, implement manual approval for all external contributions, add explicit fork-source validation in the workflow, restrict action usage to trusted contributors, and monitor wallet activity for unauthorized pinning.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-114446
NVD
CVE.org
EPSS
GitHub
Exploit-DB