Skip to content

fix: prevent script injection in test coverage workflow [WPB-27114] - #8159

Open
screendriver wants to merge 1 commit into
mainfrom
command-injection
Open

fix: prevent script injection in test coverage workflow [WPB-27114]#8159
screendriver wants to merge 1 commit into
mainfrom
command-injection

Conversation

@screendriver

@screendriver screendriver commented Sep 3, 2026

Copy link
Copy Markdown
Member
SecurityWPB-27114 Command Injection vulnerability in wireapp/wire-web-packages .github/workflows/test-coverage-report.yml

Pull Request

Summary

Fix unsafe interpolation of the manually supplied tag workflow input into shell scripts in test-coverage-report.yml.

The workflow now passes untrusted and derived values through step-level environment variables before using them in run: steps, rather than interpolating GitHub Actions expressions directly into the generated shell source.

This covers the original Semgrep finding as well as the downstream uses of the parsed tag, package, and version values.

No workflow permissions or behavior are intentionally changed.


Security Checklist (required)

  • External inputs are validated & sanitized on client and/or server where applicable.
  • API responses are validated; unexpected shapes are handled safely (fallbacks or errors).
  • No unsafe HTML is rendered; if unavoidable, sanitization is applied and documented where it happens.
  • Injection risks (XSS/SQL/command) are prevented via safe APIs and/or escaping.

Accessibility (required)

Standards Acknowledgement (required)


Screenshots or demo (if the user interface changed)

Notes for reviewers

  • Trade-offs:
  • Follow-ups (linked issues):
  • Linked PRs (e.g. web-packages):

Route dispatch tag values through environment variables before shell use. Quote all untrusted expansions and GitHub output paths, remove the redundant tag output and reject whitespace in parsed tags while preserving workflow behavior and permissions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants