Closed logFriday, October 23, 2026·Last watch 22:45 ET
Compromised releases, malicious packages and exploited bugs that touch your dependencies and pipelines, with what to do about each. Checked four times a day.
No log for this watch
No log for this watch
No log for this watch
First log of the new watch. Patch tonight: PHP2Shell (exploited), GitLab/Ruby regex RCE, and Node's Brotli bug, now shown to run code. LiteLLM carried in from Oct 21.
Paste package names (one per line), or load a manifest or lockfile: package.json, package-lock.json, requirements.txt, poetry.lock, Pipfile.lock, Cargo.lock, go.mod, Gemfile.lock, composer.json. Matching entries get a "Matches your stack" label on every page, and you can filter to just those.
Your list stays in this browser (local storage). Files are read on your device and never uploaded. Matching is by package name, not version, so a match means "check this", not "you are vulnerable".
PHP shipped emergency releases on Oct 21 for two critical flaws that let an attacker without an account run code on a server. Exploit attempts reported since then number in the millions, with attackers trying to install Mirai botnet malware. On Oct 23 PHP flagged a separate, lower-risk session issue that the emergency builds do not fix; it only affects unusual session-handler configurations.
php < 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35php -v | head -1php -i | grep session.upload_progress.enableddocker images --format '{{.Repository}}:{{.Tag}}' | grep -E '(^|/)php:'Upgrade to PHP 8.5.12, 8.4.27, 8.3.36 or 8.2.35, including container base images. As a stopgap (and to cover the Oct 23 issue), set session.upload_progress.enabled=0.
ReferencesCVE-2026-109618, CVE-2026-109619, CVE-2026-115560
On Oct 21 a release built from a lookalike repository pushed backdoored litellm 1.107.0 wheels to PyPI and matching images to GHCR and Docker Hub. The payload runs on every Python start via a .pth file, harvests cloud, CI, SSH and AI-tool credentials (and proxy provider keys when DATABASE_URL is set), and polls for remote code hourly. PyPI pulled the release in under two hours; the latest and main-stable Docker tags pointed at the bad image for roughly 2.5 hours. Researchers report the 1.106.x line as clean.
litellm==1.107.0ghcr.io/berriai/litellm:v1.107.0docker.io/litellm/litellm:v1.107.0pip show litellm 2>/dev/null | grep -i '^version'grep -rnE 'litellm.{0,4}1\.107\.0' --include='*.txt' --include='*.lock' --include='*.toml' --include='*.cfg' .find / -path '*site-packages*' \( -name cook.pth -o -name cook.py \) 2>/dev/nulldocker images --digests | grep -i litellmSearch lockfiles, image digests and mirrors for 1.107.0. If it ran anywhere with network access, rebuild that environment, pin litellm==1.106.2, block litellm.dev, and rotate every credential the host could reach.
GitLab's Oct 21 critical patch release fixes an unauthenticated remote code execution bug triggered by a crafted Org-mode file, rooted in an integer overflow in Onigmo, the regex engine inside Ruby. Fixed GitLab versions are 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 and 18.11.13; GitLab.com is already patched. On Oct 23 the Ruby team released 4.0.9, 3.4.12 and 3.3.13 with fixes for the underlying regex bugs. It is not in CISA KEV yet, but public repositories claiming proofs of concept have appeared.
GitLab CE/EE < 19.5.1ruby < 4.0.9 / 3.4.12 / 3.3.13cat /opt/gitlab/embedded/service/gitlab-rails/VERSIONruby -vUpgrade self-managed GitLab now (older than 18.11 means following upgrade stops to 18.11.13 or later). Update Ruby on self-compiled installs and on any service that compiles regexes from untrusted input.
ReferencesCVE-2026-110264
SourcesKonfirmity, Convika, ruby-lang.org
Node's Oct 21 security release fixed 10 CVEs across the 22.x, 24.x and 26.x lines. The worst, an out-of-bounds write in the bundled Brotli decoder, is no longer theoretical: on Oct 23 Imperva reported code execution on the official Node.js 24.22.0 Linux arm64 build, including through Express 5.0-5.3 and body-parser 2.0-2.3 request handling, though not on every attempt. Three high-severity TLS and DNS bugs in the same release let certificates match the wrong host or let a NUL byte truncate a hostname. No in-the-wild exploitation reported yet; Node 20.x and older are end-of-life and get no fix.
node 26.12.1node 24.22.1node 22.23.4node -vdocker images --format '{{.Repository}}:{{.Tag}}' | grep -E '(^|/)node:'grep -rnE '(node-version|FROM node|"node":)' --include='*.yml' --include='*.yaml' --include='Dockerfile*' --include='package.json' --include='.nvmrc' .Move to 26.12.1, 24.22.1 or 22.23.4 everywhere, including base images, CI runners and serverless runtimes; replace any Node 20.x. Until then, limit untrusted Brotli traffic at the edge.
ReferencesCVE-2026-111497, CVE-2026-105482, CVE-2026-105483, CVE-2026-106069
SourcesNode.js 24.22.1 release notes, The Hacker News, Astra, cve.now
Pillow 13.0.0, released Oct 16, fixes several flaws now drawing attention: command execution through EPS files when Ghostscript is installed (versions 2.6.0 to 12.3.0), a crafted FPX file that can run commands on a single Image.open() when olefile is present, and memory overflows in lossless JPEG thumbnails and in-memory TIFF saves, the latter with a public proof of concept. The 9.2 scores overstate some of these, since each needs specific conditions; maintainers rate the EPS issue moderate. No exploitation reported.
pillow < 13.0.0pip show pillow 2>/dev/null | grep -i '^version'grep -rniE '^pillow|name = "pillow"' --include='*.txt' --include='*.lock' --include='*.toml' -A1 .Upgrade pillow to 13.0.0 (it requires Python 3.11+). If you can't yet, avoid opening untrusted EPS/FPX files, and remove ghostscript and olefile from images that don't need them.
ReferencesCVE-2026-112900, CVE-2026-112403, CVE-2026-112393, GHSA-w889-685w-c8fh, GHSA-5x8w-8jj5-q52h
SourcesThe Hacker News, cve.now
eMudhra said on Oct 22 it will leave the global TLS certificate business after eight of its intermediate CA keys were found to be easily guessable. Electron published fixes that stop trusting the affected intermediates; until then, an attacker on the network holding a certificate from one of them could impersonate servers to Electron apps through Chromium networking or Node's tls, https and fetch. Rated CVSS 7.4; no known exploitation.
electron 44.9.1electron 43.8.1electron 42.11.16electron 45.0.0-beta.6npm ls electronBump electron to a fixed release for your major line and ship an app update, especially for apps that auto-update or call internal APIs over TLS.
ReferencesCVE-2026-115570, GHSA-jr5w-w6x2-84p9
Sourcescve.now, The Hacker News
A race between Interval ticking and the multi-threaded runtime's time driver could drop a timer entry while it was firing, causing a use-after-free. Symptoms range from assertion panics to heap corruption. Only 1.54.0 is affected; local, high-complexity, CVSS 5.8.
tokio 1.54.0grep -A1 'name = "tokio"' Cargo.lockIf Cargo.lock pins tokio 1.54.0, run cargo update -p tokio to reach 1.54.1 or later.
ReferencesCVE-2026-115567, GHSA-5wjr-9356-4wc8, RUSTSEC-2026-0384
Sourcescve.now
No entries for this day match those filters.
Four times a day (06:00, 12:00, 18:00 and 21:00 Eastern), Claude reads advisory and malware feeds, including cve.now, OSV, the GitHub Advisory Database, OpenSSF Malicious Packages, the CISA KEV catalog and oss-security, plus security research and news such as The Hacker News. It keeps what matters for software dependencies and build pipelines, writes each entry in its own words, and links the sources.
Entries are triage notes, not full advisories. "Am I affected?" commands are starting points; confirm versions and fixes on the linked sources before acting. EPSS is FIRST's estimate of the chance of exploitation in the next 30 days.