fix(deps): update module github.com/nektos/act to v0.2.86 [security]#23
Open
TheFox0x7 wants to merge 1 commit into
Conversation
81c77f0 to
d9f5c6b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.2.63→v0.2.86act: actions/cache server allows malicious cache injection
CVE-2026-34042 / GHSA-x34h-54cw-9825 / GO-2026-4890
More information
Details
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
ACTIONS_CACHE_URLto 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.Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
act: Unrestricted set-env and add-path command processing enables environment injection
CVE-2026-34041 / GHSA-xmgr-9pqc-h5vw / GO-2026-4891
More information
Details
Summary
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 makesactstrictly 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
ACTIONS_ALLOW_UNSECURE_COMMANDSenvironment variable. The stringACTIONS_ALLOW_UNSECURE_COMMANDSdoes not appear anywhere in the act codebase.On GitHub Actions, these commands are rejected unless
ACTIONS_ALLOW_UNSECURE_COMMANDS=trueis 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:Step 2 — Create a malicious event payload:
event.json:{ "pull_request": { "title": "Fix typo\n::set-env name=EVIL_VAR::INJECTED_BY_ATTACKER\n::set-env name=NODE_OPTIONS::--require=/tmp/evil.js\n::add-path::/tmp/evil-bin", "number": 1, "head": { "ref": "fix-typo", "sha": "abc123" }, "base": { "ref": "main", "sha": "def456" } } }Step 3 — Run:
Result:
All three injections succeeded silently:
EVIL_VAR=INJECTED_BY_ATTACKER— arbitrary env var injected into subsequent stepNODE_OPTIONS=--require=/tmp/evil.js— Node.js code execution vector/tmp/evil-binprepended to PATH — command hijacking vectorAttack Scenarios
Scenario 1: Malicious PR title/body. An attacker opens a PR with
::set-env name=NODE_OPTIONS::--require=/tmp/evil.jsembedded in the title. If any workflow step echoes the title (common for build summaries, Slack notifications, changelog generation), the injection fires. On GitHub Actions this is blocked. On act, it succeeds.Scenario 2: Malicious branch name.
$is attacker-controlled. A branch namedfix-typo%0A::set-env name=LD_PRELOAD::/tmp/evil.socan injectLD_PRELOAD, which causes every subsequent dynamically-linked binary to load the attacker's shared library.Scenario 3: Commit message injection. If a step runs
git log --onelineand the output flows to stdout, an attacker's commit message containing::set-env::commands will be processed.Impact
LD_PRELOAD,NODE_OPTIONS,PYTHONPATH,BASH_ENV,PERL5OPTall enable arbitrary code executionSuggested Fix
Add a check matching GitHub Actions' behavior:
This is a minimal, backwards-compatible fix — users who genuinely need these deprecated commands can opt in via
ACTIONS_ALLOW_UNSECURE_COMMANDS=true, matching GitHub's approach.Written by Golan Myers
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
act: actions/cache server allows malicious cache injection in github.com/nektos/act
CVE-2026-34042 / GHSA-x34h-54cw-9825 / GO-2026-4890
More information
Details
act: actions/cache server allows malicious cache injection in github.com/nektos/act
Severity
Unknown
References
This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).
act: Unrestricted set-env and add-path command processing enables environment injection in github.com/nektos/act
CVE-2026-34041 / GHSA-xmgr-9pqc-h5vw / GO-2026-4891
More information
Details
act: Unrestricted set-env and add-path command processing enables environment injection in github.com/nektos/act
Severity
Unknown
References
This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).
Release Notes
nektos/act (github.com/nektos/act)
v0.2.86Compare Source
Changelog
Other
e71313cchore: bump VERSION to 0.2.86c28c27eMerge commit from fork0c739c8Merge commit from fork10add23build(deps): bump GitHub Actions to fix Node.js 20 deprecation (#6036)v0.2.85Compare Source
Changelog
Other
4ea8ec2chore: bump VERSION to 0.2.859e6190dbuild(deps): bump go.opentelemetry.io/otel/sdk from 1.28.0 to 1.40.0 (#6014)77470a0build(deps): bump github.com/cloudflare/circl from 1.6.1 to 1.6.3 (#6010)1030ad2build(deps): bump github.com/go-git/go-git/v5 from 5.16.2 to 5.16.5 (#6001)v0.2.84Compare Source
Changelog
Bug fixes
b2aee4bfix: explode yaml anchors (#5987)Other
d93106dchore: bump VERSION to 0.2.84e935690chore(deps): Security update December 2025 (#5984)v0.2.83Compare Source
Changelog
Other
6abb867chore: bump VERSION to 0.2.83e16ac81chore(mergify) Add merge queue configuration to .mergify.yml (#5944)v0.2.82Compare Source
Changelog
Other
3d71542chore: bump VERSION to 0.2.822f9675fbuild(deps): bump the dependencies group across 1 directory with 10 updates (#5935)v0.2.81Compare Source
Changelog
Bug fixes
e374ef9fix: matrix expansion logic (#115) (#5294)2dea26bfix: step container workdir and mounts (#93) (#5295)c457755fix: file name (#90) (#5296)Other
f5a0ddechore: bump VERSION to 0.2.81c8a205erefactor: simplify adding new node versions add node 24 (#5899)a78b3f3chore: mergify does no longer support queue_conditions != merge_conditions for require status checks to be up to date (#5891)v0.2.80Compare Source
Changelog
Bug fixes
61396d8fix: use ubuntu-latest bookworm instead of buster for tests (#5884)Other
bf8e52bchore: bump VERSION to 0.2.805319acfbuild(deps): bump the dependencies group with 5 updates (#5861)v0.2.79Compare Source
Changelog
New Features
515dd66feat: allow workflow description (#5326)4ba1c2bfeat:--validateand--strict(#2717)1154f0dfeat: log parsed commands and step summary (#2761)Bug fixes
7c7b383fix: post step failure is job failure (#5297)d8506bffix: valueMasker concurrent map write (#5026)67e332efix: GITHUB_ENV and GITHUB_OUTPUT allow larger lines (#5028)Other
7e22245chore: bump VERSION to 0.2.79dd58f5ebuild(deps): bump github.com/go-viper/mapstructure/v2 (#5837)0bc47aeadded info log when container image platform mismatched (#3225)d9c6afcci: fix goreleaser config (#5276)1622c21build(deps): bump the dependencies group across 1 directory with 5 updates (#4986)v0.2.78Compare Source
Changelog
New Features
16b86a6feat: add cli option to set concurrent jobs count (#2762)bd4bc99feat: add models permission level for AI inference responses (#2767)Bug fixes
a8ac529fix: wrap subpath in '' (#2754) (#2755)b5469acfix: add missing punctuation to error report (#2752) (#2753)Documentation updates
f0da96ddocs: Remove Gitter (#2678)Other
8106502chore: bump VERSION to 0.2.788d2fa04ci: make codecov informational only (#2924)8a18fb0chore(ci): disable invalid test case (#2875)324bab6ci: disable stale bot (#2745)c2425cdupdate-choco (#2742)v0.2.77Compare Source
Changelog
Other
d0136aechore: bump VERSION to 0.2.779f211c8build(deps): bump golang.org/x/net from 0.36.0 to 0.38.0 (#2735)460ca18chore(ci): Only promote if possible (#2721)ca6236fbuild(deps): bump the dependencies group with 3 updates (#2720)v0.2.76Compare Source
Changelog
New Features
bea04ddfeat: Support graceful job step cancellation (#2714)Bug fixes
517c3acfix: reporting fetch failure as job error and log the error (#2715)Other
4f4913fchore: bump VERSION to 0.2.76189f16fbuild(deps): bump the dependencies group across 1 directory with 6 updates (#2706)0a30bd5build(deps): bump golang.org/x/net from 0.34.0 to 0.36.0 (#2693)cf0df9dchore(deps): bump to go1.24 due to deps updates (#2705)8e4a078build(deps): bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2 (#2703)0098044Report the elapsed time for each workflow step (#2700)eb46e8aRefer to nektosact.com (#2692)49710c8fixes #2689 Make the external url of cache server configurable if necessary (#2690)v0.2.75Compare Source
Changelog
New Features
16bdce5feat: GoGitActionCache shallow fetch (#2677)Bug fixes
cf09fd0fix: use non strict schema to allow some undefined behavior (#2524)95e411dfix: remote docker actions new action cache and dry run mode (#2513)7fec28dfix: secret file reading (#45) (#2664)Other
bd97dc8chore: bump VERSION to 0.2.75de962cbClarify --no-skip-checkout flag (#2687)34144c2build(deps): bump the dependencies group with 6 updates (#2675)c6a7754Disable "unable to get git repo" when none exists. (#2495)7031ed1build(deps): bump github.com/go-git/go-billy/v5 from 5.6.1 to 5.6.2 (#2611)404620bAdd tests against reading config files (#2682)326d516chore: mergify and codeowners do not request review (#2683)bce0f19build(deps): bump the dependencies group with 2 updates (#2674)c739bc4Update .gitleaksignore (#2676)f19f6ddchore: Group DependableBot Updates monthly (#2673)de018cbbuild(deps): bump golangci/golangci-lint-action from 6.2.0 to 6.5.0 (#2670)fd5cd84build(deps): bump github.com/spf13/cobra from 1.8.1 to 1.9.1 (#2669)c956febadd test workflows to cmd pkg (#2665)v0.2.74Compare Source
Changelog
Other
3f741dfchore: bump VERSION to 0.2.74b3bad97build(deps): bump gotest.tools/v3 from 3.5.1 to 3.5.2 (#2655)3234bcbbuild(deps): bump go.etcd.io/bbolt from 1.3.11 to 1.4.0 (#2656)c2409dbchore: move to environment secrets (#2653)89755d3chore: remove comments from mergify on merge conflict or check failures (#2652)cb26fd8Use gh auth token for default GITHUB_TOKEN secret (#2651)v0.2.73Compare Source
Changelog
Other
101132dchore: bump VERSION to 0.2.7351147d4Incorporate Debug, Warn, Error logging. (#2490)60a499drefactor logger (#2552)e636684Detect available flags for extensions (#2557)5eae59ebuild(deps): bump google.golang.org/protobuf from 1.36.3 to 1.36.4 (#2644)be51601parse_env_file discard utf8 bom (#2638)v0.2.72Compare Source
Changelog
Other
be1b6eechore: bump VERSION to 0.2.729dd0854Added support for dereferenced map properties (#2635)7c45ad6build(deps): bump github.com/docker/cli (#2634)7bfe066build(deps): bump github.com/rhysd/actionlint from 1.7.6 to 1.7.7 (#2624)bcafb8fbuild(deps): bump google.golang.org/protobuf from 1.36.2 to 1.36.3 (#2623)652265bbuild(deps): bump golangci/golangci-lint-action from 6.1.1 to 6.2.0 (#2622)5ce39f6Add GitHub Local Actions to README (#2588)a9e31cdbuild(deps): bump google.golang.org/protobuf from 1.36.1 to 1.36.2 (#2612)0ff68e6build(deps): bump github.com/go-git/go-git/v5 from 5.13.0 to 5.13.1 (#2604)4c9875bbuild(deps): bump github.com/rhysd/actionlint from 1.7.5 to 1.7.6 (#2603)24adb1ebuild(deps): bump golang.org/x/term from 0.27.0 to 0.28.0 (#2602)v0.2.71Compare Source
Changelog
New Features
fe017a1feat: Adding in logic to check if act needs to be downloaded (#2575)Bug fixes
deea8ecfix: prevent unintended input replacement in reusable workflows with workflow_dispatch when using workflow_call (#2502)b4ef6fbfix: short sha has at least four digits (#2540)e6b5062fix: amd64 arch to X64 (#2580)Other
0006deechore: bump VERSION to 0.2.710ca1e18Fix typo in--action-offline-modeoption description (#2590)a64359cbuild(deps): bump github.com/go-git/go-git/v5 from 5.12.0 to 5.13.0 (#2595)ccfadfebuild(deps): bump github.com/go-git/go-billy/v5 from 5.6.0 to 5.6.1 (#2594)c315398build(deps): bump github.com/rhysd/actionlint from 1.7.4 to 1.7.5 (#2593)bd8dda1ci(mergify): upgrade configuration to current format (#2547)7172fc3chore: upgrade dependencies (#2589)v0.2.70Compare Source
Changelog
Other
9c7f103chore: bump VERSION to 0.2.700e8b33bbuild(deps): bump megalinter/megalinter from 8.2.0 to 8.3.0 (#2541)69ec4a5build(deps): bump github.com/creack/pty from 1.1.23 to 1.1.24 (#2533)c90203ebuild(deps): bump codecov/codecov-action from 4 to 5 (#2532)e5e7bddbuild(deps): bump megalinter/megalinter from 8.1.0 to 8.2.0 (#2531)ebcc0a8build(deps): bump github.com/rhysd/actionlint from 1.7.3 to 1.7.4 (#2527)9bd99e5build(deps): bump github.com/adrg/xdg from 0.5.0 to 0.5.3 (#2515)v0.2.69Compare Source
Changelog
New Features
9142ed9feat: improve new action cache logging (#2474)Bug fixes
2c0e3fefix: tests with validation errors were skipped (#2496)f77a443fix: merge-multiple artifacts were broken (#2505)5ffec84fix: if condition in composite action misbehaves (#2473)Other
0de940bchore: bump VERSION to 0.2.69e3b4e3aadd test for listartifacts v4 filter (#2507)0c09a77build(deps): bump github.com/go-git/go-billy/v5 from 5.5.0 to 5.6.0 (#2506)9135745build(deps): bump github.com/opencontainers/selinux (#2498)ccd28e7build(deps): bump megalinter/megalinter from 8.0.0 to 8.1.0 (#2485)5031a9fbuild(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 (#2484)bb9f36dbuild(deps): bump golang.org/x/term from 0.24.0 to 0.25.0 (#2480)ad1cef0build(deps): bump golangci/golangci-lint-action from 6.0.1 to 6.1.1 (#2479)v0.2.68Compare Source
Changelog
New Features
013c0d4feat: generate a manual page automatically with cobra/doc (#2352)Other
03a4480chore: bump VERSION to 0.2.6826f132fbuild(deps): bump github.com/rhysd/actionlint from 1.7.1 to 1.7.3 (#2477)6657fcabuild(deps): bump github.com/creack/pty from 1.1.21 to 1.1.23 (#2468)a34d9c6run_context: add GITHUB_RUN_ATTEMPT (#2458)be89cbcFix install sh usage (#2454)2e117a4bug/issue #2448 - manage special bash options when no shell is defined (#2449)v0.2.67Compare Source
Changelog
Bug fixes
4143017fix: schema validation for job if functions (#2446)32b6bb7fix: artifact v4 upload above 8MB (#2402)Other
f75a2d8chore: bump VERSION to 0.2.67d8b6f61build(deps): bump golang.org/x/term from 0.23.0 to 0.24.0 (#2442)v0.2.66Compare Source
Changelog
New Features
102e6cbfeat: Validate GitHub Actions schema (#2416)Other
38e43bdchore: bump VERSION to 0.2.66c9ae534build(deps): bump golang.org/x/term from 0.22.0 to 0.23.0 (#2421)ca292cdbuild(deps): bump megalinter/megalinter from 7.13.0 to 8.0.0 (#2436)f79a13ebuild(deps): bump dario.cat/mergo from 1.0.0 to 1.0.1 (#2430)60a2fedfix GOOS parsing to match expected GHA RUNNER_OS values (#2422)v0.2.65Compare Source
Changelog
Bug fixes
3c7eda7fix: docker stub and add a test for this (#2355)a1a96dafix: changed location of actrc in info message (#2373)6de25a5fix: make node tool non volatile (#2372)2ad5ff7fix: add missing service container health check (#2354)Other
bda491echore: bump VERSION to 0.2.65cd8b710remove double negation in --help (#2405)a62063bBump mergo to v1.0.0 with new module URL (#2403)2feff3fbuild(deps): bump github.com/timshannon/bolthold to v0.0.0-20240314194003-30aac6950928 (#2248)570ccf3Fix #2363. Add /pre- and /post-entrypoint handling (#2394)1d6a00cbuild(deps): bump golang.org/x/term from 0.21.0 to 0.22.0 (#2387)21fe901build(deps): bump github.com/adrg/xdg from 0.4.0 to 0.5.0 (#2398)1ac4b60build(deps): bump megalinter/megalinter from 7.11.1 to 7.13.0 (#2389)v0.2.64Compare Source
Changelog
Bug fixes
e4607fcfix: skip service container for empty image (#2281)b5ad3c4fix: composite action input pollution (#2348)b917eccfix: update reusable workflow input handling (#2349)Other
aa54ea9chore: bump VERSION to 0.2.64935e4c3build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 (#2366)8a64a76build(deps): bump google.golang.org/protobuf from 1.34.1 to 1.34.2 (#2365)f9ea5e3build(deps): bump golang.org/x/term from 0.20.0 to 0.21.0 (#2360)7b950e1build(deps): bump github.com/docker/cli (#2358)55a8f9aAdd riscv64 binary release (#2350)71a6fa0build(deps): bump github.com/rhysd/actionlint from 1.7.0 to 1.7.1 (#2346)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.