Skip to content

security: release 1.2.1 - #29

Merged
hkimw merged 2 commits into
mainfrom
codex/psdk-rc-security-20261015
Oct 15, 2026
Merged

hkimw merged 2 commits into
mainfrom
codex/psdk-rc-security-20261015

Conversation

@hkimw

@hkimw hkimw commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Fix two security issues affecting SDK versions <=1.2.0: protected workspace path reads and creation through Windows short-name aliases, and memory exhaustion during nested default expansion. Prepare version 1.2.1 with updated installation/security guidance and generated version identifiers. Public APIs, declarations, schema contracts and package exports remain compatible.

Validation:

  • npm run check: 524 runtime tests passed, no skips; public/API/schema checks, TypeScript declarations, example and independent packed consumers passed.
  • 50 package exports, 315 runtime names, 56 declaration files and 107 schemas retain their reviewed contracts; generated schema changes only update version identifiers.
  • A fresh 454-file archive from the exact branch commit passed an offline, script-disabled install with an empty npm cache, all 49 runtime export imports and a diagnostics smoke check; it has zero runtime dependencies.
  • Independent review reproduced four regressions before the fix and passed all 32 focused tests after it. All six fix files match the independently reviewed bytes.
  • Public SDK CI: all four GitHub-hosted Windows/Linux × Node 22/24 jobs passed, including the existing synthetic benchmarks and combined workload regression guard.

The historical candidate benchmark record includes an initial failure and a passing unchanged-candidate confirmation; performance thresholds remain unchanged.

This PR prepares the patch for review. Release publication and npm registry publication are separate actions.

hkimw and others added 2 commits October 15, 2026 10:58
…nd cap default expansion

- Revalidate every resolved long-name path component with the workspace path policy
  and continue from the canonical path, so 8.3 aliases (e.g. AWS~1) of protected
  directories and final files are rejected for read and create (PSDK-3-F1).
- Share one running budget (10,000 output nodes / 65,536 UTF-8 JSON bytes) across
  nested default construction so deep defaults throw budget_exceeded instead of
  exhausting the heap (PSDK-3-F2).
- Add regression tests for both findings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016mPGM45PSmJ4yXeBxUF3ox
@hkimw
hkimw marked this pull request as ready for review October 15, 2026 03:14
@hkimw
hkimw merged commit 169b424 into main Oct 15, 2026
4 checks passed
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