The Wire · Showcase
CLI PATCHES MEMORY DOS AND FIXES PHANTOM BREAKING CHANGES
By RepoJournal · Filed · About Shopify
Shopify/cli shipped a critical security fix for stdin memory exhaustion and eliminated false-positive breaking change detection that was blocking legitimate PRs.
The `readStdinString` function in Shopify/cli was vulnerable to Denial of Service through unbounded memory consumption—attackers could exhaust heap by piping unlimited data to stdin [1]. This release introduces a hard 10MB limit, closing the attack surface immediately [2]. In parallel, the breaking-change detection pipeline was reporting phantom removals whenever main diverged from a PR's branch point [3]. PR #7466 shows the exact failure: the check flagged a field removal that never happened in the PR itself—main had added the field after branching [3]. That's now fixed by comparing against merge-base and scoping diffs to actual PR changes [3]. On the test side, replay.test.ts was replaced with real temporary directories instead of mocked filesystem calls, making the log discovery and sorting logic actually testable rather than testing the mocks themselves [4].
Action items
- → Upgrade Shopify/cli immediately — stdin DoS fix is mandatory Shopify/cli [immediate]
- → Re-run breaking-change checks on any blocked PRs — false positives are now cleared Shopify/cli [plan]
References
- [1] [Security] Limit stdin read size in readStdinString Shopify/cli
- [2] Merge pull request #7482 from Shopify/sentinel-limit-stdin-read-10535475246681127260 Shopify/cli
- [3] Fix breaking-change check: compare against merge-base, scope to PR diff ↗ Shopify/cli
- [4] [Tests] Replace filesystem mocks with real temp dir in replay.test.ts ↗ Shopify/cli
FAQ
- What changed in Shopify on May 8, 2026?
- Shopify/cli shipped a critical security fix for stdin memory exhaustion and eliminated false-positive breaking change detection that was blocking legitimate PRs.
- What should Shopify teams do about it?
- Upgrade Shopify/cli immediately — stdin DoS fix is mandatory • Re-run breaking-change checks on any blocked PRs — false positives are now cleared
- Which Shopify repositories shipped on May 8, 2026?
- Shopify/cli