Skip to main content

nektos act CVE-2026-76847

| EUVDEUVD-2026-64852 HIGH
Missing Authorization (CWE-862)
2026-08-24 VulnCheck GHSA-crfw-6q9f-w49f
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Identify act process and artifact backend IP:port on local network
  2. Delivery
    Compute forged HMAC using hardcoded key 0xbadbee f0
  3. Exploit
    Send unauthenticated ListArtifacts RPC with arbitrary run ID
  4. Execution
    Retrieve signed URL via GetSignedArtifactURL
  5. Persist
    Download or overwrite victim job's artifact
  6. Impact
    Exfiltrate embedded secrets or inject malicious build output

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
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

The artifact backend is only started when the workflow being executed by act includes a step that invokes actions/upload-artifact@v4 or actions/download-artifact@v4 - workflows that do not use these specific actions are not exposed. The --artifact-server-addr flag must retain its default value (the host's outbound IP rather than 127.0.0.1); if an operator explicitly overrides it to loopback, network-adjacent exploitation is prevented. At least one concurrent job must be active using the artifact backend for a meaningful cross-job artifact theft scenario, though single-job scenarios still expose that job's own artifacts to network attackers. Limiting factors: AV:A constrains exploitation to attackers on the same L2 network segment or the same host - arbitrary internet-based attackers cannot reach the backend directly. The backend is ephemeral and only active during the artifact upload or download operation, creating a narrow time window. There is no authentication mechanism to bypass beyond the broken HMAC; no special user privileges, application roles, or prior access to act configuration are required once network reach is established.

Impact

The CVSS 4.0 score of 8.7 with vector AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H is well-calibrated: the AV:A (Adjacent) metric is the primary limiting factor, meaning exploitation requires the attacker to be on the same local network segment or the same host as the act process. In developer workstation or shared CI/CD environments - the primary deployment context for act - adjacency is a realistic attacker position: co-located containers, shared build agents, or other processes on a developer machine all qualify. The AC:L and PR:N metrics reflect that once reachable, exploitation requires no special conditions or credentials because both the authorization check and the HMAC have been rendered ineffective by the defects described. No EPSS score was provided in the available intelligence, and the vulnerability is not listed in the CISA KEV catalog at time of analysis. However, the exploitable conditions are self-evident from reading the public source at v0.2.89, and the hardcoded HMAC key is a known constant - effectively making the signed-URL scheme equivalent to no authentication. The threat is most acute in shared CI environments where multiple workflows run concurrently using artifact actions: an attacker in the same build environment can inject malicious binaries, steal secrets exfiltrated to artifacts, or corrupt build outputs before they are consumed by subsequent steps.

Exploit ScenarioDerived

An attacker on the same local network or host as a developer or CI agent running act waits for a job that invokes actions/upload-artifact@v4 to begin, identifies the artifact backend's address from the act process's bound outbound interface, and forges a valid HMAC signature for a ListArtifacts RPC by computing the 4-byte hardcoded key (0xba 0xdb 0xee 0xf0) over the known concatenation scheme. The attacker calls GetSignedArtifactURL with an arbitrary workflow_run_backend_id to retrieve a signed URL for the victim job's artifacts containing deployment tokens or compiled binaries, exfiltrates the secrets, and optionally calls CreateArtifact or FinalizeArtifact to replace the artifact with a malicious payload before the owning job downloads it. No proof-of-concept code has been identified in the available intelligence, but the HMAC key and the commented-out authorization check are directly readable in the public source repository.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 24, 2026

Unauthenticated artifact manipulation in nektos/act's Artifacts V4 backend allows any network-adjacent attacker to read, overwrite, or delete the build artifacts of concurrently running jobs, including embedded secrets and deployment credentials. Two compounding root-cause defects drive the severity: a run-ID ownership check that is explicitly commented out in validateRunIDV4 (pkg/artifacts/artifacts_v4.go), and a universally forgeable HMAC whose key is a hardcoded 4-byte constant (0xba 0xdb 0xee 0xf0) shared across every build with a delimiter-free concatenation scheme vulnerable to hash ambiguity. No public exploit has been identified at time of analysis and the vulnerability is not listed in CISA KEV, but the exploitable code paths are visible in public source and trivially reproducible.

RemediationAI

No vendor-released patched version has been independently confirmed from the available reference data - the GitHub repository (https://github.com/nektos/act) and VulnCheck advisory (https://www.vulncheck.com/advisories/act-through-missing-authorization-in-the-artifacts-v4-backend) should be monitored for a patched release. As an immediate compensating control, pass --artifact-server-addr=127.0.0.1:<port> when invoking act; this binds the backend to loopback only, preventing network-adjacent access, though it will break any multi-container or remote-runner setup that requires the artifact server to be reachable from other hosts. Avoid using actions/upload-artifact@v4 or actions/download-artifact@v4 in act workflows until patched, since the backend is only started when those actions are invoked - workflows using earlier artifact action versions or no artifact actions are not affected. In shared CI environments or on multi-tenant build hosts, treat all artifact contents produced by act as potentially compromised until a fix is applied, particularly build outputs that contain secrets, tokens, or deployment credentials.

Affected VersionsENISA

act 0.2.81 ≤0.2.89

Affected Packages

euvd act no fix

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

nektos/act is a tool that runs GitHub Actions workflows locally by emulating the GitHub Actions runner environment. When a workflow invokes actions/upload-artifact@v4 or actions/download-artifact@v4, act spawns an HTTP Artifacts V4 backend implementing control-plane RPCs: CreateArtifact, GetSignedArtifactURL, ListArtifacts, FinalizeArtifact, and DeleteArtifact. The root cause class is CWE-862 (Missing Authorization): the function validateRunIDV4 in pkg/artifacts/artifacts_v4.go parses the caller-supplied workflow_run_backend_id value but the comparison that would verify it matches the requesting task's run ID is commented out, meaning any caller can claim any run ID. The HMAC signing mechanism that protects issued URLs compounds this: the secret key is a literal 4-byte constant (0xba 0xdb 0xee 0xf0) identical in every build, and the signed payload concatenates endpoint, expiry, artifact name, and task ID without length prefixes or delimiters, creating hash-length extension and ambiguity conditions where signatures for one (name, taskID) pair are valid for a different pair with equivalent concatenated bytes. A third structural defect is that the --artifact-server-addr flag defaults to the host's outbound IP rather than loopback (127.0.0.1), so the backend is reachable across the local network without any extra configuration. CPE cpe:2.3:a:nektos:act:*:*:*:*:*:*:*:* indicates all versions are potentially affected as enumerated by VulnCheck.

Know when Act 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 (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

AV:A because default binding exposes backend to local network only; PR:N because authorization check is entirely absent; full C/I/A impact on artifact data.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Adjacent
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

act starts an HTTP Artifacts V4 backend whenever a workflow uses actions/upload-artifact@v4 or actions/download-artifact@v4. The control-plane RPCs of that backend, including CreateArtifact, GetSignedArtifactURL, ListArtifacts, FinalizeArtifact and DeleteArtifact, accept a caller-supplied workflow_run_backend_id and never check that it belongs to the requester: validateRunIDV4 in pkg/artifacts/artifacts_v4.go parses the value and returns it with the comparison against the requesting task's run ID left commented out. The signed URLs the backend issues are authenticated by an HMAC whose key is hardcoded to the four bytes 0xba 0xdb 0xee 0xf0, identical in every build, computed over a concatenation of endpoint, expiry, artifact name and task ID with no length prefix or delimiter, so signatures are both forgeable and ambiguous between differing artifact name and task ID pairs. The --artifact-server-addr flag defaults to the host's outbound address rather than loopback, leaving the backend reachable from the surrounding network. Any client that can reach it may read, overwrite or delete the artifacts of a concurrently running job with no credentials, exposing build outputs such as secrets and deployment credentials and permitting their replacement before the owning job consumes them.

Executive ViewAI

Why It Matters

nektos/act's Artifacts V4 backend contains an authentication bypass allowing network-adjacent attackers to read, overwrite, or delete build artifacts from concurrent jobs without credentials. Organizations using this CI/CD tool risk exposure of embedded secrets, deployment credentials, and sensitive artifacts to unauthorized access, potentially enabling lateral movement and supply-chain compromise through artifact manipulation.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: implement network-layer access controls restricting artifact backend connectivity; disable concurrent job execution; enable audit logging on artifact read/write/delete operations; initiate credential rotation for all secrets embedded in build artifacts; consider temporary suspension of CI/CD workflows until network controls are validated.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Medium
popular GitHub Actions local runner among developers and small CI teams
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

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 No
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
Scheduled
Exploitation
None
System Exposure· derived
Controlled
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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.

Vendor StatusVendor

SUSE

Severity: Important

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