Today’s digest · Wednesday

Security digest: October 21, 2026

3 editorial briefs and 3 critical advisories.

All digests · RSS · Markdown · JSON

Take stock

  • Act now: PHP2Shell. Anyone running PHP behind a web server (mod_php, PHP-FPM, php-cgi, FrankenPHP, LiteSpeed), including WordPress, Drupal, Magento, Laravel and appliance or container images that bundle PHP.
  • Act now: LiteLLM 1.107.0: Malicious PyPI and Docker Release. Anyone whose laptops, CI runners, containers or Kubernetes nodes resolved litellm (unpinned or >=) or a latest/main-* LiteLLM image between about 11:39 and 14:20 UTC on October 21, 2026.
  • Patch this week: Node.js October 2026 Security Releases: 10 CVEs Fixed. Anyone running Node.js 22.x, 24.x or 26.x in production, especially services that decompress untrusted Brotli data or make TLS connections to hosts given as IP addresses.
  • PyPI: 2 critical advisories (Pillow). Check with pip-audit (or: pip show <package>).
  • npm: 1 critical advisory (storybook, @storybook/core, @storybook/core-server, @storybook/experimental-addon-test, @storybook/addon-vitest, @storybook/addon-mcp). Check with npm audit (or: npm ls <package>).
  • None of it touches your stack? Then there is nothing to do today. That is a result, not a failure to read carefully.

Editorial briefs

Act now

· Vulnerability · CVE-2026-109618, CVE-2026-109619

PHP2Shell: Critical Unauthenticated RCE in PHP

If PHP answers HTTP requests anywhere you run it, patch or apply a vendor fix today; this is pre-application, unauthenticated, and attack traffic started before the patch shipped.

Must act: Anyone running PHP behind a web server (mod_php, PHP-FPM, php-cgi, FrankenPHP, LiteSpeed), including WordPress, Drupal, Magento, Laravel and appliance or container images that bundle PHP.

Can relax: Hosts where PHP is only used from the command line (scripts, cron, Composer) and never handles untrusted HTTP requests, and RHEL 7 or older, which Red Hat says ships unaffected PHP.

  1. Inventory every PHP that serves HTTP: servers, containers, appliances, shared hosting.
  2. Upgrade to 8.5.12, 8.4.27, 8.3.36 or 8.2.35, or install your distribution's fixed package, then restart every PHP worker (php-fpm, Apache).
  3. Rebuild and redeploy container images from refreshed php:* or distro base images; do not just restart old containers.

Read the brief →

Patch this week

· Vulnerability · CVE-2026-111497, CVE-2026-105482

Node.js October 2026 Security Releases: 10 CVEs Fixed

Four high-severity fixes, including a Brotli decoder memory-corruption bug the project says permits remote code execution, make this a routine-but-real upgrade: roll every supported line forward this week.

Must act: Anyone running Node.js 22.x, 24.x or 26.x in production, especially services that decompress untrusted Brotli data or make TLS connections to hosts given as IP addresses.

Can relax: Nobody needs to drop everything today: no exploitation is reported, and the low-severity Permission Model and ZIP fixes only matter if you use those features.

  1. Check every runtime that serves traffic: node -v in each container, VM and CI image.
  2. Upgrade to 26.12.1, 24.22.1 or 22.23.4 (nvm install 24.22.1, or your package manager / official node:* images), then restart processes.
  3. Rebuild and redeploy container images and single executable applications (SEAs) so they embed the fixed runtime.

Read the brief →

Act now

· Supply-chain compromise

LiteLLM 1.107.0: Malicious PyPI and Docker Release

Check right now whether anything installed litellm 1.107.0 or pulled a LiteLLM image by a floating tag on October 21; if it did, assume every secret that host could read is stolen.

Must act: Anyone whose laptops, CI runners, containers or Kubernetes nodes resolved litellm (unpinned or >=) or a latest/main-* LiteLLM image between about 11:39 and 14:20 UTC on October 21, 2026.

Can relax: Teams pinned to 1.106.2 or earlier by hash/lockfile, image users pinned by digest to a pre-incident image, and LiteLLM Enterprise private-registry customers, which LiteLLM says were not affected.

  1. Find exposure: pip show litellm, grep lockfiles and CI logs for 1.107.0, and list running image digests.
  2. On any hit, isolate the host or container and preserve evidence; do not run that environment's python or pip first.
  3. Kill the detached daemon holding /tmp/remote_code_loader.lock and delete cook.pth, cook.py, sitecustomize.py (and their .pyc) from site-packages, or better, destroy and rebuild the environment.

Read the brief →

Known exploited (CISA KEV) 0

Added to CISA’s catalog on this day: confirmed exploitation in the wild. Due date = CISA’s deadline for US federal agencies.

None.

Critical advisories by ecosystem 3

GitHub-reviewed advisories rated critical, published this day (Pacific time).

PyPI 2

Check: pip-audit (or: pip show <package>)

npm 1

Check: npm audit (or: npm ls <package>)