Skip to content

fix: extract 1 unsafe expression(s) to env vars#20713

Merged
alexander-akait merged 1 commit intowebpack:mainfrom
dagecko:runner-guard/fix-ci-security
Mar 27, 2026
Merged

fix: extract 1 unsafe expression(s) to env vars#20713
alexander-akait merged 1 commit intowebpack:mainfrom
dagecko:runner-guard/fix-ci-security

Conversation

@dagecko
Copy link
Copy Markdown
Contributor

@dagecko dagecko commented Mar 26, 2026

This is a re-submission of #20712, which was closed due to a branch issue on my end. Same fixes, apologies for the noise.

Security: Harden GitHub Actions workflows

Hey, I found some CI/CD security issues in this repo's GitHub Actions workflows. These are the same vulnerability classes that were exploited in the tj-actions/changed-files supply chain attack. I've been reviewing repos that are affected and submitting fixes where I can.

This PR applies mechanical fixes and flags anything else that needs a manual look. Happy to answer any questions.

Fixes applied

Rule Severity File Description
RGS-002 high .github/workflows/release-announcement.yml Extracted 1 unsafe expression(s) to env vars

Additional findings (manual review recommended)

No additional findings beyond the fixes applied above.

Why this matters

GitHub Actions workflows that use untrusted input in run: blocks or reference unpinned third-party actions are vulnerable to code injection and supply chain attacks. These are the same vulnerability classes exploited in the tj-actions/changed-files incident which compromised CI secrets across thousands of repositories.

How to verify

Review the diff, each change is mechanical and preserves workflow behavior:

  • Expression extraction: Moves ${{ }} expressions from run: blocks into env: mappings, preventing shell injection

If this PR is not welcome, just close it and I won't send another.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Mar 26, 2026

⚠️ No Changeset found

Latest commit: 49dd3ed

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented Mar 26, 2026

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: dagecko / name: dagecko (49dd3ed)

@alexander-akait
Copy link
Copy Markdown
Member

Please accept CLA

@dagecko
Copy link
Copy Markdown
Contributor Author

dagecko commented Mar 27, 2026

Please accept CLA

I just signed it.

@alexander-akait
Copy link
Copy Markdown
Member

@dagecko your email is different in CLA and commits

@dagecko
Copy link
Copy Markdown
Contributor Author

dagecko commented Mar 27, 2026

Hey @alexander-akait, the commit email is [email protected] which is the same one I used for the CLA. Could you let me know what specifically doesn't match? Happy to fix it.

  • Chris

@alexander-akait
Copy link
Copy Markdown
Member

/easycla

@alexander-akait
Copy link
Copy Markdown
Member

Unfortunately EasyCLA is unhappy, not sure why it doesn't work for you...

@dagecko
Copy link
Copy Markdown
Contributor Author

dagecko commented Mar 27, 2026

Hey @alexander-akait, I just re-signed the CLA through EasyCLA and it looks like it went through this time. Let me know if there's anything else needed.

  • Chris

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Mar 27, 2026

Merging this PR will degrade performance by 32.08%

❌ 2 regressed benchmarks
✅ 142 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Memory benchmark "asset-modules-source", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' 264.4 KB 389.2 KB -32.08%
Memory benchmark "lodash", scenario '{"name":"mode-development","mode":"development"}' 4.1 MB 5.3 MB -22.8%

Comparing dagecko:runner-guard/fix-ci-security (49dd3ed) with main (5e7dc11)

Open in CodSpeed

@alexander-akait alexander-akait merged commit 925ba2d into webpack:main Mar 27, 2026
54 of 55 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

This PR is packaged and the instant preview is available (925ba2d).

Install it locally:

  • npm
npm i -D webpack@https://pkg.pr.new/webpack@925ba2d
  • yarn
yarn add -D webpack@https://pkg.pr.new/webpack@925ba2d
  • pnpm
pnpm add -D webpack@https://pkg.pr.new/webpack@925ba2d

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants