Skip to main content

Filecoin Pin upload-action EUVDEUVD-2026-114446

| CVE-2026-58412 HIGH
Incorrect Authorization (CWE-863)
2026-10-30 GitHub_M
8.2
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Fork target repo and open pull request
  2. Delivery
    Fork workflow builds attacker-controlled artifact
  3. Exploit
    Privileged workflow_run skips fork check (isForkPR=false)
  4. Execution
    Action initializes wallet with walletPrivateKey
  5. Persist
    Artifact uploaded to Filecoin via owner's wallet
  6. Impact
    Unauthorized 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

filecoin-pin < 1.1.0

Affected Packages

euvd filecoin_pin fix: 1.1.0

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

Vendor (GitHub_M) PRIMARY 8.2 HIGH
AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:L
vuln.today AI 8.2 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
None
Integrity
High
Availability
Low

Lifecycle Timeline

2
Patch available
Oct 30, 2026 - 22:03 EUVD
CVE Published
Oct 30, 2026 - 20:12 cve.org
HIGH 8.2

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche open-source IPFS-to-Filecoin pinning action, limited CI adoption
Data Quality
3 sources
Confidence: Low

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy