Skip to content

fix(deps): patch axios, undici and supplemental security advisories - #70

Open
zedarvates wants to merge 3 commits into
mainfrom
fix/security-axios-undici-2026-10
Open

zedarvates wants to merge 3 commits into
mainfrom
fix/security-axios-undici-2026-10

Conversation

@zedarvates

@zedarvates zedarvates commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Dependabot reports vulnerable Axios and Undici on main. This PR resolves Axios 1.20.0 and Undici 6.29.0/7.30.0 across root, config and Creative Studio. It also patches brace-expansion, DOMPurify, source-map-js, sharp, fast-uri and http-cache-semantics. Root/config override shell-quote to ^1.12.0, removing critical GHSA-pqg4-j6r4-53mv. Creative Studio overrides postcss-selector-parser to ^7.1.6 while retaining the existing Tailwind 3 pipeline.

Electron 41.10.6 is handled separately in #63; this PR preserves its original entries so that change remains independently reviewable. Python ecdsa removal is in draft #80.

Validation:

  • Clean npm ci --ignore-scripts passed in root/config and with --legacy-peer-deps in Creative Studio.
  • All three npm roots have zero critical findings and no remaining alerts for the packages patched here.
  • At head 8c2a1eb, studio has 6 high audit entries and zero moderate/critical entries. These originate from Electron and braces, including propagated dependents. npm ls confirms both Tailwind and postcss-nested resolve selector parser 7.1.6.
  • Representative Tailwind variants and nested :is()/media selectors produce byte-identical CSS with parser 6.1.4 and patched 7.1.6.
  • Root chore(deps-dev): bump the npm_and_yarn group across 3 directories with 1 update #63 + fix(electron): restore the startup splash and launcher build checks #73 integrate cleanly with this dependency tree; the combined root npm ci, electron:build and SplashWindow tests pass.

Remaining limits:

  • braces 3.0.3 (high) and sprintf-js 1.1.3/1.0.3 (moderate, root/config) have no published patched release. Root/config audits have 42 entries before chore(deps-dev): bump the npm_and_yarn group across 3 directories with 1 update #63 and 41 after it, including propagated dependents.
  • At this PR alone, root electron:build fails on the missing ./SplashWindow, repaired by fix(electron): restore the startup splash and launcher build checks #73. Three other selected Electron suites have 52 passes and 5 failures in existing configuration/project contracts.
  • Full studio Vite build fails on the absent src/providers/ComfyUIProvider imported by src/AppProviders.tsx; no provider/application source is changed here.
  • Native Electron acceptance and deployment are unverified. Installation used --ignore-scripts. No remote merge or deployment performed.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@zedarvates zedarvates left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Security/dependency review completed on 2026-10-03, anchored to 99feb3319e35a896bbdb4505a02a9fa452380329. Reviewed #70 first, then the focused Electron patch #63. This is a COMMENT review: the dependency findings below are verified; full application acceptance remains incomplete.

Exact advisory coverage

The fresh npm lockfile audits on the common code base used by #63 expose 12 Axios and 10 Undici advisory IDs affected by the versions that #70 replaces. #70 resolves Axios 1.20.0 in all three roots, Undici 6.29.0 under node-gyp in root/config and 7.30.0 at all three roots. Every applicable installed copy in the reviewed locks is above the affected ranges below.

Axios before this patch: root/config 1.19.0; Creative Studio 1.18.0.

Advisory Affected range returned by npm Issue class
GHSA-vh66-26gq-q6x8 >=1.7.0 <1.20.0 Fetch adapter request pollution
GHSA-9fr6-4gfg-395g >=1.0.0 <1.20.0 Inherited HTTP method
GHSA-c29m-xwm3-cm6r >=1.16.1 <1.20.0 data: URL parser DoS
GHSA-mghh-pgcx-3jjj >=1.15.0 <1.20.0 Proxy host-normalization DoS
GHSA-x97p-jq2g-jp4f >=1.15.1 <1.20.0 toFormData option pollution
GHSA-3pq3-5fj3-cg6v >=1.13.0 <1.20.0 HTTP/2 DNS/proxy bypass
GHSA-542g-h47m-68v8 >=1.13.0 <1.20.0 HTTP/2 unhandled session error
GHSA-j8rh-479h-cp32 >=1.0.0 <1.20.0 Inherited header injection after interceptor
GHSA-4hqw-qxg8-jxx2 >=1.12.0 <1.20.0 Inherited FormData headers
GHSA-m8m8-qj5v-23w3 >=1.15.2 <1.20.0 Inherited socket constructor
GHSA-44g4-m2mj-wpvx >=1.15.0 <1.20.0 Ignored CIDR NO_PROXY
GHSA-r4gj-5m52-g5wh >=1.17.0 <1.20.0 Fetch maxRedirects bypass

Undici before this patch: 6.28.0 under node-gyp in root/config; 7.29.0 at root/config/Creative Studio.

Advisory Affected range returned by npm Issue class
GHSA-3wwx-pv8p-q78v >=6.25.0 <6.28.1; >=7.28.0 <7.29.1 WebSocket decompression error
GHSA-pmjh-fq2x-6v4x >=7.11.0 <7.29.1 Orphaned retry response body
GHSA-r53p-7pc4-xj5r <6.28.1; >=7.0.0 <7.29.1 Retry response splitting
GHSA-rfgv-xxqx-mfg5 >=6.7.0 <6.28.1; >=7.0.0 <7.29.1 Unrequested WebSocket subprotocol
GHSA-3xpg-4rpp-hhhm >=7.15.0 <7.29.1 Unbounded response decompression
GHSA-2jfj-6hjv-fm6j >=7.0.0 <7.29.1 Shared-cache cookie disclosure
GHSA-2gqq-gqf2-x968 >=7.1.0 <7.29.1 Dump-interceptor response truncation
GHSA-w293-vg96-wgc3 >=7.24.1 <7.29.1 BalancedPool TLS validation bypass
GHSA-8436-99hf-9mmv >=7.0.0 <7.29.1 Unsafe-method response caching
GHSA-rx4f-c7p8-82vq >=7.0.0 <7.29.1 WebSocketStream unclean-close DoS

Fresh npm audit --json on the exact #70 locks has no Axios or Undici finding in any of the three roots. It still flags Electron 41.10.3, covered separately by #63. Repository-private Dependabot alert numbers/statuses are not exposed by the available GitHub API route; this is an advisory-to-lockfile verification, not a claim that GitHub has closed numbered alerts.

Executed npm and compatibility evidence

  • Node 24.19.0 / npm 11.9.0: npm ci --ignore-scripts --no-audit --no-fund passed at root and config. Creative Studio passed with the additional --legacy-peer-deps flag; strict peer resolution was not verified.
  • npm ls axios undici electron --all confirmed the target versions at root. All three lockfiles were inspected for every target copy and matching manifest dependency declarations. Axios's updated form-data requirement is satisfied by locked form-data 4.0.6.
  • A local HTTP echo test passed for Axios POST/JSON and both Undici versions; a 1×1 Sharp 0.35.4 PNG conversion passed on host Node.
  • #70 applies cleanly on #63 in a separate local checkout. The combined locks install successfully in all three roots with the same UI flag. Under Electron 41.10.6 / embedded Node 24.18.0, the same HTTP and native-image smoke exits successfully.
  • Sharp's Linux/Electron warning and GLib critical messages occur in the successful image smoke on both 41.10.3 and 41.10.6. The bounded test did not reveal a new warning regression; this remains a native-runtime limitation, not full Electron compatibility approval.

Quality evidence and remaining blockers

The SonarCloud check is successful on 99feb3319e35a896bbdb4505a02a9fa452380329. GitHub exposes no npm/Electron Actions check on this head. The green static-analysis gate does not replace the executed npm audit or runtime acceptance.

Root electron:build fails on missing ./SplashWindow; config's script points to absent electron/tsconfig.json. Creative Studio build:check reports 2,147 TypeScript diagnostics on #70 and the local #70+#63 combination; the diagnostics are identical after checkout-path normalization. A GUI/application start, renderer security behavior, Windows/macOS and packaged-app behavior were not tested.

Combined audit result after both patches: no Axios, Undici or Electron finding, but 39 / 39 / 7 affected-package entries remain at root/config/Creative Studio, respectively (npm's aggregate count, not distinct GHSA or GitHub-alert count). Those are separate findings; do not claim a clean repository-wide audit.

Before merge, the remaining decision is acceptance of the documented build/GUI/native gaps and verification of GitHub's private alert closure on the eventual merged head. No runtime guarantee follows from this lockfile patch.

@zedarvates zedarvates left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Follow-up verification — 2026-10-03

The root Electron TS2307 blocker has a separate draft repair in #73, head 3a8cac25a11ed207192d443562f899cecb54aede. Its current-head CI run passes installation, 13 splash lifecycle tests and compilation on Node 22.12.0/24.19.0. The Linux splash smoke passes with Electron 41.10.3 / embedded Node 24.18.0; Xvfb/--no-sandbox limits the claim to the splash document/progress/close lifecycle. Sonar is also successful for that repair SHA.

Local combination of exact #70 99feb3319e35a896bbdb4505a02a9fa452380329 and exact #63 ca5b890a4fe010065a76294506abbde0b293ec3c, plus the #73 source patch: root/Studio npm installations, root Electron compile and 13 splash unit tests pass with Electron 41.10.6, Axios 1.20.0 and Undici 6.29.0/7.30.0. This combination is not the head of either dependency PR and has no GitHub check of its own.

Remaining Studio gap is tracked in #74: Vite still fails on missing ComfyUIProvider; strict typecheck still yields 2,147 diagnostics, byte-identical to the baseline. Source/renderer contracts and missing editor stores need restoration before complete desktop acceptance. The legacy config/package.json scripts are not a second runnable launcher entry point.

#73 remains draft and is not incorporated into this dependency PR's unchanged head, so its green checks do not replace current-head build evidence here. Review/apply the launcher repair and obtain fresh build/renderer evidence before accepting the desktop behavior. The precise GHSA coverage in the prior review remains unchanged; this follow-up does not establish private alert closure or full-platform/runtime security acceptance.

@zedarvates zedarvates changed the title fix(deps): patch axios and undici vulnerabilities fix(deps): patch axios, undici and supplemental security advisories Oct 8, 2026
@sonarqubecloud

sonarqubecloud Bot commented Oct 8, 2026

Copy link
Copy Markdown

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.

1 participant