Skip to content

← Public intelligence

Go package

github.com/nektos/act

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

3 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. High, CVSS 8.2GoPublished

    act: actions/cache server allows malicious cache injection

    CVE-2026-34042 · GHSA-x34h-54cw-9825

    Affected
    • Go github.com/nektos/act <= 0.2.85
    Fixed in
    0.2.86· Vendor fix available
    Issue
    act's built-in actions/cache server listens to connections on all interfaces and allows anyone who can connect to it — including someone anywhere on the internet — to create caches with arbitrary keys and retrieve all existing caches. If one can predict which cache keys will be used by local actions, one can create malicious caches containing whatever files one pleases, most likely allowing arbitrary remote code execution within the Docker container. Discovery Discovered while discussing forgejo/runner#294. Proposed Mitigation It was discussed to append a secret to ACTIONSCACHEURL to retain compatibility with GitHub's cache action and still allow authorization. Forgejo is considering also encoding which repo is currently being run in CI into the secret in the URL to prevent unrelated repos using the same (probably global) runner from seeing each other's caches.

    Recommended action: Upgrade to 0.2.86 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  2. High, CVSS 7.7GoPublished

    act: Unrestricted set-env and add-path command processing enables environment injection

    CVE-2026-34041 · GHSA-xmgr-9pqc-h5vw

    Affected
    • Go github.com/nektos/act <= 0.2.85
    Fixed in
    0.2.86· Vendor fix available
    Issue
    act unconditionally processes the deprecated ::set-env:: and ::add-path:: workflow commands, which GitHub Actions disabled in October 2020 (CVE-2020-15228, GHSA-mfwh-5m23-j46w) due to environment injection risks. When a workflow step echoes untrusted data to stdout, an attacker can inject these commands to set arbitrary environment variables or modify the PATH for all subsequent steps in the job. This makes act strictly less secure than GitHub Actions for the same workflow file. Vulnerable Code pkg/runner/command.go, lines 52-58: There is no check for the ACTIONSALLOWUNSECURECOMMANDS environment variable. The string ACTIONSALLOWUNSECURECOMMANDS does not appear anywhere in the act codebase. On GitHub Actions, these commands are rejected unless ACTIONSALLOWUNSECURECOMMANDS=true is set: PoC: Environment and PATH Injection via PR Title Tested on: act 0.2.84, Docker Desktop 29.1.2, macOS Darwin 24.5.0 Step 1 — Create a workflow that logs PR metadata: .github/workflows/vuln.yml:…

    Recommended action: Upgrade to 0.2.86 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  3. High, CVSS 8.8GoPublished

    act vulnerable to arbitrary file upload in artifact server

    CVE-2023-22726 · GHSA-pc99-qmg4-rcff

    Affected
    • Go github.com/nektos/act <= 0.2.39
    Fixed in
    0.2.40· Vendor fix available
    Issue
    Impact The artifact server that stores artifacts from Github Action runs does not sanitize path inputs. This allows an attacker to download and overwrite arbitrary files on the host from a Github Action. This issue may lead to privilege escalation. Issue 1: Arbitrary file upload in artifact server (GHSL-2023-004) The /upload endpoint is vulnerable to path traversal as filepath is user controlled, and ultimately flows into os.Mkdir and os.Open. Issue 2: Arbitrary file download in artifact server (GHSL-2023-004) The /artifact endpoint is vulnerable to path traversal as the path is variable is user controlled, and the specified file is ultimately returned by the server. Proof of Concept Below I have written a Github Action that will upload secret.txt into the folder above the specified artifact directory. The first call to curl will create the directory named 1 if it does not already exist, and the second call to curl will upload the secret.txt file to the directory above the specified…

    Recommended action: Upgrade to 0.2.40 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →