Bug 2530049 (CVE-2026-87049) - CVE-2026-87049 operator-foundry: operator-foundry: Over-permissive GITHUB_TOKEN and GCP WIF secrets granted to third-party reusable workflow on untrusted-triggerable events
Summary: CVE-2026-87049 operator-foundry: operator-foundry: Over-permissive GITHUB_TOK...
Keywords:
Status: NEW
Alias: CVE-2026-87049
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-08 19:05 UTC by OSIDB Bzimport
Modified: 2026-09-08 19:46 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-08 19:05:25 UTC
## Over-permissive GITHUB_TOKEN and GCP WIF secrets granted to third-party reusable workflow on untrusted-triggerable events

**Component:** operator-foundry

A broad `permissions:` block (including `contents: write` and `actions: write`) plus GCP Workload Identity Federation credentials are granted at the workflow level to a third-party reusable workflow (`fullsend-ai/fullsend/.github/workflows/reusable-dispatch.yml@v0`), which is invoked on events that can be triggered by untrusted/external actors (issue_comment / pull_request_target style triggers) without an author-association gate. A malicious or compromised trigger could obtain a highly privileged GITHUB_TOKEN and cloud credentials.

### Remediation
Move the broad `permissions:` block from workflow level down to the `dispatch` job and prune to the minimum the reusable workflow actually needs (drop `contents: write` and `actions: write` unless strictly required; the `stop-fix` job already demonstrates per-job narrowing). Pin `fullsend-ai/fullsend/.github/workflows/reusable-dispatch.yml` to a full 40-char commit SHA instead of `@v0`. Gate the `dispatch` job on `pull_request_target`/`issue_comment` with an author-association check (OWNER/MEMBER/COLLABORATOR) or a maintainer-applied label before any job that receives `id-token: write` or repo secrets. Restrict the GCP WIF provider's attribute condition to only accept tokens from protected-branch workflow runs.

---
*Source: Ex-Wing/Glasswing Konflux CI security assessment (Mythos), finding FIND-001*


Note You need to log in before you can comment on or make changes to this bug.