githubnext / githubnext/gh-aw-cao

[dependabot:release-train-updater] npm security fix ready but create_pull_request failed (undici scoped override)

Closed
#8,447 0 comments 0 reactions 0 assignees View on GitHub
dependabot dependabot:release-train-updater
Dominant language
JavaScript
Stars
3
Forks
1
Avg merge
49m
Merged PRs (30d)
837

Description

`create_pull_request` failed twice with `{"result":"error","error":"No changes to commit - no commits found"}` despite a verified, non-empty commit — this repeats the exact failure pattern documented for this repo/workflow in a prior run (2026-09-10 07:55 UTC entry, branch `dependabot-agent/undici-security-fix-20260910075319`, commit `a55c2420`). Filing this issue so the prepared, validated fix is not lost.

## Ready fix: undici security advisories (scoped override)

**Branch prepared locally (not pushed, since PR creation failed):** `dependabot-agent/undici-security-fix-scoped-20260910113731`
**Commit:** `a8bd9ded5221d66df1db4968c4ac0596e3b9315a`

### Problem
`npm audit` reports 5 vulnerabilities (1 high, 4 moderate, plus bundled low-severity findings) against transitive `undici@5.29.0`, pulled in by `@actions/github@^7.0.0` and by the nested `@actions/github@6.0.1` inside `@actions/artifact`:
- GHSA-g9mf-h72j-4rw9 (unbounded decompression, high)
- GHSA-2mjp-6q6p-2qxm (request smuggling)
- GHSA-8xcm-r25x-g524 (response desync via retry interceptor)
- GHSA-m8rv-5g2x-5cg5 (CRLF injection via blob body type)
- GHSA-v3r7-h72x-cjcm (cookie attribute injection)

### Fix (avoids the prior revert's root cause)
A prior PR (#3980, commit `75eb83c`) added a **global** `overrides.undici` and was reverted after review, because it also force-bumped `unifont`'s independent `undici@^8.0.0` dependency outside its declared range, and briefly resolved undici to `8.10.2` (Node `>=22.19.0`), stricter than `@github/local-action`'s Node `^20 || ^22 || ^24` requirement.

This fix instead uses npm's **nested/scoped override syntax** to target only the vulnerable nested copies, in `package.json`:
```json
"overrides": {
"@actions/github": { "undici": "^6.28.1" },
"@actions/artifact": { "@actions/github": { "undici": "^6.28.1" } }
}
```
This resolves only `node_modules/@actions/github/node_modules/undici` and `node_modules/@actions/artifact/node_modules/@actions/github/node_modules/undici` to `6.28.1` (Node `>=18.17`), while leaving `unifont`'s independent `undici@8.10.2` untouched. `package-lock.json` was hand-patched to match (regenerating those two nested entries plus removing the now-orphaned `@fastify/busboy` entry), keeping the diff to exactly 2 files / 28 insertions / 24 deletions.

### Validation performed
- `npm audit --package-lock-only --json` before: 5 vulnerabilities → after: **0 vulnerabilities**.
- Full `npm install --ignore-scripts` (not `--package-lock-only`): confirmed real `node_modules` resolves both nested undici copies to `6.28.1`, and `unifont`'s `undici@8.10.2` is unaffected.
- `node node_modules/typescript/bin/tsc -p .github/cao/tsconfig.json` (typecheck:cao): clean.
- Both changed files confirmed valid JSON.

### Manual apply instructions (if this issue is picked up by a human or future run)
1. Add the `overrides` block above to `package.json`.
2. In `package-lock.json`, change `version`/`resolved`/`integrity` for the two package entries `node_modules/@actions/github/node_modules/undici` and `node_modules/@actions/artifact/node_modules/@actions/github/node_modules/undici` from `5.29.0` to `6.28.1` (tarball `https://registry.npmjs.org/undici/-/undici-6.28.1.tgz`, integrity `sha512-zWpdTVD54H48CIybL0rWQ3ukpb9d23wM7eH5RtfdmeP70cWHNjtfo7P4vZX+5CoDcO53J4Pu5uXp7lNfjc6DRA==`), drop their `dependencies.@fastify/busboy` and update `engines.node` to `>=18.17`.
3. Remove the now-orphaned `node_modules/@fastify/busboy` entry.
4. Add the same `overrides` block to the lockfile's root (`packages[""]`) entry.
5. Re-run `npm audit --package-lock-only` to confirm 0 vulnerabilities.

### Recommendation
This is the **second** occurrence of `create_pull_request` reporting "no commits found" against a verified real commit for `githubnext/gh-aw-cao` (self-target, live mode). If this recurs on a third attempt, it likely indicates a systemic issue in the `create_pull_request` tool/pipeline for this specific workflow that should be investigated outside the dependency-maintenance agent's scope.

### Control Plane
- Correlation ID: 34471152289-984
- Central repo: githubnext/gh-aw-cao
- Run URL: https://github.com/githubnext/gh-aw-cao/actions/runs/34471152289

> [!WARNING]
>
> Firewall blocked 4 domains
>
> The following domains were blocked by the firewall during workflow execution:
>
> - `msfeed12.pkgs.visualstudio.com`
> - `msfeed17.pkgs.visualstudio.com`
> - `msfeed2.pkgs.visualstudio.com`
> - `msfeed25.pkgs.visualstudio.com`
>
> To allow these domains, add them to the `network.allowed` list in your workflow frontmatter:
>
> ```yaml
> network:
> allowed:
> - defaults
> - "msfeed12.pkgs.visualstudio.com"
> - "msfeed17.pkgs.visualstudio.com"
> - "msfeed2.pkgs.visualstudio.com"
> - "msfeed25.pkgs.visualstudio.com"
> ```
>
> See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information.
>
>

> Generated by [:dependabot: Dependabot / Release Trains](https://github.com/githubnext/gh-aw-cao/actions/runs/34471152289) · copilot · auto · 271.8 AIC · ⌖ 18.9 AIC · ⊞ 18K · [◷](https://github.com/search?q=repo%3Agithubnext%2Fgh-aw-cao+is%3Aissue+%22gh-aw-workflow-call-id%3A+githubnext%2Fgh-aw-cao%2Fdependabot-release-train-updater%22&type=issues)
>

Add this agentic workflow to your repo

To install this agentic workflow, run

```
gh aw add githubnext/gh-aw-cao/.github/workflows/dependabot-release-train-updater.md@main
```

> - [x] expires on Sep 24, 2026, 11:42 AM UTC

Contributor guide

Open the contributing guide

Research direction

Start with package.json and package-lock.json, then review the reported create_pull_request failure and the prior reverted change in PR #3980. Run npm audit --package-lock-only, npm install --ignore-scripts, and the listed TypeScript check; done means the nested undici copies are updated, unifont remains unaffected, and audit reports zero vulnerabilities.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
devops, security
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.