Skip to content

Require Node with the eMudhra CA fix - #16

Merged
sharanmoore merged 2 commits into
mainfrom
sharan/pla-173-node-fixed-versions
Oct 22, 2026
Merged

sharanmoore merged 2 commits into
mainfrom
sharan/pla-173-node-fixed-versions

Conversation

@sharanmoore

Copy link
Copy Markdown
Contributor

Part of PLA-173 (eMudhra intermediate CA compromise).

The client uses Node's built-in fetch, so it trusts the CA list bundled with the customer's Node release. Node releases before 22.23.4, 24.22.1 and 26.12.1 still trust the compromised eMudhra intermediates, which would let an attacker impersonate api.gradient-labs.ai and capture API keys. Node 20 has no fix.

What

  • engines.node: >=20 → >=22 (lockfile root synced; no dependency changes).
  • README: requires Node 22+, with a note listing the fixed releases.
  • CHANGELOG 0.1.3: a breaking Changed entry for the Node 22 requirement and a Security entry with the fixed versions. Also adds the missing 0.1.2 entries (conversations.delete(), backOfficeTasks.delete(), reason_code, customer_support_platform_identifiers).
  • CI matrix: [20, 22] → [22.23.4, 24.22.1]. Publish: 24 → 24.22.1. These are pinned because setup-node's actions/node-versions manifest doesn't list the fixed releases yet, so 22/24 still resolve to unpatched builds. Exact versions missing from the manifest are downloaded from nodejs.org.

Release

npm has 0.1.1; package.json is already 0.1.3, with the unreleased outbound-conversation breaking change (which mirrors POST /outbound/conversations already being removed from the API). The plan is to publish 0.1.3 once this merges, by tagging v0.1.3 on main, which runs publish.yml.

Testing

On Node 24.22.1: npm ci, lint, format check, typecheck, build and tests pass. CI covers 22.23.4.

Node releases before 22.23.4, 24.22.1 and 26.12.1 trust the compromised
eMudhra intermediate CAs, and Node 20 has no fix. Require Node 22+,
document the fixed versions, and pin CI and publish to fixed releases
(setup-node's manifest still resolves "22"/"24" to unpatched builds).

Also add the missing 0.1.2 changelog entries ahead of releasing 0.1.3.
Required status checks match job names, so naming jobs by the exact pinned
release would break them on every version bump.
@sharanmoore
sharanmoore marked this pull request as ready for review October 21, 2026 15:57
@sharanmoore
sharanmoore requested review from a team as code owners October 21, 2026 15:57
@sharanmoore
sharanmoore merged commit 61fe49d into main Oct 22, 2026
2 checks passed
@sharanmoore
sharanmoore deleted the sharan/pla-173-node-fixed-versions branch October 22, 2026 09:01
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.

2 participants