Engineering

Next.js pulled its security release forward. Go patch, then check your lockfile.

Vercel moved the August Next.js release to the 25th and it now covers two critical vulnerabilities instead of one. Meanwhile a self-replicating npm worm chewed through keyv, flat-cache and cacheable. Two supply-chain fires in one week.

August 25, 20263 minute readBhagath Krishna

Vercel moved its August Next.js security release forward to today, and it grew a second critical vulnerability on the way there.

The patched versions are 16.3.3 on Active LTS and 15.5.24 on Maintenance LTS. Vercel gave five days of notice on the 20th, flagging one critical issue and a release date of the 26th. Then a second one turned up. In their words: "The newly identified issue prompted us to move the release forward." Both get fixed together so you only upgrade once, which is the right call.

Full advisory details publish alongside the release, so by the time you read this the CVE numbers and affected ranges should be live. Upgrade first, read second.

And then npm caught fire

A self-replicating worm that researchers are calling Shai-Hulud hit keyv, flat-cache and cacheable earlier this month, then used stolen publish tokens to push infected versions outward on its own. Aikido counts 444 packages across 1,381 versions.

The payload is the ugly part. It scrapes npm tokens out of .npmrc, GitHub tokens, AWS credentials, Kubernetes secrets and HashiCorp Vault, then runs a long list of glob patterns hunting for SSH and private keys. Datadog and Wiz both have solid breakdowns. Singapore's cyber agency issued a national advisory over it, which tells you plenty about the blast radius.

Here's the thing about keyv. You almost certainly don't depend on it on purpose. You almost certainly depend on it.

# did you pull a compromised version?
npm ls keyv flat-cache cacheable

# and check what your lockfile actually resolved to
npm audit signatures

If your lockfile moved in early August, rotate your npm and GitHub tokens anyway. Twenty minutes of annoyance against the alternative is not a hard trade.

Also worth your time

  • OpenAI published the first benchmarks for Jalapeño, its custom inference chip. These are vendor numbers, so season accordingly: 1.5 to 1.9 times more work per watt at peak, and 1.7 to 3.6 times lower end-to-end latency across GPT-OSS 120B, DeepSeek R1 and Kimi K2.5. They plan to run it inside their own infrastructure by the end of the year.
  • Cloudflare merged Workers AI and AI Gateway billing. Worth noticing which models they put on the frontier tier at 50 requests a minute: Kimi K2.6, Kimi K2.7-code and GLM-5.2. Chinese open-weight models, served at the edge, billed out of one balance.
  • The Electric sync engine team is joining Neon. Postgres-to-client sync as a first-party feature on serverless Postgres is a much better local-first story than bolting a sync layer on yourself.
  • Three from Vercel's changelog: GPT-5.6 Sol dropped to $4 and $20 per million tokens with the 50% gateway discount still stacking on top; environment variables now split into Config and Secret, where Secret becomes write-only once saved; and Deployment Storage is now metered at $0.10 per GB per month for new Pro and Enterprise teams.
  • Small one that will bite you quietly: @cloudflare/vitest-pool-workers is now @cloudflare/vitest-plugin, with a different config shape. Bumping the version isn't enough — you rewrite the Vitest config too.
  • Dax shipped docs for building on opencode2 — plugins, TUI plugins, the API CLI — and says the next version lets you connect multiple accounts for the same provider and switch between them.

Patch Next.js. Check the lockfile. The rest keeps until tomorrow.

nextjssecuritynpmsupply-chaincloudflareai-infra

Keep reading

Related articles

Engineering

Hello from the Sofmore blog

A placeholder first post confirming the blog is wired to the CMS. Replace or delete it in the Studio.

August 24, 20261 min readSofmore Labs

Work with us

Have a product to build?

Sofmore Labs designs and ships AI products, enterprise platforms, and the growth systems around them.

We use essential browser storage to remember your choice. Optional analytics helps us understand how the site is used. We do not run advertising cookies or send form values to analytics.

Read our privacy information