Programmer’s Digest #203
09/16/2026-09/23/2026 Critical Next.js ImageResponse Flaw; Malicious npm Package Poses as Twilio Bug-Bounty Probe; Docker Sandboxes Vulnerabilities And More.
1. Critical Next.js ImageResponse Flaw Can Lead to Server Code Execution via Crafted SVG Input
A critical Next.js flaw (CVE-2026-94545, CVSS 9.5) in ImageResponse – used for Open Graph/social preview images – can let attackers run code on the server. It hits apps that pass attacker-controlled values (e. g., request URL text) into SVG content, attributes, or styles during image generation, since ImageResponse builds images via Vercel’s Satori library, which failed to properly escape such values.
Affected: Next.js 16.2.0–16.3.5 on the Node.js runtime (default); the Edge runtime and Next.js 15 are unaffected. Fixed in 16.3.6 (npm install [email protected]); no patch exists yet for the 16.2 line. Next.js 15.5.26 adds hardening to next/og. If upgrading isn’t possible, keep attacker-controlled values out of SVG rendered by ImageResponse.
To check exposure, look for ImageResponse imported from next/og in route handlers and opengraph-image files. No public exploits or attacks were reported as of September 23. Satori itself is fixed in 0.33.5 for direct users.
2. Malicious npm Package Poses as Twilio Bug-Bounty Probe, Can Exfiltrate Credentials
A malicious npm package, “tw-pkgprobe-7731,” posed as an authorized Twilio bug-bounty research tool while harvesting sensitive data. Published in 11 versions over ~45 minutes in mid-August 2026 by the now-deleted account “twdepprobe7731,” it only activates inside Twilio developer environments, then exfiltrates env variables, mounts, and configs via webhook.
Later versions (1.0.1–1.0.3) targeted specific Twilio account SIDs and injected a PoC package into node_modules when matches were found. Version 1.0.4 added theft of ACCOUNT_SID and AUTH_TOKEN, compromising Twilio credentials outright. The final three versions reverted to basic, non-malicious probing but added OSINT scanning of internal Twilio hosts and AWS metadata endpoints.
ReversingLabs says the package violated Twilio’s HackerOne guidelines, and the lack of obfuscation or typosquatting suggests a less sophisticated actor. Developers integrating Twilio should audit dependencies for this package and rotate any exposed credentials.
3. TanStack NPM Supply Chain Attack Exposes 170 Private CrowdSec GitHub Repositories
CrowdSec disclosed that the May 2026 TanStack npm supply-chain attack (42 packages backdoored with Shai Hulud malware by TeamPCP/UNC6780) led to attackers cloning ~170 private CrowdSec GitHub repos on May 22, using a GitHub OAuth token from a former employee’s account that had been left active post-departure. The attacker published the archive on a breach forum September 16, including private code, SaaS components, and internal tooling.
No evidence of code changes, CI/CD tampering, or AWS infrastructure access was found. One exposed AWS SNS credential was narrowly scoped and tested but not exploited further. The leak also exposed 83 user emails (<0.05% of users) and details on 51 potential investors from 2020.
CrowdSec is deploying EDR on developer workstations and tightening GitHub monitoring, credential review, and offboarding. Developers should audit OAuth tokens for departed employees and treat TanStack packages from that period as compromised.
4. Docker Sandboxes Vulnerabilities Let Malicious Guests Escape Workspace and Access Host Files
Two Docker Sandboxes vulnerabilities let malicious guest code escape workspace isolation via symlink races—altering a validated path before the host acts on it. CVE-2026-77179 (Critical, versions 0.28.0–before 0.42.0) affects macOS’s virtio-fs host server, letting a compromised sandbox replace a directory with a symlink to read/write arbitrary host files as the VMM user, potentially leading to host code execution. CVE-2026-79994 (High, 0.37.0–before 0.42.0) affects the guest-to-host Unix socket relay, allowing redirection to unauthorized AF_UNIX sockets and potential data disclosure or access to privileged local IPC services.
Both stem from treating pathname validation as one-time rather than re-checked at use. This is especially relevant for AI-agent and dev workflows handling untrusted repos or dependencies.
Fix: upgrade to Docker Sandboxes 0.42.0+ (0.43.0 adds further hardening). If not possible, use clone mode and avoid read-write host mounts.
5. Plugin4Shell Zero-Click RCE Hits Claude Code, Codex, Copilot and Gemini CLI
Plugin4Shell is a zero-click RCE flaw affecting Claude Code, Codex, GitHub Copilot, and Gemini CLI, exploiting how these agents handle SHA-pinned plugin versions. Agents check out a pinned commit but never verify the working tree matches it. Attackers can create a Git branch named after the commit hash (or, for Gemini CLI, named “FETCH_HEAD”), tricking the agent into checking out malicious code while reporting a successful, “verified” install.
Because Claude Code and Codex auto-update plugins by default, no user action is needed—attackers can compromise a trusted plugin’s upstream repo after adoption. Given plugins inherit the developer’s permissions, exploitation can expose source code, cloud credentials, SSH keys, and CI/CD secrets.
Status: Fixed in Claude Code 2.1.179 and Codex 0.146.0. Gemini CLI won’t be patched (deprecated; migrate to Antigravity). Copilot remains unpatched, though GitHub blocks SHA-like branch names—self-hosted/Bitbucket marketplaces may still be exploitable. Action: update immediately, audit plugin sources, and watch for unexpected branch/ownership changes.