CVE-2026-76847: Missing Authorization in nektos act
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.
AI Analysis
Technical Summary
The vulnerability in nektos act arises from the HTTP Artifacts V4 backend starting whenever workflows use certain artifact actions. Control-plane RPCs accept a workflow_run_backend_id parameter but do not verify that it belongs to the requester because the relevant validation code is commented out. Additionally, the signed URLs use an HMAC with a hardcoded 4-byte key (0xba 0xdb 0xee 0xf0) that is identical across builds and computed over concatenated parameters without delimiters, making signatures forgeable and ambiguous. The artifact server listens on the host's outbound address by default rather than loopback, exposing it to the network. Consequently, any client with network access can access or manipulate artifacts of running jobs without authentication, potentially exposing secrets and allowing artifact replacement.
Potential Impact
An attacker with network access to the artifact server can bypass authorization controls to read, overwrite, or delete artifacts belonging to concurrent jobs. This can lead to exposure of sensitive build outputs such as secrets and deployment credentials, and allow tampering with artifacts before the owning job consumes them. The vulnerability affects confidentiality, integrity, and availability of build artifacts.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict network access to the artifact server by configuring the --artifact-server-addr flag to bind to loopback or a trusted interface. Monitor for updates from the vendor regarding an official fix or temporary mitigations.
CVE-2026-76847: Missing Authorization in nektos act
Description
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.
CVSS v4.0
Score 8.7high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in nektos act arises from the HTTP Artifacts V4 backend starting whenever workflows use certain artifact actions. Control-plane RPCs accept a workflow_run_backend_id parameter but do not verify that it belongs to the requester because the relevant validation code is commented out. Additionally, the signed URLs use an HMAC with a hardcoded 4-byte key (0xba 0xdb 0xee 0xf0) that is identical across builds and computed over concatenated parameters without delimiters, making signatures forgeable and ambiguous. The artifact server listens on the host's outbound address by default rather than loopback, exposing it to the network. Consequently, any client with network access can access or manipulate artifacts of running jobs without authentication, potentially exposing secrets and allowing artifact replacement.
Potential Impact
An attacker with network access to the artifact server can bypass authorization controls to read, overwrite, or delete artifacts belonging to concurrent jobs. This can lead to exposure of sensitive build outputs such as secrets and deployment credentials, and allow tampering with artifacts before the owning job consumes them. The vulnerability affects confidentiality, integrity, and availability of build artifacts.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict network access to the artifact server by configuring the --artifact-server-addr flag to bind to loopback or a trusted interface. Monitor for updates from the vendor regarding an official fix or temporary mitigations.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-08-19T20:34:19.724Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a8c45b3acd9273b4994634d
Added to database: 08/24/2026, 13:22:59 UTC
Last enriched: 08/24/2026, 13:37:17 UTC
Last updated: 08/24/2026, 14:46:05 UTC
Views: 5
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.