Skip to content

bug(release/github): second-order injection via config-file to WORK_DIR step output #38

Description

@MAfarrag

Context

Found in review round 2 of the hardening (the first-order fix left a second-order bypass); fixed in PR #28.

Problem

config-file (caller input) flows through dirname into the WORK_DIR step output, which was then re-interpolated
as WORK_DIR="${{ steps.bump_version.outputs.WORK_DIR }}" in later run: bodies. A config-file like
$(cmd)/pyproject.toml surfaces as WORK_DIR="$(cmd)" and executes — a second-order bypass of the first-order
input-hardening.

Affected locations

File Location
actions/release/github/action.yml Extract-notes / Fold-lockfile / Create-release / Release-summary steps

Fix (PR #28)

Routed every steps.bump_version.outputs.* (plus github.server_url / github.repository) through env: — no
run: body in the action interpolates ${{ }} anymore.

Severity / Effort

Low (caller-derived) · XS

Definition of Done

  • No ${{ steps.*.outputs.* }} re-interpolated into any run: body of the action

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions