<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>erroneo.us Security Digest</title>
<link>https://erroneo.us/security/</link>
<atom:link href="https://erroneo.us/security/feed.xml" rel="self" type="application/rss+xml"/>
<description>The daily vulnerability digest: new CISA KEV entries, critical advisories and editorial briefs with honest verdicts on who must act.</description>
<language>en-us</language>
<lastBuildDate>Wed, 21 Oct 2026 00:00:00 -0700</lastBuildDate>
<image><url>https://erroneo.us/icon-192.png</url><title>erroneo.us Security Digest</title><link>https://erroneo.us/security/</link></image>
<item>
<title>Act now: PHP2Shell: Critical Unauthenticated RCE in PHP</title>
<link>https://erroneo.us/security/briefs/php2shell-php-rce/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/php2shell-php-rce/</guid>
<pubDate>Wed, 21 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Two PHP engine bugs allow unauthenticated RCE on PHP serving web requests. Fixed in 8.5.12/8.4.27/8.3.36/8.2.35. Attacks seen. Patch today.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> 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.</p><p><strong>Who must act:</strong> 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.<br><strong>Who can relax:</strong> 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.</p><ol><li>Inventory every PHP that serves HTTP: servers, containers, appliances, shared hosting.</li><li>Upgrade to 8.5.12, 8.4.27, 8.3.36 or 8.2.35, or install your distribution&#x27;s fixed package, then restart every PHP worker (php-fpm, Apache).</li><li>Rebuild and redeploy container images from refreshed php:* or distro base images; do not just restart old containers.</li><li>For PHP 7.4-8.1, use a vendor/LTS backport or the PHP team&#x27;s source backport branches, or upgrade.</li><li>If you cannot patch today: set session.upload_progress.enabled=0, enforce memory_limit=-1, set fatal_error_backtraces=0 on 8.5, block multipart/form-data where unused, and keep WAF rules on; otherwise take the site offline.</li><li>Verify the version actually serving requests, not just the CLI binary.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 21, 2026, PHP shipped <a href="https://www.php.net/archive/2026.php#2026-10-21-5" rel="noopener" class="ext">8.5.12, 8.4.27, 8.3.36 and 8.2.35</a> to fix two engine bugs that "can allow unauthenticated remote code execution." <a href="https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w" rel="noopener" class="ext">CVE-2026-109618</a> ("RCE via OOM corruption") is a fault in out-of-memory handling: PHP bails out mid-initialization and request shutdown then trusts half-built state. <a href="https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp" rel="noopener" class="ext">CVE-2026-109619</a> ("RCE via stale global state") lets request state outlive its freed memory so the next request on the same worker uses it. Both are use-after-free class bugs, rated CVSS 4.0 9.2 by PHP. Red Hat <a href="https://access.redhat.com/security/cve/cve-2026-109618" rel="noopener" class="ext">scores it 8.1 on CVSS 3.1</a> and notes NVD's 9.8.</p>
<p><a href="https://www.wiz.io/blog/php2shell-php-rce" rel="noopener" class="ext">Wiz Research</a> found the bugs, with Calif and OpenAI also credited as reporters. Wiz confirmed unauthenticated RCE against Drupal and WordPress in August. The triggering code dates to PHP 5.4 (2012), and a plain "Hello World" app is enough. <a href="https://sansec.io/research/php2shell" rel="noopener" class="ext">Sansec</a> lists demonstrated RCE against Magento, WordPress, Drupal, Joomla, MediaWiki, Nextcloud, phpMyAdmin, Laravel and Symfony.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>PHP says every installation <strong>serving web requests</strong> is at risk, whether it runs mod_php, PHP-FPM, php-cgi, FrankenPHP or LiteSpeed. The advisories rank the exposure by SAPI:</p>
<ul>
<li><strong>Apache mod_php:</strong> most exposed. RCE is confirmed with default limits, and the trigger fires while the request body is parsed, before any application code runs.</li>
<li><strong>PHP-FPM:</strong> one path is blunted because FPM kills a child whose startup fails. Session-lifecycle RCE was still validated against FPM.</li>
<li><strong>FrankenPHP and LiteSpeed (LSAPI):</strong> source analysis says likely susceptible, but this has not been validated.</li>
</ul>
<p>PHP 8.1 and older get no upstream release. PHP published <a href="https://www.php.net/archive/2026.php#2026-10-21-5" rel="noopener" class="ext">source backports for 7.4, 8.0 and 8.1</a>. Versions 5.4 through 7.3 have no fix.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p><strong>Yes, today, if PHP is reachable over HTTP.</strong> The attack needs no login and no plugin bug, because it lands in the engine before your code runs. Updating WordPress or your framework does nothing. Exploitation has started. <a href="https://blog.cloudflare.com/php-vulnerabilities-waf-protection" rel="noopener" class="ext">Cloudflare</a> saw attack traffic, including payloads mutated to evade its rules, after details leaked ahead of the release. watchTowr reports exploitation attempts, according to <a href="https://www.tenable.com/blog/php2shell-cve-2026-109618-cve-2026-109619-frequently-asked-questions-about-critical-php-remote" rel="noopener" class="ext">Tenable</a>. Exploits are build-specific (the CVSS vector says "high complexity"), but public tooling closes that gap quickly. These CVEs were not in CISA KEV at the time of writing.</p>
<ul>
<li><strong>Distro PHP (Debian/Ubuntu/RHEL):</strong> watch for backported fixes that keep the old version string. Debian fixed <a href="https://security-tracker.debian.org/tracker/CVE-2026-109618" rel="noopener" class="ext">trixie (8.4.27-1~deb13u1, DSA-6574-1) and bookworm (8.2.35-1~deb12u1, DLA-4848-1)</a>. <a href="https://ubuntu.com/security/CVE-2026-109618" rel="noopener" class="ext">Ubuntu</a> fixed 24.04 (php8.3 8.3.6-0ubuntu0.24.04.13) and 22.04 (php8.1 8.1.2-1ubuntu2.28), with 20.04 and older through Ubuntu Pro. <a href="https://access.redhat.com/security/vulnerabilities/RHSB-2026-013" rel="noopener" class="ext">Red Hat</a> lists RHEL 8, 9 and 10 as affected with updates rolling out, and RHEL 7 as unaffected. Sansec warns that the Remi repository had not shipped fixes on day one.</li>
<li><strong>Containers:</strong> the official <code>php</code> images were <a href="https://github.com/docker-library/official-images/pull/22541" rel="noopener" class="ext">rebuilt on October 21</a>. Pull, rebuild and redeploy. Restarting an old image does not patch it.</li>
<li><strong>Managed WordPress and shared hosting:</strong> the host owns PHP. Confirm with them in writing. Self-managed VPS installs are on you.</li>
<li><strong>CLI-only PHP</strong> (cron, Composer, CI) is not on the documented attack path. Patch it on your normal cycle.</li>
<li><strong>Behind Cloudflare:</strong> WAF rules help, but only for traffic that actually passes through Cloudflare. They are not a fix.</li>
</ul>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Inventory every PHP install that answers HTTP, including ones bundled inside appliances. The <a href="https://www.ncsc.gov.uk/news/critical-security-issue-affecting-php" rel="noopener" class="ext">UK NCSC</a> stresses this step.</li>
<li>Upgrade to a fixed release or your vendor's package (<code>apt-get install --only-upgrade 'php8.*'</code>, <code>dnf update 'php*'</code>), then restart <em>all</em> workers: <code>systemctl restart php8.3-fpm apache2</code>.</li>
<li>Verify from the web side, not the shell. <code>php -v</code> reports the CLI binary. Check <code>dpkg -l 'php*'</code> or <code>rpm -qa 'php*'</code>, and confirm the version a live request reports.</li>
<li>If you can't patch yet, apply PHP's temporary mitigations administratively and restart: <code>session.upload_progress.enabled=0</code>, enforced <code>memory_limit=-1</code> (watch RAM), and <code>fatal_error_backtraces=0</code> on 8.5. Block <code>multipart/form-data</code> where you don't use it. PHP says none of these is a complete fix, so failing that, take the site offline as <a href="https://blog.qualys.com/vulnerabilities-threat-research/2026/10/20/php-announces-critical-security-release-for-two-vulnerabilities" rel="noopener" class="ext">Qualys</a> and NCSC suggest.</li>
<li>Do not use <code>RLIMIT_AS</code>/<code>RLIMIT_DATA</code> as a mitigation. PHP warns they can trigger the vulnerable path.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Wiz notes that application logs may show little, because the bugs run below the app layer. Look for multipart POSTs carrying the upload-progress field followed by 500s or memory-limit errors, unusual PHP worker churn, and oversized or malformed <code>PHPSESSID</code> cookies. Any internet-facing host that was unpatched after October 20 deserves a hunt: new <code>.php</code> files in web roots, web shells, and unexpected shells or network tools spawned by php-fpm or httpd. Rotate the secrets those workers could read, because the bugs also leak process memory.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-08-11">Aug 11, 2026</time> — Calif reports a first bug to PHP (per Sansec).</li>
<li><time datetime="2026-08-24">Aug 24, 2026</time> — Wiz reports its findings to PHP.</li>
<li><time datetime="2026-10-20">Oct 20, 2026</time> — CVE IDs leak around 15:00 UTC, and a researcher's exploit video is briefly posted. PHP moves the release up from Oct 22 to Oct 21, 14:00 UTC (<a href="https://socket.dev/blog/php-embargo-dispute" rel="noopener" class="ext">Socket</a>).</li>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — Cloudflare rules go live at 03:02 UTC. Chainguard ships patched images at 07:41 UTC, which the PHP Foundation calls an embargo break. Fixed releases, the GHSAs and the Wiz write-up are published at 14:00 UTC. Debian and Ubuntu ship fixes, and the official Docker images are rebuilt.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.php.net/archive/2026.php#2026-10-21-5">PHP — Security advisory for PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35 (Oct 21, 2026)</a></li><li><a href="https://www.php.net/archive/2026.php#2026-10-20-1">PHP — Upcoming critical PHP security release (Oct 20, 2026)</a></li><li><a href="https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w">PHP / GitHub — GHSA-w8hw-w9fx-j79w: RCE via OOM corruption (CVE-2026-109618)</a></li><li><a href="https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp">PHP / GitHub — GHSA-6wmf-4rv5-p3rp: RCE via stale global state (CVE-2026-109619)</a></li><li><a href="https://www.wiz.io/blog/php2shell-php-rce">Wiz Research — PHP2Shell</a></li><li><a href="https://www.tenable.com/blog/php2shell-cve-2026-109618-cve-2026-109619-frequently-asked-questions-about-critical-php-remote">Tenable — PHP2Shell FAQ</a></li><li><a href="https://sansec.io/research/php2shell">Sansec — PHP2Shell: Critical PHP RCE</a></li><li><a href="https://blog.cloudflare.com/php-vulnerabilities-waf-protection">Cloudflare — Cloudflare deploys protections against php2shell</a></li><li><a href="https://blog.qualys.com/vulnerabilities-threat-research/2026/10/20/php-announces-critical-security-release-for-two-vulnerabilities">Qualys — PHP2Shell: PHP patches two critical RCE vulnerabilities</a></li><li><a href="https://security-tracker.debian.org/tracker/CVE-2026-109618">Debian security tracker — CVE-2026-109618</a></li><li><a href="https://ubuntu.com/security/CVE-2026-109618">Ubuntu — CVE-2026-109618</a></li><li><a href="https://access.redhat.com/security/vulnerabilities/RHSB-2026-013">Red Hat — RHSB-2026-013</a></li><li><a href="https://access.redhat.com/security/cve/cve-2026-109618">Red Hat — CVE-2026-109618</a></li><li><a href="https://github.com/docker-library/official-images/pull/22541">Docker official images — Update php to 8.5.12, 8.4.27, 8.3.36, 8.2.35 (#22541)</a></li><li><a href="https://www.ncsc.gov.uk/news/critical-security-issue-affecting-php">UK NCSC — Critical security issue affecting PHP</a></li><li><a href="https://socket.dev/blog/php-embargo-dispute">Socket — PHP Foundation says Chainguard broke security embargo</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Patch this week: Node.js October 2026 Security Releases: 10 CVEs Fixed</title>
<link>https://erroneo.us/security/briefs/nodejs-october-2026-security-releases/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/nodejs-october-2026-security-releases/</guid>
<pubDate>Wed, 21 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Node.js 22.23.4, 24.22.1 and 26.12.1 fix a Brotli out-of-bounds write, TLS hostname bypasses and more. Not known exploited. Upgrade this week.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> 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.</p><p><strong>Who must act:</strong> 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.<br><strong>Who can relax:</strong> 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.</p><ol><li>Check every runtime that serves traffic: node -v in each container, VM and CI image.</li><li>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.</li><li>Rebuild and redeploy container images and single executable applications (SEAs) so they embed the fixed runtime.</li><li>Move anything still on an End-of-Life line (20.x or older) to a supported LTS; EOL lines are always affected.</li><li>Rebuild startup snapshots and SEAs that use crypto.randomUUID() or crypto.randomInt(), so each process gets fresh entropy.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 21, 2026 the Node.js project shipped <a href="https://nodejs.org/en/blog/vulnerability/october-2026-security-releases" rel="noopener" class="ext">security releases</a> for every supported line: 26.12.1 (Current), 24.22.1 (LTS) and 22.23.4 (LTS). The releases fix ten CVEs. Four are rated high, three medium and three low. They also pull in dependency updates for c-ares, OpenSSL, SQLite and Undici, plus a root-certificate change after the compromise of an eMudhra intermediate CA.</p>
<p>The four high-severity issues:</p>
<ul>
<li><strong>CVE-2026-111497</strong>: an out-of-bounds write in the bundled Brotli decoder. The project's own title says it "permits remote code execution". The fix is a cherry-picked upstream Brotli patch. It affects 26.x, 24.x and 22.x.</li>
<li><strong>CVE-2026-106069</strong>: a TLS certificate hostname check bypass when the host loosely resolves to an IP address. It affects 26.x, 24.x and 22.x and is fixed together with the medium-rated CVE-2026-106072, under which DNS names in a certificate could authenticate a non-canonical IPv4 endpoint. Per the <a href="https://nodejs.org/en/blog/release/v24.22.1" rel="noopener" class="ext">24.22.1 notes</a>, TLS now rejects non-canonical IP addresses.</li>
<li><strong>CVE-2026-105483</strong>: another TLS hostname bypass, this time when an IP address is written in fullwidth digits. It is listed as an IP normalization regression and affects 26.x and 24.x only.</li>
<li><strong>CVE-2026-105482</strong>: <code>dns.resolve</code> truncated names containing a NUL character. It affects all three lines.</li>
</ul>
<p>The medium fixes cover a keep-alive socket processing a response written before its request was sent (CVE-2026-105481). The other one, CVE-2026-106074, is easy to miss. <code>crypto.randomUUID()</code> and <code>randomInt()</code> entropy caches were saved into user-land startup snapshots and single executable applications, "so every process repeats the same values." The low fixes are two Permission Model bypasses (CVE-2026-106071 and CVE-2026-106073) and a ZipFile prefix-bytes issue on 26.x (CVE-2026-106070).</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Anyone running Node.js 22.x, 24.x or 26.x before the fixed versions is affected. The project notes that End-of-Life lines "are always affected when a security release occurs" and get no fix, so anything on 20.x or older should move to a supported LTS. That also covers Node.js bundled into container images, desktop apps and SEAs, which only get the fix when they are rebuilt.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, on a normal patch cadence. No exploitation is reported, none of these CVEs is in CISA KEV, and the project published no CVSS scores, only severity ratings. Priority depends on what your services do:</p>
<ul>
<li><strong>Brotli (CVE-2026-111497)</strong> matters most if your code decompresses Brotli data an attacker can influence, for example br-encoded bodies or files decoded with the <code>zlib</code> Brotli APIs. Memory corruption in a parser that handles network input is the one item here that could become serious fast.</li>
<li><strong>The TLS hostname issues</strong> matter for clients that connect to hosts named by IP address, or that accept attacker-influenced hostnames, such as webhooks, URL fetchers and proxies. The risk is a certificate being accepted for the wrong endpoint, which helps an attacker already positioned on the network path.</li>
<li><strong>Snapshot/SEA entropy (CVE-2026-106074)</strong> matters only if you build startup snapshots or SEAs. Then every process could hand out the same "random" UUIDs, which is bad for anything that uses them as identifiers or tokens.</li>
<li><strong>Permission Model fixes</strong> matter only if you rely on <code>--permission</code> as a sandbox.</li>
</ul>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Inventory runtimes: run <code>node -v</code> on hosts, in CI runners and inside images (<code>docker run --rm your-image node -v</code>).</li>
<li>Upgrade: <code>nvm install 24.22.1</code> (or 22.23.4 / 26.12.1), your OS package manager, or refreshed official <code>node:*</code> images. Then restart every Node process.</li>
<li>Rebuild and redeploy images, Electron-style bundles you control, and SEAs. Restarting an old image does not patch it.</li>
<li>If you ship startup snapshots or SEAs that call <code>crypto.randomUUID()</code> or <code>crypto.randomInt()</code>, rebuild them on a fixed release. Review whether any identifiers they generated were relied on to be unique or secret.</li>
<li>Plan migration off any End-of-Life line.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>There is no public exploitation to hunt for. The practical check is exposure. Compare <code>node -p process.versions.node</code> against the fixed versions across your fleet and image registry. As a weak signal for the Brotli bug, look for Node processes crashing while handling compressed traffic. If you shipped snapshot-based binaries, check logs or databases for duplicate UUIDs generated by different processes. That pattern is the visible symptom of CVE-2026-106074.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — The Node.js project publishes its October security release advisory. Node.js <a href="https://nodejs.org/en/blog/release/v26.12.1" rel="noopener" class="ext">26.12.1</a>, 24.22.1 and <a href="https://nodejs.org/en/blog/release/v22.23.4" rel="noopener" class="ext">22.23.4</a> are released the same day with fixes for ten CVEs.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://nodejs.org/en/blog/vulnerability/october-2026-security-releases">Node.js — Wednesday, October 21, 2026 Security Releases</a></li><li><a href="https://nodejs.org/en/blog/release/v24.22.1">Node.js — Node.js 24.22.1 (LTS) release notes</a></li><li><a href="https://nodejs.org/en/blog/release/v22.23.4">Node.js — Node.js 22.23.4 (LTS) release notes</a></li><li><a href="https://nodejs.org/en/blog/release/v26.12.1">Node.js — Node.js 26.12.1 (Current) release notes</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Act now: LiteLLM 1.107.0: Malicious PyPI and Docker Release</title>
<link>https://erroneo.us/security/briefs/litellm-1-107-0-supply-chain-compromise/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/litellm-1-107-0-supply-chain-compromise/</guid>
<pubDate>Wed, 21 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>litellm 1.107.0 on PyPI and Docker (Oct 21, ~2h) shipped a credential stealer that runs on any Python start. If it ran: isolate, rebuild, rotate all.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> 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.</p><p><strong>Who must act:</strong> Anyone whose laptops, CI runners, containers or Kubernetes nodes resolved litellm (unpinned or &gt;=) or a latest/main-* LiteLLM image between about 11:39 and 14:20 UTC on October 21, 2026.<br><strong>Who can relax:</strong> 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.</p><ol><li>Find exposure: pip show litellm, grep lockfiles and CI logs for 1.107.0, and list running image digests.</li><li>On any hit, isolate the host or container and preserve evidence; do not run that environment&#x27;s python or pip first.</li><li>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.</li><li>Reinstall pinned to litellm==1.106.2 with hashes, and pin images by digest.</li><li>From a clean machine, rotate everything the host could reach: cloud role/keys, every provider key in the LiteLLM DB plus master/virtual keys, DATABASE_URL, GitHub/npm/PyPI tokens, SSH/GPG keys, AI-tool sessions.</li><li>Review CloudTrail/cloud audit logs for sts:GetCallerIdentity and Bedrock ListFoundationModels from unfamiliar IPs, including 168.100.8.57 and 165.227.201.8.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 21, 2026, an attacker published <code>litellm==1.107.0</code> to PyPI and pushed matching container images. LiteLLM is a widely used Python SDK and proxy that fronts dozens of LLM providers, and <a href="https://securitylabs.datadoghq.com/articles/litellm-compromised-pypi-docker/" rel="noopener" class="ext">Datadog</a> cites about 23 million weekly downloads. According to <a href="https://docs.litellm.ai/blog/security-incident-oct-21-2026" rel="noopener" class="ext">LiteLLM's incident report</a>, all seven 1.107.0 wheels were live from 11:39:51 UTC to about 13:23 UTC. On Docker Hub and GHCR, the tags <code>v1.107.0</code>, <code>latest</code>, <code>main-latest</code> and <code>main-stable</code> pointed to malicious image indexes from 11:46:56 UTC. They were withdrawn from GHCR by 13:51 and from Docker Hub by 14:20. The official GitHub <code>v1.107.0</code> source tag is clean. The artifacts were built from a lookalike repository, <code>Berri-AI/litellm</code> (one hyphen), rather than <code>BerriAI/litellm</code>.</p>
<p>LiteLLM's current understanding is that stolen GitHub CLI OAuth tokens belonging to three engineers were used for four steps: altering a release workflow, overriding branch protection, satisfying a production approval gate, and deleting workflow records afterward. It suspects, but has not confirmed, that the initial access came through an internally exposed LiteLLM deployment. LiteLLM says the private Enterprise release and registry were not affected.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>You are affected if any machine installed 1.107.0 or ran one of the affected image digests. That includes unpinned <code>pip install litellm</code> in CI, a <code>litellm&gt;=</code> constraint that resolved that morning, or a Kubernetes deployment that pulled <code>:latest</code> or <code>:main-stable</code>. Each wheel drops three files into <code>site-packages</code>, as <a href="https://socket.dev/blog/litellm-compromise" rel="noopener" class="ext">Socket</a> and Datadog both document:</p>
<ul>
<li><code>cook.pth</code>. Python runs <code>.pth</code> files at every interpreter start, so the stealer fires even if your code never imports LiteLLM. It fires when you run <code>pip</code>, too.</li>
<li><code>cook.py</code>, the credential stealer. It targets AWS, GCP and Azure credentials (including instance metadata), Kubernetes, Vault and Terraform secrets, SSH, GPG and TLS keys, Git, npm and PyPI tokens, <code>.env</code> files, browser cookies and passwords, and AI-tool sessions such as <code>~/.claude/.credentials.json</code> and <code>~/.codex/auth.json</code>. If <code>DATABASE_URL</code> is set, it also reads the LiteLLM proxy's stored provider credentials.</li>
<li><code>sitecustomize.py</code>, a loader on Linux and macOS that polls a GitHub dead drop every hour and would <code>exec</code> second-stage Python from it. Researchers saw no second stage served before GitHub removed the repository.</li>
</ul>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p><strong>Everyone needs to check. Only those who ran it need to respond.</strong> The window was about two hours, but CI pipelines and floating container tags are built to pull new releases quickly. Theft is not hypothetical. <a href="https://wiz.io/blog/litellm-compromised-steals-credentials" rel="noopener" class="ext">Wiz</a> observed stolen AWS instance-role credentials from CI runners and Kubernetes nodes being validated from <code>168.100.8[.]57</code> and <code>165.227.201[.]8</code> roughly three to five hours after the release. The attackers called <code>sts:GetCallerIdentity</code> and then Bedrock model listing, which fits LLMjacking. If the affected host had outbound internet access, LiteLLM says to assume exfiltration succeeded. Uninstalling the package does not remove the startup files. Exfiltration is encrypted with an embedded RSA-4096 key, so you cannot tell what was taken. If you pin by lockfile hash or image digest and did not bump anything on October 21, you can relax.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li><strong>Find it.</strong> Run <code>pip show litellm</code> in every virtualenv and image, <code>grep -r "litellm.*1.107.0" poetry.lock uv.lock requirements*.txt</code>, search CI logs, and run <code>docker images --digests | grep litellm</code>. Compare against index <code>sha256:1bbcb1443bc9…c339e</code> and the per-variant indexes in the LiteLLM report.</li>
<li><strong>Isolate before touching.</strong> Do not run the affected environment's <code>python</code> or <code>pip</code>, because that re-triggers the payload. Preserve disk and memory if you can.</li>
<li><strong>Clean or, better, rebuild.</strong> Kill the detached process holding <code>/tmp/remote_code_loader.lock</code>. Delete <code>cook.pth</code>, <code>cook.py</code>, <code>sitecustomize.py</code> and their <code>__pycache__</code> files from every site-packages directory. Then destroy the venv or image and rebuild it pinned to <code>litellm==1.106.2</code>.</li>
<li><strong>Rotate from a clean machine.</strong> Cover the instance or task IAM role and any static cloud keys, every provider key in the proxy DB plus master and virtual keys, the <code>DATABASE_URL</code> password, GitHub, npm and PyPI tokens, SSH and GPG keys, and logged-in AI-tool and browser sessions.</li>
<li><strong>Hunt in the cloud.</strong> Review CloudTrail and your other providers' audit logs from 11:39 UTC onward for role use outside your network.</li>
<li><strong>Harden.</strong> Install with <code>pip install --require-hashes</code> or a uv or poetry lockfile, reference images by <code>@sha256:</code> digest rather than by tag, and consider a release-age cooldown before adopting new versions.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Artifacts that confirm execution:</p>
<ul>
<li><code>litellm-1.107.0.dist-info</code> or <code>cook.pth</code> in site-packages.</li>
<li>The upload marker <code>/tmp/.pc_once_72129118c59f5636c0bb</code>.</li>
<li>The environment variable <code>PRIVCOLLECT_ACTIVE=1</code> in a process.</li>
<li>Egress to <code>www.litellm[.]dev/healthcheck</code> carrying the header <code>X-Token: XWiA8gZNa7NcX2XRoAEb</code>.</li>
<li>Requests to <code>raw.githubusercontent.com/letters9813/pythonclient-test</code>.</li>
</ul>
<p>Wiz and Socket also publish wheel and payload SHA-256 hashes. Missing artifacts do not prove a host is clean, because the marker path fails on Windows and an attacker or reinstall can remove files.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — 08:56–10:46 UTC: the attacker pushes commits to <code>Berri-AI/litellm</code>, and a workflow change at 10:08 overrides branch protection.</li>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — 11:39:51 UTC: 1.107.0 is on PyPI. Malicious images are tagged from 11:46:56.</li>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — Around 13:20–13:23 UTC PyPI quarantines the release. GHCR tags are gone by 13:51 and Docker Hub tags by 14:20.</li>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — Around 16:20–17:01 UTC Wiz observes stolen AWS role credentials being validated. LiteLLM declares the incident contained, with the investigation ongoing.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://docs.litellm.ai/blog/security-incident-oct-21-2026">LiteLLM — Security incident, October 21, 2026</a></li><li><a href="https://securitylabs.datadoghq.com/articles/litellm-compromised-pypi-docker/">Datadog Security Labs — LiteLLM supply chain compromise: What you need to know</a></li><li><a href="https://wiz.io/blog/litellm-compromised-steals-credentials">Wiz — LiteLLM Compromised, Steals Credentials</a></li><li><a href="https://socket.dev/blog/litellm-compromise">Socket — LiteLLM PyPI package and Docker images compromised</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: October 21, 2026</title>
<link>https://erroneo.us/security/2026-10-21/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-21/</guid>
<pubDate>Wed, 21 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>3 editorial briefs and 3 critical advisories.</description>
<content:encoded><![CDATA[<p>3 editorial briefs and 3 critical advisories.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-112900/">Pillow: Argument Injection in Ghostscript call, potentially leading into RCE</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-114125/">Storybook: Missing origin validation in Storybook preview allows code injection from malicious websites</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-112393/">Pillow: Heap buffer overflow in _tiffWriteProc when saving TIFF to BytesIO</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: Plex2Shell: Exploited RCE Chain in Plex Media Server</title>
<link>https://erroneo.us/security/briefs/plex2shell-plex-media-server-rce-chain/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/plex2shell-plex-media-server-rce-chain/</guid>
<pubDate>Tue, 20 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Plex Media Server before 1.43.3.10861 is exploited via the Plex2Shell chain to drop miners and proxyware. Update now and check for compromise.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> A public proof of concept chains four Plex bugs into code execution without credentials, and attackers have used it since October 17: update any internet-reachable server now, then check it for a miner or proxy.</p><p><strong>Who must act:</strong> Anyone running Plex Media Server older than 1.43.3.10861 that is reachable from the internet, including NAS and Docker installs.<br><strong>Who can relax:</strong> Servers already on 1.43.3.10861 or later; LAN-only servers are far less exposed but should still update.</p><ol><li>Check the full build number in Settings &gt; General, or run curl -s http://127.0.0.1:32400/identity on the server.</li><li>Update to Plex Media Server 1.43.3.10861 or later; on Docker, pull plexinc/pms-docker and recreate the container.</li><li>Turn off Remote Access and remove any port 32400 forward if you do not need outside access.</li><li>Preserve the Plex logs, then check Preferences.xml, the Codecs folder and outbound traffic for the indicators below.</li><li>If anything turns up, rebuild from a clean install, sign out all devices, change the Plex password and rotate credentials for shares the server could reach.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 16, 2026, researcher Zach Main published <a href="https://zmain.info/blog/plex2shell" rel="noopener" class="ext">Plex2Shell</a>, a write-up and proof of concept that chains four Plex Media Server (PMS) bugs into code execution without any credentials. The next morning a honeypot run by <a href="https://www.boredhackerblog.info/2026/10/plex-vulnerabilities-being-exploited-in.html" rel="noopener" class="ext">BoredHackerBlog</a> recorded the first exploitation in the wild. On October 19 Plex said in its <a href="https://forums.plex.tv/t/important-security-update-for-plex-media-server-v1-43-2-and-earlier/942319" rel="noopener" class="ext">security thread</a> that the flaws are "actively and widely exploited." On October 20 CISA added all four CVEs to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-96656" rel="noopener" class="ext">KEV catalog</a>.</p>
<p>The chain, as the researcher describes it:</p>
<ul>
<li><strong>CVE-2026-96652:</strong> <code>/player/timeline</code> checks only that an <code>X-Plex-Token</code> header exists, not that it is valid. A crafted <code>protocol</code> parameter makes the server POST to any URL, including its own loopback interface (<a href="https://www.cve.org/CVERecord?id=CVE-2026-96652" rel="noopener" class="ext">CVE record</a>).</li>
<li><strong>CVE-2026-96654:</strong> loopback requests skip authentication on the internal <code>/system/agents</code> API, and <code>searchOne</code> does not neutralize URL values, so the attacker can call other plugins' functions.</li>
<li><strong>Owner token theft:</strong> PMS attaches the owner's admin token to outbound requests whose URL starts with <code>http://127.0.0.1</code>. Because that is a prefix match, a hostname like <code>127.0.0.1.&lt;attacker&gt;.sslip.io</code> receives the token.</li>
<li><strong>CVE-2026-96656:</strong> with that token, the attacker sets the <code>TranscoderH264Options</code> preference, which PMS appends verbatim to x264's options, and triggers a transcode that writes a shared object into the Codecs folder. PMS loads every <code>.so</code> there at startup without signature checks (<a href="https://www.cve.org/CVERecord?id=CVE-2026-96656" rel="noopener" class="ext">CVE record</a>), so the code runs as the <code>plex</code> user.</li>
</ul>
<p>The fourth CVE, CVE-2026-96655, is an authenticated SSRF in <code>/video/:/transcode/universal</code>. CISA, acting as CNA, scores the bugs individually from 4.3 to 7.2 on CVSS 3.1 (8.6 on CVSS 4.0 for the file write). The researcher scores the full chain at 9.8.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Every PMS build older than <strong>1.43.3.10861</strong>, on Windows, macOS, Linux, NAS packages and Docker. The <a href="https://thehackernews.com/2026/10/hackers-exploit-plex2shell-flaws-to.html" rel="noopener" class="ext">Hacker News</a> reports that the fix shipped on August 3. One trap: Plex's September 1 notice told users to move to "1.43.3," but the <a href="https://forums.plex.tv/t/plex-media-server/30447/711" rel="noopener" class="ext">1.43.3.10828 build</a> released July 14 predates the fix. Check the full build number, not the first three digits. Plex now says any server older than 10861 that is reachable from the internet should be presumed possibly compromised.</p>
<p>Plenty of servers update slowly. In September, Shadowserver counted more than 36,000 internet-exposed PMS instances still unpatched against Plex's earlier advisory (<a href="https://www.bleepingcomputer.com/news/security/over-36-000-plex-servers-unpatched-against-recently-disclosed-flaws/" rel="noopener" class="ext">BleepingComputer</a>).</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p><strong>Yes, today, if the server is reachable from the internet.</strong> The chain needs no account, a working exploit is public, and CISA set an October 23 deadline for two of the four CVEs. What attackers install so far is a money-maker, not ransomware. BoredHackerBlog captured an XMRig miner and a tool called <code>myawesomeproxy</code>, fetched from <code>217.60.194.116</code>. The proxy's startup banner says it may make "external use of your internet traffic." The Hacker News reports the miner talks to <code>ota.proxystream[.]st</code>, and that Bitsight tied another proxystream subdomain to the AISURU DDoS and proxyware botnet. A home Plex box on a residential IP is exactly what proxyware operators want. Code running as <code>plex</code> can also read your media libraries and any shares the server mounts, which is why Plex says to treat those credentials as exposed.</p>
<p>LAN-only servers are much less exposed, but the chain works from any device that can reach port 32400, so update them anyway. If your server auto-updated past 10861 before October 16, you can relax once you have confirmed the build.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Find the exact build in Settings &gt; General, or on the host run <code>curl -s http://127.0.0.1:32400/identity</code> and read the <code>version</code> attribute. Package installs: <code>dpkg-query -W plexmediaserver</code> or <code>rpm -q plexmediaserver</code>.</li>
<li>Update to 1.43.3.10861 or later. On Docker, run <code>docker pull plexinc/pms-docker</code> and recreate the container; restarting the old one changes nothing. NAS package centers can lag, and Plex says to install the package manually if yours does.</li>
<li>If you don't need outside access, turn off Remote Access and remove any direct port 32400 forward, as Plex advises.</li>
<li>Copy the <code>Logs</code> folder before you dig in. The researcher notes PMS keeps only a few log rotations.</li>
<li>If you find anything below, follow Plex's cleanup steps: rebuild from a clean install, empty the Codecs folder, check <code>Preferences.xml</code> for unknown transcoder options, sign out all devices, change the Plex password, and rotate credentials for every share the server could reach.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>The data folder is <code>/var/lib/plexmediaserver/Library/Application Support/Plex Media Server</code> on Linux and <code>/config/Library/Application Support/Plex Media Server</code> in the official container. Call it <code>$PMS</code>:</p>
<ul>
<li><code>grep -o 'TranscoderH264Options="[^"]*"' "$PMS/Preferences.xml"</code>. The researcher's hunt script treats a value containing <code>dump-yuv</code> or <code>stats=</code> as a hit, and an empty value as worth review, because the PoC clears the option after use.</li>
<li><code>grep -aE 'player/timeline/subscribe|searchOne|sslip\.io|nip\.io' "$PMS/Logs/"*.log</code>. Exploit requests carry a <code>protocol</code> URL pointing at <code>127.0.0.1:32400/system/agents/.../searchOne</code>. BoredHackerBlog saw them come from <code>91.92.40.202</code>, <code>176.65.139.228</code> and <code>45.194.92.222</code> with a <code>Python-urllib/3.10</code> user agent.</li>
<li><code>find "$PMS/Codecs" -type f \( -name '*.so' -o -name '*.dll' \) -newermt 2026-10-16 -ls</code>. Legitimate codec downloads also land here, so look for names you don't recognize.</li>
<li>Look for processes such as <code>xmrig</code>, <code>myawesomeproxy</code> or <code>mylovelyminer</code>, high CPU while idle, and connections to <code>proxystream.st</code>.</li>
</ul>
<p>On Linux and Docker hosts, the researcher's read-only <a href="https://github.com/code-zm/plex2shell/tree/main/detection" rel="noopener" class="ext">plex2shell-hunt.sh</a> automates these checks and includes YARA rules.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-07-14">Jul 14, 2026</time> — PMS 1.43.3.10828 released. It is still vulnerable.</li>
<li><time datetime="2026-07-27">Jul 27, 2026</time> — The researcher reports the chain to Plex.</li>
<li><time datetime="2026-08-03">Aug 3, 2026</time> — Fixed in PMS 1.43.3.10861 (per The Hacker News).</li>
<li><time datetime="2026-09-01">Sep 1, 2026</time> — Plex urges owners of v1.43.2 and earlier to update.</li>
<li><time datetime="2026-09-23">Sep 23, 2026</time> — The four CVEs are published.</li>
<li><time datetime="2026-10-16">Oct 16, 2026</time> — The Plex2Shell write-up and PoC go public.</li>
<li><time datetime="2026-10-17">Oct 17, 2026</time> — First exploitation seen in the wild, dropping a miner and proxyware.</li>
<li><time datetime="2026-10-19">Oct 19, 2026</time> — Plex confirms wide exploitation and names 1.43.3.10861 as the first unaffected build.</li>
<li><time datetime="2026-10-20">Oct 20, 2026</time> — CISA adds CVE-2026-96652, -96654, -96655 and -96656 to KEV (due Oct 23 and Nov 3).</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://forums.plex.tv/t/important-security-update-for-plex-media-server-v1-43-2-and-earlier/942319">Plex — Important Security Update for Plex Media Server v1.43.2 and earlier (incl. Oct 19 follow-up)</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-96656">CISA — Known Exploited Vulnerabilities: CVE-2026-96656</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-96652">CVE.org — CVE-2026-96652 record</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-96656">CVE.org — CVE-2026-96656 record</a></li><li><a href="https://zmain.info/blog/plex2shell">Zach Main — Plex2Shell write-up</a></li><li><a href="https://github.com/code-zm/plex2shell/tree/main/detection">code-zm/plex2shell — detection scripts and YARA rules</a></li><li><a href="https://forums.plex.tv/t/plex-media-server/30447/711">Plex — Plex Media Server 1.43.3.10828 release note (Jul 14)</a></li><li><a href="https://www.boredhackerblog.info/2026/10/plex-vulnerabilities-being-exploited-in.html">BoredHackerBlog — Plex vulnerabilities being exploited in the wild</a></li><li><a href="https://thehackernews.com/2026/10/hackers-exploit-plex2shell-flaws-to.html">The Hacker News — Hackers exploit Plex2Shell flaws</a></li><li><a href="https://www.bleepingcomputer.com/news/security/over-36-000-plex-servers-unpatched-against-recently-disclosed-flaws/">BleepingComputer — Over 36,000 Plex servers unpatched against recently disclosed flaws</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Patch this week: eMudhra CA Key Compromise: Update Non-Browser TLS Clients</title>
<link>https://erroneo.us/security/briefs/emudhra-emsign-intermediate-ca-key-compromise/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/emudhra-emsign-intermediate-ca-key-compromise/</guid>
<pubDate>Tue, 20 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Eight eMudhra intermediate CA keys are recoverable by anyone. Browsers are safe; update pip 26.2.2, certifi, uv, Go, Java, Node and OS CA bundles this week.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> Anyone can mint certificates from these broken CA keys, but only clients that skip Certificate Transparency and still trust the emSign root are exposed, and only to an on-path attacker: update those trust bundles this week, build machines first.</p><p><strong>Who must act:</strong> Teams running Python (pip, certifi, requests, uv), Go, Java, Node.js, Rust rustls or distro CA bundles in servers, containers and CI, plus macOS users of the built-in curl, git and python3.<br><strong>Who can relax:</strong> Browser users: Chrome, Firefox, Safari and Edge blocked the certificates by October 20 and enforce Certificate Transparency, where no certificate from these intermediates was logged before the block.</p><ol><li>Upgrade pip to 26.2.2 first (install the wheel by checksum as the Python announcement shows), then certifi to 2026.10.19 and uv to 0.13.4.</li><li>Update the OS CA bundle (apt-get install --only-upgrade ca-certificates, apk upgrade ca-certificates, dnf update ca-certificates) and rebuild images on refreshed base images.</li><li>Move Go to 1.27.3 or 1.26.10, Node.js to 22.23.4, 24.22.1 or 26.12.1, and rustls webpki-roots to 1.0.10, then rebuild binaries that embed them.</li><li>Apply OpenJDK&#x27;s fix for CVE-2026-91403, or add the eight intermediates to the JDK&#x27;s blocked.certs.</li><li>On macOS, apply the disclosure site&#x27;s /etc/ssl/cert.pem workaround for the built-in curl, git and python3, or use tools with updated bundles.</li><li>Check whether your own servers&#x27; certificates chain to emSign ECC Root CA - G3; clients that update will reject them.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 17, 2026, a researcher reported that the private keys of eight intermediate certificate authorities run by eMudhra, an Indian CA, could be recovered by anyone. Six of the eight issue TLS certificates and two issue code-signing certificates. Mozilla's analysis in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2083449" rel="noopener" class="ext">bug 2083449</a> found that all eight P-384 keys "used integers less than 256," so the key can be read straight off the public certificate. eMudhra says a code flaw during an April 30, 2025 key ceremony created a second, weaker key pair, and those keys were used "by mistake to create the csr (because the key labels were similar)." Mozilla wrote that "the impact of this incident could not be higher" and that multiple people had recovered the keys independently.</p>
<p>With one of these keys, an attacker can issue a certificate for any hostname. The intermediates chain through Sectigo cross-signs and the <strong>emSign ECC Root CA - G3</strong> root to the Mozilla, Apple, Microsoft and Chrome trust stores, and to the many bundles copied from them. Mozilla, Chrome and others made the details public on October 20 in a <a href="https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/0R3XLJL6FuE/m/0XofdebrAAAJ" rel="noopener" class="ext">dev-security-policy thread</a> and on a community <a href="https://emudhra.we-have-a-problem.com" rel="noopener" class="ext">disclosure site</a>.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p><strong>Not browsers.</strong> Chrome blocked the TLS intermediates by SPKI hash through CRLSets on October 17, and Firefox blocked them through OneCRL that evening. Apple followed on October 19 and Microsoft on October 20. Chrome adds that no TLS certificate chaining to these CAs was logged to Certificate Transparency before the block, so CT-enforcing browsers could not have accepted a forged one.</p>
<p><strong>Everything that ships its own copy of the roots and skips CT or revocation checks.</strong> That is most developer tooling:</p>
<ul>
<li><strong>Python:</strong> <a href="https://github.com/certifi/python-certifi/security/advisories/GHSA-6q48-6c7w-9gw2" rel="noopener" class="ext">certifi</a> (behind requests, urllib3 and the python.org macOS installer) before 2026.10.19. Christian Heimes notes in the <a href="https://discuss.python.org/t/information-for-python-users-regarding-emudhra-emsign-ca-certificate-security-incident/109576" rel="noopener" class="ext">Python announcement</a> that pip always loads its vendored certifi in addition to the system store, so fixing the OS is not enough below <a href="https://github.com/pypa/pip/releases/tag/26.2.2" rel="noopener" class="ext">pip 26.2.2</a>. uv before 0.13.4 is affected through its vendored webpki roots (<a href="https://github.com/advisories/GHSA-hq85-5cpj-mr62" rel="noopener" class="ext">GHSA-hq85-5cpj-mr62</a>).</li>
<li><strong>Go:</strong> <a href="https://groups.google.com/g/golang-announce/c/66pojueaQek" rel="noopener" class="ext">Go 1.27.3 and 1.26.10</a> make crypto/x509 filter out chains containing these intermediates (CVE-2026-111943).</li>
<li><strong>Java:</strong> <a href="https://openjdk.org/groups/vulnerability/advisories/2026-10-21" rel="noopener" class="ext">OpenJDK's October 21 advisory</a> (CVE-2026-91403, CVSS 9.1) lists 27.0.1, 25.0.5, 21.0.13, 17.0.21, 11.0.33, 8u512 and earlier as affected.</li>
<li><strong>Node.js, Rust and others:</strong> the disclosure site's patch table lists Node.js 22.23.4, 24.22.1 and 26.12.1, rustls webpki-roots 1.0.10, Deno 2.9.8, Electron 44.9.1, Composer ca-bundle 1.4.16 and many more.</li>
<li><strong>Operating systems:</strong> distro <code>ca-certificates</code> packages (Debian, Ubuntu, Alpine, Fedora, Arch and others have shipped updates), and on macOS the built-in curl, git and python3, which read <code>/etc/ssl/cert.pem</code> without checking revocation. Apple had not updated that file at the time of the disclosure.</li>
</ul>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p><strong>Yes, but this week, not tonight.</strong> To exploit this, an attacker must be on the network path: hostile Wi-Fi, a compromised router or proxy, DNS hijacking, or a foothold in your cloud network. If they are, an unpatched <code>pip install</code> or Go service will accept a forged certificate for any host. That turns network position into tampered packages or stolen API tokens. No attacks are known, but the disclosure site says plainly that nobody knows whether anyone exploited the flaw against non-CT clients since April 2025. Prioritize build machines, CI runners and anything that installs packages or handles credentials over shared networks.</p>
<p>There is a second, operational risk. Mozilla and Chrome are removing trust in <strong>emSign ECC Root CA - G3</strong> altogether. eMudhra estimates "about 30,000 certs that require migration." If your own services use certificates from that hierarchy, updated clients will start refusing to connect.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Python: upgrade pip first. The announcement shows installing the 26.2.2 wheel by URL with a pinned SHA-256, so the upgrade itself doesn't depend on the old bundle. Then run <code>python -m pip install -U 'certifi&gt;=2026.10.19'</code>, update uv to 0.13.4 (<code>UV_SYSTEM_CERTS=true uv self update</code> on a patched OS), and bump certifi in lockfiles.</li>
<li>Update OS bundles (<code>apt-get install --only-upgrade ca-certificates</code>, <code>apk upgrade ca-certificates</code>, <code>dnf update ca-certificates</code>), then rebuild container images on refreshed bases. The Python thread notes that the official Python Docker images still shipped pip 26.2.1 on October 21.</li>
<li>Roll Go, Node.js and Java to the fixed releases and rebuild statically linked binaries. For JDKs you can't update yet, OpenJDK says to block the certificates in <code>blocked.certs</code>.</li>
<li>On macOS and Linux hosts that can't be updated yet, the disclosure site documents commands that distrust the affected roots in the system store.</li>
<li>Check the issuer chain of your own public certificates, for example with <code>openssl s_client -connect host:443 -showcerts</code>, and migrate any that chain to emSign ECC Root CA - G3.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>First, find out whether each client is still exposed: <code>curl https://dv-g3b-emudhra.we-have-a-problem.com/</code> succeeds only if the client still trusts the compromised chain, and a certificate error means it is fixed. Run the same request from Python, Go or Java inside your images, not just from your shell. To look for actual misuse, search TLS inspection proxies and Zeek <code>x509.log</code> for certificates issued by "EM DV/OV/EV TLS CA - G3B" or "G3C". eMudhra says almost no end-entity certificates were issued from these intermediates, so any hit deserves investigation.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2025-04-30">Apr 30, 2025</time> — eMudhra's key ceremony produces the flawed keys.</li>
<li><time datetime="2026-10-17">Oct 17, 2026</time> — The flawed keys are found and reported to the root programs at 18:05 UTC. Chrome ships a CRLSet block at 19:45 UTC, and Mozilla's OneCRL block completes at 22:59 UTC.</li>
<li><time datetime="2026-10-18">Oct 18, 2026</time> — eMudhra revokes the eight intermediates.</li>
<li><time datetime="2026-10-19">Oct 19, 2026</time> — Downstream trust stores are notified, Sectigo's cross-signs are revoked, Apple blocks the certificates, and Go 1.27.3 and 1.26.10 ship.</li>
<li><time datetime="2026-10-20">Oct 20, 2026</time> — Public disclosure. Microsoft blocks the certificates, Mozilla removes the root from NSS, and pip 26.2.2, uv 0.13.4 and certifi 2026.10.19 advisories land.</li>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — Node.js security releases and the OpenJDK advisory ship. Fixes for Bun and Erlang certifi are still pending.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/0R3XLJL6FuE/m/0XofdebrAAAJ">Mozilla dev-security-policy — Compromised eMudhra Intermediate Certificates</a></li><li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2083449">Mozilla Bugzilla — eMudhra: Private key compromise of Intermediate Certificates (bug 2083449)</a></li><li><a href="https://github.com/certifi/python-certifi/security/advisories/GHSA-6q48-6c7w-9gw2">certifi — GHSA-6q48-6c7w-9gw2: Removal of emSign root certificate</a></li><li><a href="https://github.com/advisories/GHSA-hq85-5cpj-mr62">GitHub Advisory Database — GHSA-hq85-5cpj-mr62: uv bundled CA store trusts compromised emSign root</a></li><li><a href="https://groups.google.com/g/golang-announce/c/66pojueaQek">Go — Go 1.27.3 and Go 1.26.10 are released (CVE-2026-111943)</a></li><li><a href="https://openjdk.org/groups/vulnerability/advisories/2026-10-21">OpenJDK Vulnerability Group — Advisory 2026-10-21 (CVE-2026-91403)</a></li><li><a href="https://github.com/pypa/pip/releases/tag/26.2.2">pip — Release 26.2.2</a></li><li><a href="https://emudhra.we-have-a-problem.com">eMudhra Intermediate CA Compromise — disclosure site, checker and patch table</a></li><li><a href="https://discuss.python.org/t/information-for-python-users-regarding-emudhra-emsign-ca-certificate-security-incident/109576">Python Discourse — Information for Python users regarding the eMudhra / emSign CA incident</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: October 20, 2026</title>
<link>https://erroneo.us/security/2026-10-20/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-20/</guid>
<pubDate>Tue, 20 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>2 editorial briefs, 6 known exploited (cisa kev) additions and 3 critical advisories.</description>
<content:encoded><![CDATA[<p>2 editorial briefs, 6 known exploited (cisa kev) additions and 3 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-96656/">CVE-2026-96656</a> Plex Media Server: Plex Media Server External Control of File Name or Path Vulnerability (due 2026-10-23)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-96655/">CVE-2026-96655</a> Plex Media Server: Plex Media Server Server-Side Request Forgery (SSRF) Vulnerability (due 2026-11-03)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-96654/">CVE-2026-96654</a> Plex Media Server: Plex Media Server Improper Neutralization of Encoded URI Schemes in a Web Page Vulnerability (due 2026-10-23)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-96652/">CVE-2026-96652</a> Plex Media Server: Plex Media Server Server-Side Request Forgery (SSRF) Vulnerability (due 2026-11-03)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-110936/">CVE-2026-110936</a> Siemens Software Center: Siemens Software Center Uncontrolled Search Path Element Vulnerability (due 2026-11-03)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-106931/">CVE-2026-106931</a> EG Secure Solutions SiteGuard Server Edition: EG Secure Solutions SiteGuard Server Edition OS Command Injection Vulnerability (due 2026-10-23)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/ghsa/GHSA-hq85-5cpj-mr62/">uv&#x27;s bundled CA store trusts an emSign root whose intermediate CA keys are compromised</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-112403/">Pillow: Heap buffer overflow in ImagingJpegDecode</a></li><li><a href="https://erroneo.us/security/ghsa/GHSA-6q48-6c7w-9gw2/">certifi bundles emSign root CAs with compromised intermediate CA keys</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Security digest: October 19, 2026</title>
<link>https://erroneo.us/security/2026-10-19/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-19/</guid>
<pubDate>Mon, 19 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>2 critical advisories.</description>
<content:encoded><![CDATA[<p>2 critical advisories.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-111058/">Mercury: Unauthenticated Remote Code Execution via /api/kernels</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-111057/">Mercury: Unauthenticated Remote Code Execution in /api/terminals - access control bypass</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: ConnectWise Cloud Backup: App Credential Abused in M365</title>
<link>https://erroneo.us/security/briefs/connectwise-cloud-backup-skykick-m365-oauth-compromise/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/connectwise-cloud-backup-skykick-m365-oauth-compromise/</guid>
<pubDate>Fri, 16 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Attackers used ConnectWise Cloud Backup (SkyKick) app credentials to get Graph tokens in hundreds of Microsoft 365 tenants. Disable the apps and audit now.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> If any tenant you run or manage ever consented to a ConnectWise or SkyKick app, disable those apps and audit the tenant today; attackers used the vendor&#x27;s own credential to sign in as the app, so MFA did not stop them.</p><p><strong>Who must act:</strong> MSPs and organizations that use ConnectWise Cloud Backup (formerly SkyKick), Cloud Management or SaaS Security for Microsoft 365, including tenants that inherited these apps from a previous provider.<br><strong>Who can relax:</strong> Microsoft 365 tenants with no ConnectWise or SkyKick enterprise applications, and Google Workspace-only customers, with no evidence of exposure in the reporting so far.</p><ol><li>In every tenant, disable (do not delete) the ConnectWise Cloud Backup and ConnectWise/SkyKick Cloud Management enterprise apps by setting &#x27;Enabled for users to sign-in?&#x27; to No.</li><li>Remove any directory role a ConnectWise or SkyKick service principal holds that you did not grant, especially Global Administrator and Exchange Administrator.</li><li>Review client secrets and certificates on every enterprise app and app registration for anything added since Oct 13, 2026 that you did not create, and remove it.</li><li>Check mailboxes for new forwarding, inbox rules and delegated access, and review Conditional Access exclusions and federation trusts.</li><li>Export sign-in and audit logs now, especially on Entra ID Free with 7-day retention, and enable Microsoft Graph activity logs going forward.</li><li>Keep the apps disabled until ConnectWise issues formal reconnection instructions for your service.</li></ol><h2 id="what-happened">What happened</h2>
<p>An attacker got hold of an application credential for ConnectWise Cloud Backup, the Microsoft 365 backup service formerly called SkyKick, and used it to sign in to customer tenants as the backup app. According to the <a href="https://www.connectwise.com/company/trust/advisories" rel="noopener" class="ext">ConnectWise Trust Center advisory</a>, the company discovered the issue on October 14, 2026. On October 17 at 07:00 UTC it disabled seven application identities and revoked the certificates behind them. It also suspended Cloud Backup, SaaS Security and Cloud Management. ConnectWise says it completed a full reset of accounts and credentials in the affected environment on October 19, and phased restoration began on October 21.</p>
<p>The OAuth client-credentials flow involves no user, so MFA never came into play. <a href="https://www.huntress.com/blog/vendor-credential-enables-unauthorized-access" rel="noopener" class="ext">Huntress</a> reported token-issuing sign-ins from <code>144.172.64[.]128</code> on October 15 and confirmed unauthorized sign-ins in 162 tenants by 19:00 UTC on October 16. A later update counted almost 1,000 Entra tenants with sign-ins from that address, over 300 of them successful. In about 50 tenants it monitors, Huntress saw ConnectWise Cloud Management service principals grant themselves directory roles, mostly Exchange Administrator. In one tenant, the "Cloud Management - MS Teams" app made itself Global Administrator and added client secrets, set to expire in 2028, to two other apps. One of them was Huntress's own application. Huntress says it then removed that credential.</p>
<p>In an October 21 update, ConnectWise said that the evidence, including threat intelligence shared by Microsoft, points to a China state-aligned group. According to ConnectWise, the group used an openly available agentic AI framework to automate the operation. How the credential was stolen was not disclosed as of October 21, 2026.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Any Microsoft 365 tenant that consented to ConnectWise Cloud Backup (app ID <code>506e08f9-6e9a-4da4-942b-a099a03644ae</code>) or the related Cloud Management apps is at risk. In older tenants these may appear as "SkyKick Cloud Manager". The backup app's existing consent covers reading and writing mail, OneDrive and SharePoint files, and Teams chats. <a href="https://www.bleepingcomputer.com/news/security/hackers-breach-microsoft-365-tenants-via-connectwise-supply-chain-attack/" rel="noopener" class="ext">BleepingComputer</a> reports that Microsoft Threat Intelligence called it an "active supply-chain attack" that likely abused existing permissions, including <code>Directory.ReadWrite.All</code>. Many tenants are run by MSPs, so a single partner may have dozens of exposed customers.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, if those apps exist in your tenant, even if you no longer use the backup service. ConnectWise says backup archives "remain encrypted, isolated, and preserved, with no indication of compromise." It also says it cannot see into customer tenants, so it cannot tell you whether yours was touched. Containment on the vendor side stops new sign-ins with the old credential. It does not undo role assignments, secrets or inbox rules that were already added. ConnectWise also warns that previously issued tokens may stay usable until they expire.</p>
<p>The impact varied. <a href="https://www.todyl.com/blog/investigation-unauthorized-access-through-the-connectwise-cloud-backup-microsoft-365-app" rel="noopener" class="ext">Todyl</a> found only sign-ins in the tenants it reviewed: no new accounts, roles or secrets. Huntress saw persistence set up in some tenants within minutes. Reads made through the backup app are hard to tell apart from normal backup traffic, and Graph directory reads leave no audit record. Absence of evidence is weak comfort here.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Disable the apps in every tenant you manage. In Entra, open Enterprise applications, then Properties, and set "Enabled for users to sign-in?" to No, or run <code>Update-MgServicePrincipal -ServicePrincipalId &lt;id&gt; -AccountEnabled:$false</code>. Disable rather than delete, so consent and evidence survive.</li>
<li>Find every ConnectWise or SkyKick service principal, for example with <code>Get-MgServicePrincipal -Filter "appId eq '506e08f9-6e9a-4da4-942b-a099a03644ae'"</code>, plus the Cloud Management app IDs Huntress lists.</li>
<li>Remove directory roles you did not grant, then audit client secrets and certificates on all apps for additions since October 13.</li>
<li>Check Exchange for forwarding, inbox rules (<code>Get-InboxRule -Mailbox &lt;user&gt;</code>) and delegated access, and review Conditional Access exclusions and federation trusts.</li>
<li>Export logs before retention expires, and keep the apps disabled until ConnectWise issues reconnection instructions for your service.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>The default user sign-ins view will not show this activity. Open the <em>Service principal sign-ins</em> tab and filter on the Cloud Backup app ID. Flag <code>144.172.64.128</code>, any non-Microsoft address, and the user agents <code>Python-urllib/3.12</code>, <code>python-requests/2.31</code> and <code>kiota-dotnet</code>. In audit logs, search for "Add member to role", "Update application" and "Add service principal credentials" initiated by these apps. Huntress also lists <code>144.172.64.99</code>, <code>144.172.64.60</code> and <code>144.172.94.243</code> for password spraying. Any hit means you should treat mail, files and Teams data in that tenant as possibly exposed.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-10-13">Oct 13, 2026</time> — Huntress sees password spraying against law-firm tenants from the attacker's address range (Oct 13–14).</li>
<li><time datetime="2026-10-14">Oct 14, 2026</time> — ConnectWise discovers the problem and starts incident response.</li>
<li><time datetime="2026-10-15">Oct 15, 2026</time> — Service principals self-assign directory roles from 01:58 UTC, and token sign-ins from 144.172.64.128 sweep tenants in GUID order.</li>
<li><time datetime="2026-10-16">Oct 16, 2026</time> — ConnectWise posts its advisory, and Huntress and Todyl publish findings.</li>
<li><time datetime="2026-10-17">Oct 17, 2026</time> — ConnectWise disables seven app identities and suspends Cloud Backup, SaaS Security and Cloud Management (<a href="https://www.cybersecuritydive.com/news/connecwise-suspends-cloud-backup-hacker-microsoft-365/833345/" rel="noopener" class="ext">Cybersecurity Dive</a>).</li>
<li><time datetime="2026-10-19">Oct 19, 2026</time> — Full credential reset completed in the Cloud Backup environment.</li>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — Phased restoration begins, and ConnectWise attributes the attack to a China state-aligned group.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.connectwise.com/company/trust/advisories">ConnectWise Trust Center — Cloud Backup (formerly known as SkyKick) Service Interruption</a></li><li><a href="https://www.huntress.com/blog/vendor-credential-enables-unauthorized-access">Huntress — Vendor credential enables unauthorized access (ConnectWise Cloud Backup)</a></li><li><a href="https://www.todyl.com/blog/investigation-unauthorized-access-through-the-connectwise-cloud-backup-microsoft-365-app">Todyl — Investigation: unauthorized access through the ConnectWise Cloud Backup Microsoft 365 app</a></li><li><a href="https://www.bleepingcomputer.com/news/security/hackers-breach-microsoft-365-tenants-via-connectwise-supply-chain-attack/">BleepingComputer — Hackers breach Microsoft 365 tenants via ConnectWise supply-chain attack</a></li><li><a href="https://www.cybersecuritydive.com/news/connecwise-suspends-cloud-backup-hacker-microsoft-365/833345/">Cybersecurity Dive — ConnectWise suspends Cloud Backup service as hacker targets Microsoft 365 users</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Patch this week: Pillow 13.0.0: Critical Image-Parsing Memory Bugs Fixed</title>
<link>https://erroneo.us/security/briefs/pillow-13-0-0-security-release-image-parsing-rce/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/pillow-13-0-0-security-release-image-parsing-rce/</guid>
<pubDate>Fri, 16 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Pillow 13.0.0 fixes heap overflows in MPO/PSD, JPEG thumbnail and TIFF save paths plus an EPS Ghostscript flaw. No 12.x backport; needs Python 3.11+.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> If your service opens images that users or the internet supply, move to Pillow 13.0.0 this week; the worst bugs are memory corruption reachable from a crafted file, and reproducers are in the published advisories.</p><p><strong>Who must act:</strong> Any Python service that opens, thumbnails or re-saves untrusted images with Pillow, such as upload handlers, CMS and Django media pipelines, document converters and ML data loaders.<br><strong>Who can relax:</strong> Code that only processes trusted, locally generated images, and Pillow builds older than 11.0.0 for the MPO/PSD bug (they still need 13.0.0 for the others).</p><ol><li>Find every Pillow install: pip show pillow, or pip list | grep -i pillow, in each image and virtualenv.</li><li>Upgrade with pip install --upgrade &#x27;pillow&gt;=13.0.0&#x27;, then rebuild and redeploy containers.</li><li>Services still on Python 3.10 cannot install 13.0.0: plan the Python upgrade, and apply the workarounds meanwhile.</li><li>Until upgraded, call img.load() before thumbnail() or pass reducing_gap=None, and restrict Image.open(formats=[...]) to the formats you need, excluding EPS, PSD, MPO, DCX and MIC.</li><li>Never pass user-controlled filenames to Image.open(); open uploads as file objects or from server-generated paths.</li><li>Check distro python3-pil packages separately; Debian stable releases were still unfixed as of Oct 21, 2026.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 16, 2026, the Pillow project released <a href="https://pillow.readthedocs.io/en/stable/releasenotes/13.0.0.html" rel="noopener" class="ext">Pillow 13.0.0</a>. Its security section lists dozens of fixes, mostly in image decoders and encoders, with severities from critical to low. The repository advisories went public on October 17, and the CVE records followed on October 19 and 21. These four are the ones to read first:</p>
<ul>
<li><strong>CVE-2026-96639</strong> (<a href="https://github.com/python-pillow/Pillow/security/advisories/GHSA-v9pv-5gc8-w2m6" rel="noopener" class="ext">GHSA-v9pv-5gc8-w2m6</a>, CVSS 3.1 9.8). Multi-frame loaders can reuse native storage sized for a narrower frame after a later frame changes mode. Per the <a href="https://www.cve.org/CVERecord?id=CVE-2026-96639" rel="noopener" class="ext">CVE record</a>, crafted PSD, MPO, DCX or MIC files then write past the allocation. The record says the MPO path can also reach command execution "in demonstrated runtime-specific profiles". The reporter notes this is not universal RCE. It affects 11.0.0 through 12.3.0.</li>
<li><strong>CVE-2026-112403</strong> (<a href="https://github.com/python-pillow/Pillow/security/advisories/GHSA-8g5g-8vmr-9782" rel="noopener" class="ext">GHSA-8g5g-8vmr-9782</a>). <code>thumbnail()</code> calls <code>draft()</code>, which asks libjpeg for downscaled output. Lossless (SOF3) JPEGs ignore that request under libjpeg-turbo 3.x, so full-width rows overflow a smaller heap buffer. The advisory says official Pillow wheels bundle libjpeg-turbo 3.x. Builds on libjpeg-turbo 2.x or IJG libjpeg reject the file. Restricting <code>Image.open(..., formats=["JPEG"])</code> does not help, because the file is a valid JPEG. The report credits Anthropic's Claude for the find, validated by Ada Logics.</li>
<li><strong>CVE-2026-112393</strong> (<a href="https://github.com/python-pillow/Pillow/security/advisories/GHSA-332p-7hrc-92wf" rel="noopener" class="ext">GHSA-332p-7hrc-92wf</a>). Re-saving a TIFF to an in-memory target such as <code>io.BytesIO</code> can write attacker-supplied tag bytes past a heap buffer and leak stale heap bytes. Saves to real file paths are unaffected. The bug dates back to Pillow 2.0.0 (2013).</li>
<li><strong>CVE-2026-112900</strong> (<a href="https://github.com/python-pillow/Pillow/security/advisories/GHSA-w889-685w-c8fh" rel="noopener" class="ext">GHSA-w889-685w-c8fh</a>). For EPS files, Pillow passes the filename to Ghostscript unsanitized. A name beginning with <code>-</code> or <code>@</code> injects Ghostscript arguments even with <code>-dSAFER</code>. Command execution also requires an <code>@</code> argument file the attacker controls.</li>
</ul>
<p>Severity labels disagree between sources. The CVE records score the last three 9.2 (CVSS 4.0). Pillow's own advisories label the JPEG bug High and the EPS bug Moderate, and the release notes rank the EPS bug Medium.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Anyone running Pillow 12.3.0 or earlier on images they did not create. That includes upload handlers that generate thumbnails, CMS media libraries, PDF and document converters, and ML pipelines that read scraped datasets. Pillow 13.0.0 <a href="https://pypi.org/project/Pillow/13.0.0/" rel="noopener" class="ext">requires Python 3.11 or later</a>, and PyPI has no 12.x security release, so Python 3.10 services have no upstream fix. As of October 21, the <a href="https://security-tracker.debian.org/tracker/CVE-2026-112403" rel="noopener" class="ext">Debian tracker</a> shows bookworm, trixie and forky still vulnerable, with only sid fixed (13.0.0-1).</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, if untrusted images reach Pillow. Each bug fires from file contents during routine calls such as <code>open()</code>, <code>seek()</code>, <code>thumbnail()</code> and <code>save()</code>, not exotic APIs. The JPEG bug needs no special format at all. Reproducers are attached to the public advisories, and CISA's enrichment of CVE-2026-112393 records a proof of concept. No in-the-wild exploitation was reported as of October 21, 2026, and none of these CVEs is in CISA KEV. The EPS bug is narrower: it needs an attacker-influenced filename, and Ghostscript must be installed.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Inventory: <code>pip show pillow</code> in every virtualenv and image, and <code>pip-audit</code> where you use it.</li>
<li>Upgrade: <code>pip install --upgrade 'pillow&gt;=13.0.0'</code>, pin it in requirements or lock files, and rebuild containers. Review 13.0.0's breaking changes first, such as the dropped Python 3.10 support and the removed <code>Image._show</code>.</li>
<li>Until you can upgrade, per the JPEG advisory, call <code>img.load()</code> before <code>thumbnail()</code> or pass <code>reducing_gap=None</code>. Open uploads with an explicit <code>formats=</code> list that leaves out EPS, PSD, MPO, DCX and MIC unless you need them.</li>
<li>Never pass user-supplied filenames to <code>Image.open()</code>. Open a file object or a server-generated path instead.</li>
<li>Run image decoding in a separate, low-privilege worker without network egress, so a memory-corruption bug stays contained.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Check versions with <code>python3 -c "import PIL; print(PIL.__version__)"</code>. Check the bundled JPEG library with <code>features.version('libjpeg_turbo')</code> from the <a href="https://pillow.readthedocs.io/en/stable/reference/features.html" rel="noopener" class="ext">features module</a>. In logs, look for image workers that segfault or abort with glibc heap errors such as <code>malloc(): corrupted top size</code>, especially if one upload triggers it repeatedly. Look for Ghostscript (<code>gs</code>) or shell processes spawned by Python workers that should not run them. Treat a worker that crashed on attacker-supplied files as possibly compromised, and rotate the secrets it could read.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-10-16">Oct 16, 2026</time> — Pillow 13.0.0 is released on PyPI.</li>
<li><time datetime="2026-10-17">Oct 17, 2026</time> — Pillow publishes the repository security advisories.</li>
<li><time datetime="2026-10-19">Oct 19, 2026</time> — CVE-2026-112393, CVE-2026-112403 and CVE-2026-112900 are published.</li>
<li><time datetime="2026-10-20">Oct 20, 2026</time> — GitHub's advisory database lists the first critical advisory, with more following Oct 21.</li>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — CVE-2026-96639 is published.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://pillow.readthedocs.io/en/stable/releasenotes/13.0.0.html">Pillow — 13.0.0 release notes (Security)</a></li><li><a href="https://github.com/python-pillow/Pillow/security/advisories/GHSA-v9pv-5gc8-w2m6">Pillow / GitHub — GHSA-v9pv-5gc8-w2m6: multi-frame loaders reuse stale native image storage (CVE-2026-96639)</a></li><li><a href="https://github.com/python-pillow/Pillow/security/advisories/GHSA-8g5g-8vmr-9782">Pillow / GitHub — GHSA-8g5g-8vmr-9782: heap buffer overflow in ImagingJpegDecode (CVE-2026-112403)</a></li><li><a href="https://github.com/python-pillow/Pillow/security/advisories/GHSA-332p-7hrc-92wf">Pillow / GitHub — GHSA-332p-7hrc-92wf: heap buffer overflow in _tiffWriteProc (CVE-2026-112393)</a></li><li><a href="https://github.com/python-pillow/Pillow/security/advisories/GHSA-w889-685w-c8fh">Pillow / GitHub — GHSA-w889-685w-c8fh: argument injection in Ghostscript call (CVE-2026-112900)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-96639">CVE record — CVE-2026-96639</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-112403">CVE record — CVE-2026-112403</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-112393">CVE record — CVE-2026-112393</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-112900">CVE record — CVE-2026-112900</a></li><li><a href="https://pypi.org/project/Pillow/13.0.0/">PyPI — Pillow 13.0.0</a></li><li><a href="https://pillow.readthedocs.io/en/stable/reference/features.html">Pillow docs — features module (libjpeg_turbo)</a></li><li><a href="https://security-tracker.debian.org/tracker/CVE-2026-112403">Debian security tracker — CVE-2026-112403</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: October 16, 2026</title>
<link>https://erroneo.us/security/2026-10-16/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-16/</guid>
<pubDate>Fri, 16 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>2 editorial briefs, 2 known exploited (cisa kev) additions and 2 critical advisories.</description>
<content:encoded><![CDATA[<p>2 editorial briefs, 2 known exploited (cisa kev) additions and 2 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-102764/">CVE-2026-102764</a> BeyondTrust Remote Support: BeyondTrust Remote Support Authentication Bypass by Spoofing Vulnerability (due 2026-10-19)</li><li><a href="https://erroneo.us/security/cve/CVE-2025-61624/">CVE-2025-61624</a> Fortinet Multiple Products: Fortinet Multiple Products Path Traversal Vulnerability (due 2026-10-19)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-105192/">LMCache: Remote code execution via unsafe deserialization in multiprocess mode transport</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-96620/">Claude Agent SDK: Argument Injection via resume Option Allows Arbitrary Command Execution</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: BeyondTrust Remote Support CVE-2026-102764 Zero-Day</title>
<link>https://erroneo.us/security/briefs/beyondtrust-remote-support-cve-2026-102764-zero-day/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/beyondtrust-remote-support-cve-2026-102764-zero-day/</guid>
<pubDate>Thu, 15 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>China-linked spies exploited an unauthenticated BeyondTrust Remote Support flaw since August. Self-hosted 26.2.3 and older need BT26-05-RS now, then a hunt.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> If you run a self-hosted BeyondTrust Remote Support appliance, patch it today and assume it may already be compromised; an espionage group used this as a zero-day for about seven weeks.</p><p><strong>Who must act:</strong> Organizations running self-hosted BeyondTrust Remote Support (any version through 26.2.3), and self-hosted Privileged Remote Access as a precaution.<br><strong>Who can relax:</strong> Teams that do not use BeyondTrust; SaaS customers need no patch (BeyondTrust patched them by October 9) but should still review admin changes and stored credentials.</p><ol><li>Inventory every Remote Support and Privileged Remote Access deployment, whether it is SaaS or self-hosted, and its version.</li><li>Apply BT26-05-RS to self-hosted Remote Support today (upgrade to 24.3.1 or later first if older), and confirm it in the /appliance interface.</li><li>Preserve logs and a snapshot before patching or rebooting any appliance that was internet-reachable while unpatched.</li><li>Hunt for the published indicators; rebuild from a clean, patched image if compromise is confirmed or cannot be ruled out.</li><li>After patching or rebuilding, rotate every credential stored in or brokered by the appliance, and review admin, Jump Item and Team permission changes.</li><li>Apply the precautionary patch to self-hosted Privileged Remote Access.</li><li>Forward appliance syslog to an external SIEM and alert on permission changes and forwarding gaps.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 15, 2026, BeyondTrust disclosed <a href="https://www.cve.org/CVERecord?id=CVE-2026-102764" rel="noopener" class="ext">CVE-2026-102764</a> (advisory <a href="https://www.beyondtrust.com/trust-center/security-advisories/bt26-05" rel="noopener" class="ext">BT26-05</a>) in Remote Support, the help-desk remote access product formerly called Bomgar. According to the vendor's CVE record, internal messaging components "did not adequately validate the origin of the messages" they received, which could let an attacker "perform file operations on the appliance". No login or user interaction is needed. Google's threat intelligence team says exploitation "results in the arbitrary upload of files." BeyondTrust scores it CVSS 4.0 9.3, and <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-102764" rel="noopener" class="ext">NVD</a> scores it CVSS 3.1 9.8. CISA added it to <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-102764" rel="noopener" class="ext">KEV</a> on October 16 with an October 19 deadline and rated it automatable.</p>
<p>This was a zero-day. <a href="https://www.rapid7.com/blog/post/etr-cve-2026-102764-critical-beyondtrust-remote-support-authentication-bypass-exploited-in-the-wild" rel="noopener" class="ext">Rapid7</a>, summarizing BeyondTrust, reports two known compromises starting August 29, one on a BeyondTrust-hosted instance and one on a self-hosted appliance. <a href="https://cloud.google.com/blog/topics/threat-intelligence/armory-castle-exploits-beyondtrust" rel="noopener" class="ext">Google Threat Intelligence Group and Mandiant</a> attribute the activity to ARMORY CASTLE (formerly UNC5221), a suspected PRC-nexus espionage actor. CrowdStrike tracks the same actor as Warp Panda, per <a href="https://bleepingcomputer.com/news/security/beyondtrust-patches-zero-day-exploited-in-attacks-since-august" rel="noopener" class="ext">BleepingComputer</a>. After getting in, the attackers did the following:</p>
<ul>
<li>dropped the SAWFLY PHP web shell</li>
<li>copied <code>/bin/sh</code> to a root-owned SUID binary</li>
<li>dumped the appliance's credential vault with BeyondTrust's own <code>bt-secrets</code> tool</li>
<li>persisted through the sudoers template</li>
<li>exposed a SOCKS5-over-WebSocket tunneler, BARECLAW, through a modified HAProxy route</li>
<li>deleted logs</li>
<li>raised Jump Item and Team permissions to Administrator, then used support sessions to pull files from user desktops</li>
</ul>

<h2 id="who-is-affected">Who is affected</h2>
<p>Every Remote Support version through 26.2.3 is affected. Self-hosted appliances on 24.3.1 through 26.2.3 need the BT26-05-RS patch. Older appliances must first be upgraded to 24.3.1 or later. BeyondTrust says it patched all Remote Support SaaS customers by October 9 (BleepingComputer reports October 8). Privileged Remote Access (PRA) shares the affected code. BeyondTrust has not found a way to exploit it there, but released a PRA patch as a precaution and recommends self-hosted PRA customers apply it now. PRA SaaS was also patched. BleepingComputer cites Shadowserver tracking over 1,400 internet-exposed Remote Support instances.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>If you run self-hosted Remote Support, yes, today, and patching is only half the job. These appliances face the internet by design. They hold credentials for the machines your help desk supports and can open sessions into them, so a compromised appliance is a route into the whole fleet. The attacker had roughly seven weeks before disclosure, and Mandiant found logs deleted throughout the intrusion. Rapid7 stresses that patching does not remove persistence. This is also the second Remote Support flaw in KEV this year, after CVE-2026-1731 in February.</p>
<ul>
<li><strong>Self-hosted Remote Support:</strong> patch now, then investigate as if compromised.</li>
<li><strong>Self-hosted PRA:</strong> apply the precautionary patch this week.</li>
<li><strong>SaaS customers:</strong> nothing to patch, but one known victim was a hosted instance. Review admin and permission changes and rotate vault credentials.</li>
<li><strong>No BeyondTrust:</strong> no exposure.</li>
</ul>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>List every Remote Support and PRA deployment, whether it is SaaS or self-hosted, and its version. Check the version in the <code>/appliance</code> admin interface.</li>
<li>Before touching an appliance that was reachable while unpatched, export logs and take a snapshot. Isolate it if anything looks wrong.</li>
<li>Apply BT26-05-RS (upgrade first if you are below 24.3.1), and confirm it in <code>/appliance</code>. Patch manually if automatic updates are off, as the <a href="https://cyber.gc.ca/en/alerts-advisories/al26-025-critical-vulnerability-impacting-beyondtrust-remote-support-cve-2026-102764" rel="noopener" class="ext">Canadian Cyber Centre</a> also advises.</li>
<li>If compromise is confirmed or cannot be ruled out, rebuild from a clean, fully patched image.</li>
<li>Only after patching or rebuilding, rotate every credential stored in or brokered by the appliance, including Vault and integrated Password Safe or PRA credentials. Review admin accounts and downstream support sessions.</li>
<li>Forward appliance syslog to an external SIEM over TLS. Turning forwarding on now cannot recover evidence that was already deleted.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Google published file indicators: <code>mangoapi.php</code> (SAWFLY, SHA-256 <code>dc14e215269a93fdbc4c1a80b984c23faf7af0911c6dbb85309796a6f2ae95fb</code>) and <code>ingredi_ws</code> (BARECLAW, <code>1f19b9a27d79c11bda00a1e8faf74a7fdd683d38ccef1b60df2fd0307e3aa462</code>). Other artifacts include <code>/usr/bin/dbus-authd</code>, <code>/home/bomgar/sbin/post_boot.d/zz-root-persist</code>, a <code>NOPASSWD: ALL</code> line in <code>/ns/config/sudoers.template</code>, a <code>/uidchanarge</code> route to <code>127.0.0.1:19800</code> in <code>/ns/config/haproxy.conf</code>, and staging POSTs to an <code>app_84304470%2Ephp</code> path. In logs, look for <code>user_changed</code> events raising Jump Item or Team roles, admin sessions from residential or commercial VPN addresses, and gaps in syslog forwarding bounded by a single session. BeyondTrust warns that finding no known indicators does not prove an appliance is clean.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-08-29">Aug 29, 2026</time> — First known exploitation, against one hosted and one self-hosted instance.</li>
<li><time datetime="2026-09-28">Sep 28, 2026</time> — BeyondTrust discovers and contains the hosted compromise.</li>
<li><time datetime="2026-09-30">Sep 30, 2026</time> — Mandiant shares findings from the self-hosted investigation.</li>
<li><time datetime="2026-10-09">Oct 9, 2026</time> — BeyondTrust says all Remote Support and PRA SaaS customers are patched.</li>
<li><time datetime="2026-10-15">Oct 15, 2026</time> — BT26-05 and the CVE are published, along with Google's ARMORY CASTLE report.</li>
<li><time datetime="2026-10-16">Oct 16, 2026</time> — CISA adds the CVE to KEV. The Canadian Cyber Centre issues AL26-025.</li>
<li><time datetime="2026-10-19">Oct 19, 2026</time> — CISA's federal deadline. Rapid7 publishes its analysis.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.beyondtrust.com/trust-center/security-advisories/bt26-05">BeyondTrust — BT26-05 security advisory</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-102764">CVE record — CVE-2026-102764</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-102764">NVD — CVE-2026-102764</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-102764">CISA — Known Exploited Vulnerabilities: CVE-2026-102764</a></li><li><a href="https://cloud.google.com/blog/topics/threat-intelligence/armory-castle-exploits-beyondtrust">Google Threat Intelligence Group / Mandiant — ARMORY CASTLE Exploits BeyondTrust</a></li><li><a href="https://www.rapid7.com/blog/post/etr-cve-2026-102764-critical-beyondtrust-remote-support-authentication-bypass-exploited-in-the-wild">Rapid7 — CVE-2026-102764: Critical BeyondTrust Remote Support Authentication Bypass Exploited in the Wild</a></li><li><a href="https://cyber.gc.ca/en/alerts-advisories/al26-025-critical-vulnerability-impacting-beyondtrust-remote-support-cve-2026-102764">Canadian Centre for Cyber Security — AL26-025: Critical vulnerability impacting BeyondTrust Remote Support</a></li><li><a href="https://bleepingcomputer.com/news/security/beyondtrust-patches-zero-day-exploited-in-attacks-since-august">BleepingComputer — BeyondTrust patches zero-day exploited in attacks since August</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Check exposure: Siemens Software Center DLL Flaw Abused in ClickFix Attacks</title>
<link>https://erroneo.us/security/briefs/siemens-software-center-dll-sideloading-cve-2026-110936/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/siemens-software-center-dll-sideloading-cve-2026-110936/</guid>
<pubDate>Thu, 15 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Signed Siemens Software Center before 4.0.9.8 loads attacker DLLs; abused by ClickFix malware, in CISA KEV Oct 20. Installs auto-update; hunt for the IoCs.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Check exposure.</strong> Siemens users get the fix automatically, but the real threat is attackers shipping their own signed, older copy as a malware loader, so Windows defenders should block the indicators and hunt rather than rely on patching.</p><p><strong>Who must act:</strong> Security teams with Windows endpoints, since attackers bring the vulnerable signed program themselves, and organizations that run Siemens Software Center for Siemens engineering software.<br><strong>Who can relax:</strong> Teams with no Windows endpoints; Siemens Software Center users whose installs have updated to 4.0.9.8 or later and whose hunts find none of the indicators.</p><ol><li>Start Siemens Software Center on every machine that has it so it auto-updates to 4.0.9.8 or later, and confirm the version.</li><li>Block 96.62.218[.]59, wizardexpensive[.]com and 2.27.248[.]127 on firewalls, proxies and DNS resolvers.</li><li>Hunt for SiemensSoftwareCenter.exe running from AppData\Local\Programs or launched by msiexec, and for Siemens Software Center startup entries on PCs that never had it.</li><li>Detect on folder and behavior, not on the Siemens file hash; the abused executable is genuine and validly signed.</li><li>Train users never to paste commands from a web page into Win+R, the Run box or PowerShell.</li></ol><h2 id="what-happened">What happened</h2>
<p>Siemens Software Center is the Windows tool that downloads, installs, activates and updates Siemens software. On October 15, 2026, Siemens published <a href="https://cert-portal.siemens.com/productcert/html/ssa-580366.html" rel="noopener" class="ext">SSA-580366</a>, a DLL sideloading flaw tracked as CVE-2026-110936 (CWE-427). Versions before 4.0.9.8 load DLLs from an uncontrolled search path. Anyone who can place a crafted DLL where the program looks can run code inside that trusted, signed process. Jose Oregon of Huntress Labs reported the issue. Siemens scores it CVSS 4.0 8.4 and CVSS 3.1 6.7. The 3.1 vector assumes local access with high privileges, which keeps the score in the medium range.</p>
<p>The advisory was updated on October 17 with the remediation and again on October 19 with a link to a Siemens <a href="https://productcert.siemens.com/news/2026/10/19/active-exploitation-of-cve-2026-110936-in-siemens-software-center/" rel="noopener" class="ext">blog post confirming active exploitation</a>. According to Siemens, attackers took a genuine, validly signed copy of version 3.5.8.7, then the latest release, and shipped it next to their own malicious DLLs in a bundle. When the program started, it loaded the attackers' files without checking them. Siemens says its program was not modified and that "No Siemens system, product or update channel was breached to our knowledge." It attributes the activity to the Romulus multi-platform ClickFix campaign. ClickFix lures trick users into pasting a command into the Windows Run box or PowerShell. CISA added the CVE to <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-110936" rel="noopener" class="ext">KEV</a> on October 20 in a <a href="https://www.cisa.gov/news-events/alerts/2026/10/20/cisa-adds-six-known-exploited-vulnerabilities-catalog" rel="noopener" class="ext">six-CVE batch</a>, with a November 3 federal deadline.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>All Siemens Software Center versions before 4.0.9.8 are affected, per the advisory and the <a href="https://www.cve.org/CVERecord?id=CVE-2026-110936" rel="noopener" class="ext">CVE record</a>. Existing installations update automatically the next time they start. The bigger point is that this campaign does not need you to run Siemens software at all. The attackers bring the vulnerable signed executable with them, so any Windows PC whose user can be talked into running their command is a potential target. <a href="https://www.securityweek.com/siemens-software-center-vulnerability-exploited-in-clickfix-malware-attacks/" rel="noopener" class="ext">SecurityWeek</a> notes that Huntress had earlier tracked a ClickFix campaign that abused signed Canon and Stardock programs the same way, in at least 40 incidents. Forescout found Romulus infrastructure on the server Siemens identified as the bundle's distribution point. Neither report names Siemens Software Center itself.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Patching here is easy and mostly automatic, but it is not the main defense. A fixed 4.0.9.8 on your engineers' laptops does not stop an attacker from dropping an old, still-signed 3.5.8.7 into a user's AppData folder. Siemens itself tells defenders to "Detect on folder and behaviour, not on the Siemens file fingerprint." In practice:</p>
<ul>
<li><strong>SOC and endpoint teams:</strong> load the indicators and behavior hunts this week. This is a live malware delivery chain.</li>
<li><strong>Siemens Software Center users:</strong> launch it once so it updates, and confirm the version.</li>
<li><strong>Everyone else:</strong> no patch to apply. ClickFix awareness and application control matter more than this CVE.</li>
</ul>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>On machines with Siemens Software Center, start the application to trigger the update to 4.0.9.8 or later, then check the version in the app or in installed programs.</li>
<li>Block <code>96.62.218[.]59</code>, <code>wizardexpensive[.]com</code> and <code>2.27.248[.]127</code> on firewalls, proxies and DNS resolvers. Siemens lists the first two as active payload hosting and command-and-control infrastructure.</li>
<li>Hunt with EDR for <code>SiemensSoftwareCenter.exe</code> running from <code>AppData\Local\Programs</code> or started by <code>msiexec.exe</code>, and for "Siemens Software Center" startup items or scheduled tasks on PCs that never had it installed.</li>
<li>If you find it, isolate the PC, stop the process first, then remove the startup entry and task and reset the user's passwords, following Siemens' order of operations.</li>
<li>Remind users that a real "I am not a robot" check never asks them to paste commands into Win+R or PowerShell.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Siemens lists these warning signs: an <code>SM Software Provisioning Service</code> folder under <code>AppData\Local\Programs</code>, an <code>FTSuite</code> folder containing <code>ftc.uml</code> under <code>AppData\Local</code>, and files named <code>activate.bak</code> or <code>statinfosta.DB</code> next to <code>SiemensSoftwareCenter.exe</code>. Also check for connections to the IP addresses and domain above, including the now-inactive distribution server, because PCs that downloaded the bundle earlier may still be infected. File hashes help for the attacker-supplied pieces: <code>AllMyBasic.msi</code> (SHA-256 <code>f4d7c532…92e4a</code>) and <code>archive.dll</code> (<code>3fdcc7d7…cf491</code>; full hashes are in the detection list). The Siemens executable itself is genuine, so a hash match on it means nothing. Its location and parent process are what matter.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-10-15">Oct 15, 2026</time> — Siemens publishes SSA-580366, and the CVE is published.</li>
<li><time datetime="2026-10-17">Oct 17, 2026</time> — The advisory is updated with the 4.0.9.8 remediation.</li>
<li><time datetime="2026-10-19">Oct 19, 2026</time> — Siemens confirms active exploitation and publishes indicators.</li>
<li><time datetime="2026-10-20">Oct 20, 2026</time> — CISA adds CVE-2026-110936 to KEV.</li>
<li><time datetime="2026-11-03">Nov 3, 2026</time> — Federal remediation deadline.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://cert-portal.siemens.com/productcert/html/ssa-580366.html">Siemens ProductCERT — SSA-580366: DLL Sideloading Vulnerability in Siemens Software Center</a></li><li><a href="https://productcert.siemens.com/news/2026/10/19/active-exploitation-of-cve-2026-110936-in-siemens-software-center/">Siemens ProductCERT — Active Exploitation of CVE-2026-110936 in Siemens Software Center (Oct 19, 2026)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-110936">CVE record — CVE-2026-110936</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-110936">NVD — CVE-2026-110936</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-110936">CISA — Known Exploited Vulnerabilities: CVE-2026-110936</a></li><li><a href="https://www.cisa.gov/news-events/alerts/2026/10/20/cisa-adds-six-known-exploited-vulnerabilities-catalog">CISA — CISA Adds Six Known Exploited Vulnerabilities to Catalog (Oct 20, 2026)</a></li><li><a href="https://www.securityweek.com/siemens-software-center-vulnerability-exploited-in-clickfix-malware-attacks/">SecurityWeek — Siemens Software Center Vulnerability Exploited in ClickFix Malware Attacks</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: October 15, 2026</title>
<link>https://erroneo.us/security/2026-10-15/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-15/</guid>
<pubDate>Thu, 15 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>2 editorial briefs, 1 known exploited (cisa kev) addition and 6 critical advisories.</description>
<content:encoded><![CDATA[<p>2 editorial briefs, 1 known exploited (cisa kev) addition and 6 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-21589/">CVE-2026-21589</a> Atlassian Multiple Products: Atlassian Multiple Products Files or Directories Accessible to External Parties Vulnerability (due 2026-10-18)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-104252/">Vitess vttablet /twopcz reflected XSS</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-102989/">TanStack Router: Unauthenticated reflected XSS in TanStack Start server-function responses</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-102748/">Dgraph: Zero Unauthenticated HTTP Admin removeNode Denial of Service</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-77459/">Argo CD: AppProject destination-namespace and resource restrictions bypassed by PreDelete/PostDelete resource hooks</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-77524/">KEDA: Privilege escalation from namespace admin to cluster admin via KEDA TriggerAuthentication</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-94603/">Podman: The `podman run` command can be instructed to disable almost all sandboxing by image annotation</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Patch this week: Next.js: Two Critical Unauthenticated RCEs (Oct 14)</title>
<link>https://erroneo.us/security/briefs/nextjs-use-cache-image-optimizer-rce/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/nextjs-use-cache-image-optimizer-rce/</guid>
<pubDate>Wed, 14 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Next.js 16.4.1 and 15.5.28 fix unauthenticated RCE in &#x27;use cache&#x27; typed arrays and SVG image optimization via sharp/librsvg. Upgrade this week.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> Self-hosted Next.js apps should move to 16.4.1 or 15.5.28 this week; both RCEs have preconditions and no exploitation is reported, but the fix is a routine minor upgrade.</p><p><strong>Who must act:</strong> Teams running self-hosted Next.js on glibc Linux with the built-in Image Optimization API, and any Next.js 16 App Router app using Cache Components.<br><strong>Who can relax:</strong> Static exports with no Next.js server, apps on Alpine/musl without the image optimizer in play, and apps not using &#x27;use cache&#x27; still should upgrade but need not drop everything.</p><ol><li>Upgrade: npm install next@16.4.1 (16.x) or next@15.5.28 (15.x), then rebuild and redeploy.</li><li>Confirm the resolved sharp is 0.35.5 or later: npm ls sharp.</li><li>If you use React Server Components outside Next.js, upgrade react-server-dom-* to 19.0.9/19.1.10/19.2.9/19.3.1.</li><li>If you are stuck on an older Next.js line, force sharp &gt;= 0.35.5 via overrides/resolutions and patch system librsvg.</li><li>Rebuild container images so the new node_modules and OS libraries actually ship.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 14, 2026, Vercel shipped an out-of-band <a href="https://nextjs.org/blog/nextjs-security-update-october-14-2026" rel="noopener" class="ext">Next.js security update</a>, versions 16.4.1 (Active LTS) and 15.5.28 (Maintenance LTS). It fixes two critical unauthenticated remote code execution bugs and one high-severity denial of service, all rooted in upstream dependencies. Vercel had <a href="https://nextjs.org/blog/upcoming-nextjs-security-update-october-2026" rel="noopener" class="ext">pre-announced the release on October 8</a>. Two of the fixes were held back from the September release while upstream projects coordinated.</p>
<ul>
<li><strong>GHSA-673q-mjm6-r5xr</strong> (CVSS 4.0 9.5). In App Router apps that use Cache Components, a <code>use cache</code> function that returns multiple typed arrays can be abused for unauthenticated RCE, per <a href="https://github.com/vercel/next.js/security/advisories/GHSA-673q-mjm6-r5xr" rel="noopener" class="ext">the advisory</a>. The root cause is in React's Flight protocol, tracked as <a href="https://github.com/react/react/security/advisories/GHSA-xqc2-xf4c-x3h3" rel="noopener" class="ext">GHSA-xqc2-xf4c-x3h3</a> in <code>react-server-dom-webpack</code>, <code>-turbopack</code> and <code>-parcel</code>. It affects Next.js 16.0.0 through 16.4.0. There is no workaround, and Vercel says to upgrade "even if your application does not have similar functions."</li>
<li><strong>CVE-2026-96889 / GHSA-2464-fhr4-w9xw</strong> (CVSS 4.0 9.5). A memory bug in an upstream library used by the Image Optimization API can lead to RCE when Next.js runs on glibc-based Linux, per <a href="https://github.com/vercel/next.js/security/advisories/GHSA-2464-fhr4-w9xw" rel="noopener" class="ext">the advisory</a>. The <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-96889" rel="noopener" class="ext">CVE record</a> describes a use-after-free in librsvg, triggered by SVG documents with nested XIncludes and duplicate entity declarations. Next.js reaches librsvg through <code>sharp</code>. Affected versions run from 10.0.0 through 15.5.27 and 16.x through 16.4.0. The fix requires <code>sharp</code> 0.35.5 or later.</li>
<li><strong>GHSA-p3m5-59mp-jv5r</strong> (High). Crafted requests to App Router apps with at least one Server Action can pin the CPU and stall the process.</li>
</ul>

<h2 id="who-is-affected">Who is affected</h2>
<p>The image-optimizer bug has the widest reach. <code>next/image</code> and the <code>/_next/image</code> endpoint are on by default in almost every self-hosted Next.js app, across a decade of versions. The <code>use cache</code> bug is limited to Next.js 16 apps that opted into Cache Components. Apps built with other frameworks on React Server Components, such as Waku, Parcel or custom setups, need the <code>react-server-dom-*</code> 19.x patch releases.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p><strong>Patch this week. This is not React2Shell again.</strong> Both RCEs carry the CVSS "attack requirements present" flag. The cache bug needs a specific return shape that React calls "rare." The image bug needs glibc Linux and an SVG the optimizer will process. Neither advisory reports exploitation or a public exploit, and neither is in CISA KEV. Still, the December 2025 React2Shell bug went from patch to mass exploitation within hours, and attackers now diff React and Next.js releases closely. The upgrade is a patch-level bump on the same minor line, so there is little reason to wait.</p>
<ul>
<li><strong>Vercel-hosted apps:</strong> the advisories do not say these are protected automatically. Redeploy on the fixed version anyway.</li>
<li><strong>Alpine/musl images:</strong> the advisory names glibc as the condition for the image RCE. Upgrade for the other issues regardless.</li>
<li><strong>Older lines (14.x and earlier):</strong> no patched Next.js release is listed. Force a fixed <code>sharp</code> and plan a migration.</li>
</ul>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Upgrade: <code>npm install next@16.4.1</code> or <code>npm install next@15.5.28</code> (or the pnpm/yarn equivalent). Commit the lockfile.</li>
<li>Verify the tree with <code>npm ls next sharp react-server-dom-webpack</code>. <code>sharp</code> must be 0.35.5 or later.</li>
<li>On older Next.js lines, add an <code>overrides</code> (npm) or <code>resolutions</code> (yarn) entry for <code>"sharp": "^0.35.5"</code>, and update the OS <code>librsvg</code> package where distros ship fixes.</li>
<li>Rebuild and redeploy containers. A patched lockfile in Git does not patch a running image.</li>
<li>If you can't deploy quickly, consider rejecting SVG sources at <code>/_next/image</code> with a WAF or reverse-proxy rule as a stopgap. This is our suggestion, not vendor guidance.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>No exploitation has been reported. To check anyway:</p>
<ul>
<li>Look for crashes or restarts of the Next.js server that line up with <code>/_next/image</code> requests for SVGs.</li>
<li>Look for unexpected child processes (<code>sh</code>, <code>curl</code>) spawned by <code>node</code>, and for new outbound connections from app servers.</li>
<li>If anything looks wrong, rotate the secrets in the server's environment, such as database URLs and API keys.</li>
</ul>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-23">Sep 23, 2026</time> — CVE-2026-96889 (librsvg) is published.</li>
<li><time datetime="2026-09-30">Sep 30, 2026</time> — The Next.js September security release ships. Two fixes are postponed for upstream coordination.</li>
<li><time datetime="2026-10-08">Oct 8, 2026</time> — Vercel pre-announces an out-of-band update with two critical issues and one high.</li>
<li><time datetime="2026-10-14">Oct 14, 2026</time> — Next.js 16.4.1 and 15.5.28 and the React 19.x patches are released, with advisories published.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://nextjs.org/blog/nextjs-security-update-october-14-2026">Next.js — Security Update for Upstream Vulnerabilities (Oct 14, 2026)</a></li><li><a href="https://nextjs.org/blog/upcoming-nextjs-security-update-october-2026">Next.js — Upcoming Next.js Security Update (Oct 8, 2026)</a></li><li><a href="https://github.com/vercel/next.js/security/advisories/GHSA-673q-mjm6-r5xr">Vercel / GitHub — GHSA-673q-mjm6-r5xr: RCE in &#x27;use cache&#x27; functions returning typed arrays</a></li><li><a href="https://github.com/vercel/next.js/security/advisories/GHSA-2464-fhr4-w9xw">Vercel / GitHub — GHSA-2464-fhr4-w9xw: RCE in Image Optimization API with SVG (CVE-2026-96889)</a></li><li><a href="https://github.com/react/react/security/advisories/GHSA-xqc2-xf4c-x3h3">React / GitHub — GHSA-xqc2-xf4c-x3h3: RCE in React Server Components</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-96889">NVD — CVE-2026-96889 (librsvg use-after-free)</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Patch this week: PAN-OS CVE-2026-0322: Exploited Management-Interface RCE</title>
<link>https://erroneo.us/security/briefs/pan-os-cve-2026-0322-management-interface-rce/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/pan-os-cve-2026-0322-management-interface-rce/</guid>
<pubDate>Wed, 14 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Authenticated root RCE in the PAN-OS management interface, exploited and in CISA KEV. Fixed in 12.2.4, 11.2.16 and hotfixes. Patch, and lock down mgmt access.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> Patch every PAN-OS firewall and Panorama this week, and today if the management interface is reachable from the internet; the bug needs an admin login but is already being exploited.</p><p><strong>Who must act:</strong> Anyone running PAN-OS 10.2 through 12.2 on PA-Series or VM-Series firewalls or on Panorama, most urgently where the management web interface is exposed beyond a trusted admin network.<br><strong>Who can relax:</strong> Cloud NGFW and Prisma Access customers (not affected), and teams whose management interface is reachable only from a locked-down jump host can patch on a normal but prompt cycle.</p><ol><li>List every PA-Series, VM-Series and Panorama instance and its PAN-OS version (show system info).</li><li>Upgrade to the fixed release or hotfix for your train from the vendor table, starting with any device whose management interface is internet-reachable.</li><li>Restrict the management interface to trusted internal addresses or a single jump host; remove any internet exposure.</li><li>Review admin accounts and rotate administrator passwords and API keys, since exploitation requires valid admin credentials.</li><li>If you cannot upgrade immediately and have Threat Prevention, enable Threat IDs 510046 and 510047 with the vendor&#x27;s management-traffic prerequisites (limited coverage only).</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 14, 2026, Palo Alto Networks published <a href="https://security.paloaltonetworks.com/CVE-2026-0322" rel="noopener" class="ext">CVE-2026-0322</a>, a code injection flaw (CWE-94) in the PAN-OS management web interface. An attacker who can reach that interface and holds administrator credentials can run arbitrary code as root on the firewall. The vendor found the bug internally. Its advisory states that "very limited exploitation has been observed" and lists three IP addresses linked to exploit attempts. CISA added the CVE to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-0322" rel="noopener" class="ext">Known Exploited Vulnerabilities catalog</a> the same day, with a federal remediation deadline of October 17.</p>
<p>The vendor scores it CVSS 4.0 8.6 (High) when the interface is internet-reachable and 8.5 when it is limited to an adjacent network. It sets its suggested urgency to "highest". <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-0322" rel="noopener" class="ext">NVD</a> rates it CVSS 3.1 7.2. The required privilege level, high, is what keeps the score below critical.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>PAN-OS 10.2, 11.1, 11.2, 12.1 and 12.2 on PA-Series and VM-Series firewalls and on Panorama (virtual and M-Series) are affected. The vendor says no special configuration is needed to be vulnerable. Cloud NGFW and Prisma Access are not affected. Fixed builds are 12.2.4 and 11.2.16, plus hotfixes on every supported train, for example 12.1.10-h2, 11.1.16-h3 and 10.2.18-h12. Older maintenance lines get their own hotfixes, such as 11.2.7-h21 and 10.2.13-h26. The full table is on the <a href="https://www.cve.org/CVERecord?id=CVE-2026-0322" rel="noopener" class="ext">CVE record</a> and the advisory.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, but the urgency depends on two things: who can reach the management interface, and how well admin credentials are protected. An authenticated bug sounds tame. In practice, firewall admin credentials leak through phishing, reuse, old config backups and earlier appliance compromises. Root on a firewall gives an attacker a quiet foothold at the edge of your network, with visibility into traffic and VPN configuration.</p>
<ul>
<li><strong>Management interface on the internet:</strong> treat this as act-now. Palo Alto Networks says the risk is highest in this setup and recommends remediating as soon as possible.</li>
<li><strong>Management limited to a jump host or admin VLAN:</strong> the attacker first needs a foothold there plus admin credentials. Patch this week.</li>
<li><strong>Cloud NGFW / Prisma Access:</strong> no action needed.</li>
</ul>
<p>The vendor lists no workaround. Threat Prevention customers can enable Threat IDs 510046 and 510047, but the vendor describes this as limited coverage. It also requires routing management traffic through a dataplane interface with SSL decryption, so it is not a practical substitute for upgrading.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Inventory devices and versions. On each firewall or Panorama, run <code>show system info</code> and note <code>sw-version</code>.</li>
<li>Upgrade to the fixed build for your train (for example <code>request system software install version 11.2.16</code> after download), starting with internet-exposed devices. Upgrade Panorama too.</li>
<li>Lock the management interface down to trusted internal IPs, following the vendor's <a href="https://live.paloaltonetworks.com/t5/community-blogs/tips-amp-tricks-how-to-secure-the-management-access-of-your-palo/ba-p/464431" rel="noopener" class="ext">management access best practices</a>. Remove any permit rule that exposes it to the internet, including management profiles on public dataplane interfaces.</li>
<li>Rotate administrator passwords and API keys, enforce MFA for admin login, and remove stale admin accounts.</li>
<li>If an upgrade has to wait, enable Threat IDs 510046/510047 with the documented prerequisites, and tighten access controls in the meantime.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Search perimeter and firewall traffic logs for management-plane connections from <code>66.42.72.14</code>, <code>208.83.239.114</code> and <code>149.248.47.234</code>, the addresses Palo Alto Networks associates with exploit attempts. Review the system and configuration logs for admin logins from unfamiliar sources, newly created administrators and unexplained commits. If the interface was reachable from the internet while unpatched, treat the device as possibly compromised. Open a case with Palo Alto Networks support, export logs before rebooting, and rotate every credential stored on the device, including VPN, LDAP and RADIUS secrets. A root-level implant may not show up in configuration logs.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-10-14">Oct 14, 2026</time> — Palo Alto Networks publishes the advisory with fixed builds and notes limited exploitation. CISA adds CVE-2026-0322 to KEV the same day.</li>
<li><time datetime="2026-10-15">Oct 15, 2026</time> — The advisory is updated, and the CVE record gets CISA's enrichment (exploitation: active).</li>
<li><time datetime="2026-10-17">Oct 17, 2026</time> — CISA's remediation deadline for federal agencies.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://security.paloaltonetworks.com/CVE-2026-0322">Palo Alto Networks — CVE-2026-0322 PAN-OS: Authenticated RCE in the Management Interface</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-0322">CVE record — CVE-2026-0322</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-0322">NVD — CVE-2026-0322</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-0322">CISA — Known Exploited Vulnerabilities: CVE-2026-0322</a></li><li><a href="https://live.paloaltonetworks.com/t5/community-blogs/tips-amp-tricks-how-to-secure-the-management-access-of-your-palo/ba-p/464431">Palo Alto Networks — How to secure the management access of your Palo Alto Networks device</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Patch this week: SiteGuard WAF CVE-2026-106931: Exploited Command Injection</title>
<link>https://erroneo.us/security/briefs/siteguard-server-edition-cve-2026-106931-zero-day/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/siteguard-server-edition-cve-2026-106931-zero-day/</guid>
<pubDate>Wed, 14 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>OS command injection in SiteGuard Server Edition&#x27;s statistics feature gives root/SYSTEM; exploited. Fixed in 8.00 Update 5. Save diagnostics, then patch.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> If you run SiteGuard Server Edition, save its diagnostic data and patch this week, sooner on public web servers; the bug is exploited, but its local rating means attackers need a foothold first.</p><p><strong>Who must act:</strong> Organizations running SiteGuard Server Edition 2.20 or later for Apache httpd, Nginx or IIS below 8.00 Update 5 (7.00 Update 6 on FreeBSD) with the default-on statistics feature, a product JPCERT/CC says is widely used in Japan.<br><strong>Who can relax:</strong> Anyone not running SiteGuard Server Edition: the advisories do not list SiteGuard Proxy Edition, Cloud Edition or the SiteGuard WP Plugin, and IIS versions 3.10 through 4.00 Update 4 are not affected.</p><ol><li>Before changing anything, download the diagnostic information from the SiteGuard web admin console and store it safely; the vendor warns that updating can erase attack traces.</li><li>Upgrade to Ver8.00 Update 5 (Ver7.00 Update 6 on FreeBSD), or apply the vendor&#x27;s statistics-file patch, which also covers end-of-life versions.</li><li>If you cannot upgrade or patch yet, disable the statistics feature, which JPCERT/CC says avoids the vulnerability.</li><li>Treat every server that ran a vulnerable build as possibly rooted and review it for persistence.</li><li>Contact EG Secure Solutions support or JPCERT/CC with the saved diagnostics if anything looks wrong.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 14, 2026, EG Secure Solutions published an urgent <a href="https://www.eg-secure.co.jp/siteguard/news/alert-202610-1" rel="noopener" class="ext">alert</a> (in Japanese). It covers an OS command injection flaw, CVE-2026-106931, in the statistics feature of SiteGuard Server Edition, a host-based web application firewall that plugs into Apache httpd, Nginx or IIS. The vendor says exploitation has already been confirmed and that the flaw can run arbitrary OS commands as root or SYSTEM. Customers with support contracts were told individually on September 29. The public alert came about two weeks later, alongside <a href="https://jvn.jp/en/jp/JVN88474777/" rel="noopener" class="ext">JVN#88474777</a> and a <a href="https://www.jpcert.or.jp/at/2026/at260032.html" rel="noopener" class="ext">JPCERT/CC alert</a>. JPCERT/CC says it has confirmed the product is widely used in Japan.</p>
<p>The vendor, via JPCERT/CC as CNA, scores it CVSS 4.0 8.5 and CVSS 3.0 7.8, with a <em>local</em> attack vector and <em>low</em> privileges required. The <a href="https://www.cve.org/CVERecord?id=CVE-2026-106931" rel="noopener" class="ext">CVE record</a> and <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-106931" rel="noopener" class="ext">NVD</a> carry the same vectors. CISA added it to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-106931" rel="noopener" class="ext">KEV catalog</a> on October 20, with an October 23 federal deadline. Its enrichment marks exploitation as active and the attack as not automatable. Neither the vendor nor JPCERT/CC has described the attackers, the victims or the entry point. <a href="https://www.bleepingcomputer.com/news/security/hackers-exploit-siteguard-waf-flaw-to-run-commands-as-system-root/" rel="noopener" class="ext">BleepingComputer</a> notes those details "remain unclear."</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>SiteGuard Server Edition Ver2.20 and later, when the statistics feature is on, which is the default:</p>
<ul>
<li><strong>Apache httpd, Nginx and IIS editions:</strong> versions before Ver8.00 Update 5. IIS Ver3.10 through Ver4.00 Update 4 are not affected.</li>
<li><strong>Apache httpd and Nginx on FreeBSD:</strong> versions before Ver7.00 Update 6.</li>
</ul>
<p>The advisories name only Server Edition. BleepingComputer cites a vendor claim of protecting more than 1.5 million websites. Its 500,000 figure comes from WordPress.org, which counts the separate <a href="https://wordpress.org/plugins/siteguard/" rel="noopener" class="ext">SiteGuard WP Plugin</a>, and the advisories do not list that plugin. As of October 21, the vendor's own website was down for precautionary maintenance tied to PHP's critical October security release, so its alert may not load. JVN and JPCERT/CC carry the same details.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>If you run SiteGuard Server Edition, yes, this week. The CVSS vector means an attacker must already be able to run something on the server, or act as a low-privileged local user, before using this bug. That is not internet-wide, unauthenticated RCE. But a host WAF lives on public web servers, where a low-privileged foothold is exactly what a web application bug or web shell provides. This flaw turns that foothold into root or SYSTEM on the machine meant to protect the site. Exploitation is confirmed, and the vendor has not said when it began. So prioritize internet-facing servers and those running PHP applications you have not patched recently.</p>
<p>If you do not run Server Edition, there is nothing to do for this CVE.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li><strong>Preserve evidence first.</strong> In the SiteGuard web admin console, open Diagnostic information and choose Download diagnostic information. Keep the file. The vendor warns that updating or patching may erase traces of the attack.</li>
<li>Upgrade to Ver8.00 Update 5 (Apache httpd, Nginx, IIS) or Ver7.00 Update 6 (FreeBSD). If an upgrade is hard, apply the vendor's patch that replaces the statistics-processing files. It is available even for end-of-life versions.</li>
<li>If neither can happen today, disable the statistics feature. JPCERT/CC says this avoids the vulnerability.</li>
<li>Review each server that ran an affected build for signs of compromise, starting with internet-facing ones.</li>
<li>Patch the web applications behind the WAF too, because the bug needs a local foothold that those applications may provide.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>No public indicators exist as of October 21, 2026, so the saved diagnostic information is your best evidence. Share it with vendor support or JPCERT/CC. On Linux and FreeBSD, look for root-owned cron entries, systemd units or rc scripts, new accounts and <code>authorized_keys</code> entries, and unfamiliar binaries in <code>/tmp</code>, <code>/var/tmp</code> or the SiteGuard install tree. On IIS servers, review new services, scheduled tasks and local administrators. Also hunt for the foothold itself: web shells and unexpected files in web roots. If the server was compromised, rebuild it and rotate the credentials and TLS keys it held.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-29">Sep 29, 2026</time> — EG Secure Solutions notifies customers with support contracts of the flaw, fixes and patch.</li>
<li><time datetime="2026-10-14">Oct 14, 2026</time> — Public vendor alert, JVN#88474777, JPCERT-AT-2026-0032 and the CVE record are published.</li>
<li><time datetime="2026-10-18">Oct 18, 2026</time> — BleepingComputer reports the exploitation.</li>
<li><time datetime="2026-10-20">Oct 20, 2026</time> — CISA adds CVE-2026-106931 to KEV.</li>
<li><time datetime="2026-10-23">Oct 23, 2026</time> — CISA's remediation deadline for federal agencies.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.eg-secure.co.jp/siteguard/news/alert-202610-1">EG Secure Solutions — OS command injection vulnerability in SiteGuard Server Edition (urgent, Japanese)</a></li><li><a href="https://jvn.jp/en/jp/JVN88474777/">JVN — JVN#88474777: SiteGuard Server Edition vulnerable to OS command injection</a></li><li><a href="https://www.jpcert.or.jp/at/2026/at260032.html">JPCERT/CC — JPCERT-AT-2026-0032: Alert on SiteGuard Server Edition CVE-2026-106931 (Japanese)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-106931">CVE record — CVE-2026-106931</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-106931">NVD — CVE-2026-106931</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-106931">CISA — Known Exploited Vulnerabilities: CVE-2026-106931</a></li><li><a href="https://www.bleepingcomputer.com/news/security/hackers-exploit-siteguard-waf-flaw-to-run-commands-as-system-root/">BleepingComputer — Hackers exploit SiteGuard WAF flaw to run commands as admins</a></li><li><a href="https://wordpress.org/plugins/siteguard/">WordPress.org — SiteGuard WP Plugin</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: October 14, 2026</title>
<link>https://erroneo.us/security/2026-10-14/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-14/</guid>
<pubDate>Wed, 14 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>3 editorial briefs and 4 known exploited (cisa kev) additions.</description>
<content:encoded><![CDATA[<p>3 editorial briefs and 4 known exploited (cisa kev) additions.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-76519/">CVE-2026-76519</a> Cisco Secure Email Gateway: Cisco Secure Email Gateway Relative Path Traversal Vulnerability (due 2026-10-17)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-105134/">CVE-2026-105134</a> Ahsay AhsayCBS: Ahsay AhsayCBS Command Injection Vulnerability (due 2026-10-17)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-105133/">CVE-2026-105133</a> Ahsay AhsayCBS: Ahsay AhsayCBS Improper Authentication Vulnerability (due 2026-10-17)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-0322/">CVE-2026-0322</a> Palo Alto Networks PAN-OS: Palo Alto Networks PAN-OS Code Injection Vulnerability (due 2026-10-17)</li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: Ivanti Connect Secure CVE-2026-104935: Exploited Zero-Day</title>
<link>https://erroneo.us/security/briefs/ivanti-connect-secure-cve-2026-104935-zero-day/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/ivanti-connect-secure-cve-2026-104935-zero-day/</guid>
<pubDate>Tue, 13 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Unauthenticated command execution in Ivanti Connect Secure, exploited since Oct 3, 2026; a chained root escalation is still unpatched. Upgrade and do forensics.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> Upgrade Connect Secure today and investigate with memory and network forensics, because the Integrity Checker missed this compromise and part of the attack chain still has no fix.</p><p><strong>Who must act:</strong> Every organization running Ivanti Connect Secure 22.8 or 25.1 builds, especially internet-facing VPN gateways.<br><strong>Who can relax:</strong> Organizations without Ivanti Connect Secure; per the CVE record, ICS 22.7R2.14 and earlier is not impacted, though it is an older release line.</p><ol><li>Upgrade to the fixed Connect Secure release named in Ivanti&#x27;s advisory (25.1.3.0 per the CVE record)</li><li>Do not rely on the Integrity Checker Tool alone; capture memory and network evidence if exposure dates overlap October 1 or later</li><li>Hunt welcome.cgi requests whose X-DSCGI-PATH header does not match the URL path</li><li>Rotate credentials that passed through the VPN, including AD service accounts, since the actor harvested NTLM hashes and ran Kerberoasting</li><li>Watch for Ivanti&#x27;s fix for the still-unpatched privilege escalation and apply it on release</li><li>Restrict ICS admin interfaces and alert on outbound connections from the appliance</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 13, 2026, Ivanti disclosed CVE-2026-104935 in Connect Secure (ICS), its SSL VPN. The <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-104935" rel="noopener" class="ext">CVE record</a> describes "authentication bypass by spoofing in ICS before version 25.1.3.0" that "allows a remote unauthenticated attacker to execute arbitrary commands." Ivanti's CNA score is CVSS 3.1 8.6, which reads low for unauthenticated command execution. Ivanti's <a href="https://www.ivanti.com/blog/october-2026-security-update" rel="noopener" class="ext">October security update</a> says it is "aware of limited exploitation in the wild" and tells affected customers to "act immediately." CISA added the flaw to the <a href="https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json" rel="noopener" class="ext">KEV catalog</a> the same day, with a three-day federal deadline and a forensic-triage requirement.</p>
<p><a href="https://www.volexity.com/blog/2026/10/13/a-series-of-unauthenticated-events-chained-exploitation-of-ivanti-connect-secure-zero-days/" rel="noopener" class="ext">Volexity</a>, which found and reported the flaw, saw exploitation from October 3 against a customer's ICS that was fully patched at 22.8R2.4. The chain combined an authentication bypass in <code>welcome.cgi</code>, a file write and race condition in <code>wu.cgi</code>, and a privilege escalation in which the <code>dsinvoked</code> broker trusts DSCache data, yielding root. Ivanti has fixed the first two under this CVE. The privilege escalation has no fix yet; Volexity reports Ivanti expects one "in the coming weeks." Defused reportedly saw first activity on October 1, per <a href="https://bleepingcomputer.com/news/security/ivanti-warns-of-connect-secure-zero-day-exploited-in-attacks" rel="noopener" class="ext">BleepingComputer</a>.</p>
<p>Volexity tracks the actor as UTA0576, a previously unknown group. It assesses with low confidence that the motive is criminal, and with medium confidence that the actor uses LLMs in its tooling. After getting in, the actor captured packets to harvest credentials and NTLM hashes, ran Kerberoasting and password spraying, and queried LDAP for LAPS passwords and BitLocker keys.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Sources differ on scope. NVD says ICS before 25.1.3.0 is affected and 22.7R2.14 or earlier is not. BleepingComputer lists 22.8R2.4 and earlier, 25.1.2.2 and earlier, and 25.1.1.1 and earlier. Ivanti's advisory page would not load for us, so confirm the fixed build for your branch there. Shadowserver tracked more than 5,500 exposed ICS instances, per BleepingComputer.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, if you run ICS. It is reachable without credentials on the device's public face, and it worked against a fully patched appliance. Two details raise the stakes beyond a normal patch cycle. First, the chain patches a library in memory only and restores the cache entry, so Ivanti's Integrity Checker Tool did not detect the compromise; Volexity says forensic investigation is required. Second, the actor "deployed no malware or web shell" and re-exploited the device for each command, so there may be no persistent implant to find. Exploitation is described as limited today. Given Ivanti's history (BleepingComputer counts 36 Ivanti CVEs in KEV since 2021), plan for that to change.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Upgrade to the fixed release in Ivanti's advisory (25.1.3.0 per the CVE record).</li>
<li>If the appliance was exposed on or after October 1, capture memory and packet data before or alongside the upgrade. Do not treat a clean ICT result as clearance.</li>
<li>Rotate credentials that authenticated through or to the VPN, AD service accounts exposed to Kerberoasting, and any LAPS or BitLocker secrets the ICS service account could read.</li>
<li>Subscribe to Ivanti advisories and apply the privilege escalation fix as soon as it ships.</li>
<li>Alert on outbound connections and LDAP queries originating from the ICS appliance.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Volexity's indicators: many requests to <code>/dana-na/auth/url_default/welcome.cgi</code> with an <code>X-DSCGI-PATH</code> header pointing at <code>/home/webserver/htdocs/dana/fb/smb/wu.cgi</code> or <code>/home/runtime/tmp/</code>; files such as <code>/tmp/ml.py</code>, <code>/tmp/mk.py</code>, <code>/tmp/rr.py</code>, <code>/tmp/spray_hits.json</code> and <code>/data/.icscap/h.py</code>; a <code>dsstatmond</code> process (renamed tcpdump); <code>ics-root-run-inband-*.pl</code> under <code>/home/runtime/tmp/</code>; tampering in <code>debuglog</code> and <code>audit.log</code>; and contact with 108.165.147[.]64. On the internal side, look for spraying, Kerberos service-ticket requests and LDAP reads originating from the appliance's IP.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-10-01">Oct 1, 2026</time> — First signs of activity, per Defused.</li>
<li><time datetime="2026-10-03">Oct 3, 2026</time> — Exploitation observed by Volexity on a fully patched 22.8R2.4 appliance.</li>
<li><time datetime="2026-10-05">Oct 5, 2026</time> — Volexity begins its investigation.</li>
<li><time datetime="2026-10-13">Oct 13, 2026</time> — Ivanti discloses and patches; CISA adds the CVE to KEV.</li>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — Privilege escalation in the chain still unpatched as of writing.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-104935">NVD — CVE-2026-104935</a></li><li><a href="https://www.ivanti.com/blog/october-2026-security-update">Ivanti — October 2026 Security Update</a></li><li><a href="https://www.volexity.com/blog/2026/10/13/a-series-of-unauthenticated-events-chained-exploitation-of-ivanti-connect-secure-zero-days/">Volexity — A Series of Unauthenticated Events: Chained Exploitation of Ivanti Connect Secure Zero-Days</a></li><li><a href="https://bleepingcomputer.com/news/security/ivanti-warns-of-connect-secure-zero-day-exploited-in-attacks">BleepingComputer — Ivanti warns of Connect Secure zero-day exploited in attacks</a></li><li><a href="https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json">CISA — Known Exploited Vulnerabilities catalog (JSON feed)</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Patch this week: Visual Studio Copilot CVE-2026-103572: Trailing-Dot RCE</title>
<link>https://erroneo.us/security/briefs/visual-studio-copilot-cve-2026-103572-rce/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/visual-studio-copilot-cve-2026-103572-rce/</guid>
<pubDate>Tue, 13 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Prompt injection plus a trailing-dot path bypass let Copilot in Visual Studio and SSMS rewrite .mcp.json and run code. Fixed in 17.14.42/18.10.4. Patch.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> If your developers use Copilot in Visual Studio or SSMS, update this week: exploitation needs only text the agent reads, and the researcher&#x27;s write-up spells out the chain.</p><p><strong>Who must act:</strong> Teams on Visual Studio 2022 17.14 before 17.14.42, Visual Studio 2026 18.10 before 18.10.4, or SSMS with Copilot, especially where agents read untrusted repositories, files or MCP server output.<br><strong>Who can relax:</strong> VS Code users (not in Microsoft&#x27;s affected list) and installs where Copilot is not used, though updating remains the clean fix.</p><ol><li>Update Visual Studio with the Visual Studio Installer to 17.14.42 or 18.10.4 or later, and confirm the version in Help &gt; About.</li><li>Update SSMS to the latest 22.x release, since Microsoft&#x27;s advisory does not name a fixed SSMS build.</li><li>Inventory fleet versions with vswhere -all -property catalog_productDisplayVersion.</li><li>Review .mcp.json and settings.VisualStudio.json in solutions and user profiles for MCP servers or a ripgrep path nobody added.</li><li>Until patched, keep Copilot agent mode away from untrusted repositories, files and MCP servers.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 13, 2026 (Patch Tuesday), Microsoft fixed <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-103572" rel="noopener" class="ext">CVE-2026-103572</a>, a code injection flaw (CWE-94) in the Copilot integration shared by Visual Studio and SQL Server Management Studio. Microsoft rates it Important, CVSS 3.1 8.8. Its FAQ explains the attack: an attacker "can deliver a malicious prompt remotely without prior access," and a user only has to interact with Copilot for the injected instructions to escalate into code execution.</p>
<p>Johann Rehberger, who reported it on August 4, published the <a href="https://embracethered.com/blog/posts/2026/visual-studio-copilot-remote-code-execution/" rel="noopener" class="ext">technical details</a> the same day. Copilot's agent should ask for confirmation before editing protected configuration files such as <code>.mcp.json</code> and <code>settings.VisualStudio.json</code>. The check, in <code>Microsoft.VisualStudio.Copilot.Core.dll</code>, compared file names as literal strings. Windows' Win32 layer drops a trailing period, so a write to <code>.mcp.json.</code> passed the check and still overwrote the real <code>.mcp.json</code>. Rehberger showed two ways to turn that into code execution:</p>
<ul>
<li>Add a malicious server to <code>.mcp.json</code>, enable it via <code>enabledMcpServers</code>, and let the IDE launch its command.</li>
<li>In Visual Studio, point the ripgrep path setting in <code>settings.VisualStudio.json</code> at an arbitrary binary, which then runs whenever Copilot searches text.</li>
</ul>
<p>The trigger is indirect prompt injection: instructions hidden in a file the developer opens, in repository content, or in output returned by an MCP server. Rehberger also reported a path traversal out of the trusted Extensions directory. His reading of the patch is that Microsoft added a <code>GetFullPath</code> call, which strips trailing dots and resolves <code>..</code> before the check.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Microsoft's update table and the <a href="https://www.cve.org/CVERecord?id=CVE-2026-103572" rel="noopener" class="ext">CVE record</a> list Visual Studio 2022 17.14 before 17.14.42 and Visual Studio 2026 18.10 before 18.10.4. The advisory title also names SSMS, which shares the Copilot code, but Microsoft gives no fixed SSMS build. The <a href="https://learn.microsoft.com/en-us/ssms/release-notes-22" rel="noopener" class="ext">SSMS 22 release notes</a> do not mention the CVE. SSMS 22.11.0, released October 13, moved to the Visual Studio 18.11.0 base, and 22.11.1 followed on October 20. <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-103572" rel="noopener" class="ext">NVD</a> still shows the CVE as undergoing analysis.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, on a normal fast cycle. Microsoft marks the CVE as not exploited and "Exploitation Less Likely", and CISA's enrichment says exploitation is "none." It is not in KEV. But the precondition is cheap: the attacker never touches the machine, only text that Copilot reads. With the write-up public (<a href="https://securityonline.info/cve-2026-103572-visual-studio-copilot-rce-disclosed/" rel="noopener" class="ext">SecurityOnline</a> covers the proof of concept), reproducing it is straightforward. The impact is code execution as the developer, which usually means source code, cloud credentials and signing keys. Teams that open third-party repositories or wire in community MCP servers should treat this as urgent.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Update Visual Studio through the Visual Studio Installer to 17.14.42 or 18.10.4 or later. For fleets, inventory versions with <code>vswhere -all -property catalog_productDisplayVersion</code>.</li>
<li>Update SSMS to the latest 22.x release, and keep checking Microsoft's advisory for an SSMS-specific build.</li>
<li>Review <code>.mcp.json</code> files in solutions and in <code>%USERPROFILE%</code>, plus <code>settings.VisualStudio.json</code>, for servers or a ripgrep path nobody added.</li>
<li>Until you're patched, keep Copilot agent mode away from untrusted repositories, files and MCP servers.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Look for MCP server entries or <code>enabledMcpServers</code> changes that nobody on the team made, and for a ripgrep path in <code>settings.VisualStudio.json</code> that points anywhere other than the bundled binary. In EDR telemetry, look for unexpected children of <code>devenv.exe</code> or <code>Ssms.exe</code>, such as shells, scripting hosts or unknown binaries started as MCP servers. If you find any, treat the developer's credentials and tokens as exposed and rotate them.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-08-04">Aug 4, 2026</time> — Rehberger reports the path bypass to MSRC.</li>
<li><time datetime="2026-09-16">Sep 16, 2026</time> — Microsoft confirms the vulnerability.</li>
<li><time datetime="2026-10-13">Oct 13, 2026</time> — Patch Tuesday fix ships (17.14.42, 18.10.4). Rehberger publishes his write-up. SSMS 22.11.0 is released.</li>
<li><time datetime="2026-10-16">Oct 16, 2026</time> — MSRC adds download and KB links. The fixed builds are unchanged.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-103572">Microsoft MSRC — CVE-2026-103572: Visual Studio Tools for Applications and SQL Server Management Studio RCE</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-103572">CVE record — CVE-2026-103572</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-103572">NVD — CVE-2026-103572</a></li><li><a href="https://embracethered.com/blog/posts/2026/visual-studio-copilot-remote-code-execution/">Embrace The Red (Johann Rehberger) — Visual Studio Copilot and SSMS Remote Code Execution (CVE-2026-103572)</a></li><li><a href="https://learn.microsoft.com/en-us/ssms/release-notes-22">Microsoft Learn — Release notes for SQL Server Management Studio 22</a></li><li><a href="https://securityonline.info/cve-2026-103572-visual-studio-copilot-rce-disclosed/">SecurityOnline — CVE-2026-103572 Visual Studio Copilot RCE disclosed</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Patch this week: Windows Shell CVE-2026-96951: Exploited MOTW Bypass</title>
<link>https://erroneo.us/security/briefs/windows-shell-motw-bypass-cve-2026-96951/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/windows-shell-motw-bypass-cve-2026-96951/</guid>
<pubDate>Tue, 13 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Exploited Windows Shell flaw lets a crafted file skip Mark of the Web warnings. Fixed in Oct 13, 2026 updates for Windows 10, 11 and Server. Patch this week.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> Roll the October 2026 Windows update out to every desktop this week; attackers are using this to make malicious attachments and downloads skip the warnings that would stop them.</p><p><strong>Who must act:</strong> Any organization with Windows 10 or 11 endpoints, or Remote Desktop servers, where people open email attachments, chat files or downloads.<br><strong>Who can relax:</strong> Linux and macOS fleets, and Windows servers nobody logs into interactively, which can follow the normal patch cycle; the attack needs a user to open a crafted file.</p><ol><li>Deploy the October 13, 2026 cumulative update to all Windows endpoints this week and reboot.</li><li>Verify the OS build on each machine is at or above the fixed build for its version.</li><li>Patch users who handle outside files first: finance, HR, support, sales and developers.</li><li>Turn on the ASR rules that block executable content from email and scripts launching downloaded executables, in audit mode first if needed.</li><li>Quarantine rarely used attachment types such as shortcuts, disk images and scripts at the mail gateway.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 13, 2026, Microsoft fixed <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-96951" rel="noopener" class="ext">CVE-2026-96951</a>, a command injection flaw (CWE-77) in Windows Shell that it classes as a security feature bypass. Microsoft's FAQ says an attacker who exploits it "could evade Mark of the Web (MOTW) defenses." MOTW is the tag Windows puts on files that arrive from the internet. It drives the warning prompts, Office's read-only Protected View and download blocking. In Microsoft's attack scenario, the attacker sends a specially crafted file by email or instant message, or lures the user to a site that serves one. The user still has to open it. Microsoft scores the bug CVSS 3.1 8.8 and marks it "Exploitation Detected". CISA added it to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-96951" rel="noopener" class="ext">KEV catalog</a> the same day with an October 16 federal deadline.</p>
<p>Per Microsoft's <a href="https://api.msrc.microsoft.com/cvrf/v3.0/cvrf/2026-Oct" rel="noopener" class="ext">October release data</a>, this is the only CVE in the release marked as exploited. Press roundups counting "three zero-days" also include a .NET Framework bypass (CVE-2026-108398), which Microsoft lists as publicly disclosed but not exploited, and a SharePoint flaw (CVE-2026-102866), which it lists as neither. Microsoft credits four reporters: "yhw", Benoit Sevens "using Claude with Anthropic", and Riku Bamba and Yuya Chudo of Fujitsu. As of Oct 21, 2026, Microsoft has not said who is exploiting the flaw, against whom, or with which file types.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>The <a href="https://www.cve.org/CVERecord?id=CVE-2026-96951" rel="noopener" class="ext">CVE record</a> and update guide list Windows 10 (1607, 1809, 21H2, 22H2), Windows 11 (23H2, 24H2, 25H2, 26H1, 26H2) and Windows Server 2012 R2, 2016, 2019, 2022 and 2025. Fixes include KB5127648 (Windows 11 24H2/25H2/26H2, builds 26100/26200/26300.9711), KB5126653 (23H2, 22631.7652), KB5127646 (26H1, 28000.3231), KB5126657 (Windows 10 21H2/22H2, 19045.7807), KB5126651 (1809 and Server 2019), KB5126868 (1607 and Server 2016), KB5126655 (Server 2022), KB5126646 (Server 2025) and KB5126836 (Server 2012 R2). Microsoft also lists Outlook.com, a service it runs, as fixed in service release 20260925.100.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, for nearly every company with Windows desktops. The bug is not wormable and does nothing without a user opening a file. But removing the warning layer is exactly what phishing crews need, and Windows Shell keeps being a target. Tenable's Satnam Narang told <a href="https://www.csoonline.com/article/4234759/october-patch-tuesday-roundup-over-1400-microsoft-holes-to-be-plugged-including-three-zero-days.html" rel="noopener" class="ext">CSO Online</a> this is the third Windows Shell flaw exploited in the wild in 2026, after CVE-2026-21510, which has been linked to APT28, and CVE-2026-32202, which fixed an incomplete patch for it. He told <a href="https://www.helpnetsecurity.com/2026/10/14/microsoft-patch-tuesday-cve-2026-96951-motw-bypass/" rel="noopener" class="ext">Help Net Security</a> it is unclear whether this one is another follow-up fix or tied to APT28.</p>
<ul>
<li><strong>User endpoints:</strong> patch this week. Start with people who routinely open outside files, including developers, who download archives and tools all day.</li>
<li><strong>Remote Desktop and VDI hosts:</strong> treat them like desktops.</li>
<li><strong>Headless servers</strong> nobody browses or opens mail on: normal cycle.</li>
<li><strong>Outlook.com:</strong> fixed server-side by Microsoft. The Windows machines your users open mail on still need the OS update.</li>
</ul>
<p>Microsoft lists no workarounds or mitigations, so the update is the fix.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Push the October 13 cumulative update to every Windows endpoint and reboot. Check compliance in Intune, WSUS or Configuration Manager.</li>
<li>Spot-check builds: <code>Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select CurrentBuild, UBR</code> should show, for example, 26100 and 9711 or higher on Windows 11 24H2.</li>
<li>As defense in depth, enable the <a href="https://learn.microsoft.com/en-us/defender-endpoint/attack-surface-reduction-rules-reference" rel="noopener" class="ext">ASR rules</a> "Block executable content from email client and webmail" (<code>be9ba2d9-53ea-4cdc-84e5-9b1eeee46550</code>) and "Block JavaScript or VBScript from launching downloaded executable content" (<code>d3e037e1-3eb8-44c8-a917-57927947596d</code>), for example with <code>Add-MpPreference -AttackSurfaceReductionRules_Ids &lt;GUID&gt; -AttackSurfaceReductionRules_Actions AuditMode</code>, then switch to block.</li>
<li>At the mail gateway, quarantine attachment types your business rarely needs, such as shortcuts, disk images and scripts.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>No indicators have been published. Hunt in EDR for the usual MOTW-bypass delivery chain: <code>explorer.exe</code> or Outlook launching <code>wscript</code>, <code>cscript</code>, <code>mshta</code>, <code>powershell</code> or <code>cmd</code> right after a user opened an attachment, a chat download or an extracted archive, followed by network connections or new persistence. Defender ASR audit events (<code>AsrExecutableEmailContentAudited</code>, <code>AsrScriptExecutableDownloadAudited</code>) help if the rules were already on. Ask users about any file that "opened without the usual warning". Treat endpoints with such activity before patching as compromised, and reimage them.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-02-10">Feb 10, 2026</time> — CISA adds an earlier Windows Shell flaw, CVE-2026-21510, to KEV.</li>
<li><time datetime="2026-04-28">Apr 28, 2026</time> — CISA adds CVE-2026-32202, the follow-up fix for CVE-2026-21510, to KEV.</li>
<li><time datetime="2026-10-13">Oct 13, 2026</time> — Microsoft releases fixes and marks CVE-2026-96951 as exploited. CISA adds it to KEV.</li>
<li><time datetime="2026-10-16">Oct 16, 2026</time> — CISA's remediation deadline for federal agencies.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-96951">Microsoft MSRC — CVE-2026-96951 Windows Shell Security Feature Bypass Vulnerability</a></li><li><a href="https://api.msrc.microsoft.com/cvrf/v3.0/cvrf/2026-Oct">Microsoft MSRC — October 2026 Security Updates (CVRF)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-96951">CVE record — CVE-2026-96951</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-96951">NVD — CVE-2026-96951</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-96951">CISA — Known Exploited Vulnerabilities: CVE-2026-96951</a></li><li><a href="https://learn.microsoft.com/en-us/defender-endpoint/attack-surface-reduction-rules-reference">Microsoft Learn — ASR rules reference</a></li><li><a href="https://www.helpnetsecurity.com/2026/10/14/microsoft-patch-tuesday-cve-2026-96951-motw-bypass/">Help Net Security — Microsoft fixes exploited Mark of the Web bypass vulnerability (CVE-2026-96951)</a></li><li><a href="https://www.csoonline.com/article/4234759/october-patch-tuesday-roundup-over-1400-microsoft-holes-to-be-plugged-including-three-zero-days.html">CSO Online — October Patch Tuesday roundup</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Check exposure: Podman CVE-2026-94603: Images Can Disable the Sandbox</title>
<link>https://erroneo.us/security/briefs/podman-checkpoint-image-sandbox-bypass-cve-2026-94603/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/podman-checkpoint-image-sandbox-bypass-cve-2026-94603/</guid>
<pubDate>Tue, 13 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>A checkpoint annotation makes rootful podman run ignore --cap-drop and other sandbox flags. Fixed in Podman 5.8.8 and 6.1.3; rootless mode is not affected.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Check exposure.</strong> If you run third-party images with rootful Podman, upgrade to 5.8.8 or 6.1.3 now, because an image can switch off the sandbox you asked for; rootless Podman and trusted-image-only hosts can patch on a normal cycle.</p><p><strong>Who must act:</strong> Teams that run images they did not build with rootful Podman (sudo podman run, systemd/Quadlet units as root, CI runners), especially images pulled from public registries or supplied by pull requests.<br><strong>Who can relax:</strong> Rootless Podman users, since checkpoint/restore is not supported rootless, and hosts that only run vetted images from registries you control.</p><ol><li>Check versions on every host and runner: podman --version and sudo podman --version.</li><li>Upgrade to Podman 5.8.8 or 6.1.3, or your distribution&#x27;s patched package (dnf update podman / apt-get install --only-upgrade podman), once available.</li><li>Until patched, do not run untrusted images with rootful Podman; use rootless Podman for third-party images.</li><li>Reject images that carry the io.podman.annotations.checkpoint.runtime.name annotation in admission scripts or CI before running them.</li><li>Review CI pipelines that run sudo podman run against images from pull requests or public registries.</li></ol><h2 id="what-happened">What happened</h2>
<p>Since version 4.4.0, Podman has been able to pull container checkpoints from an OCI registry and start them with <code>podman run</code>. A checkpoint carries a complete description of how its container is created, including the sandbox. According to the <a href="https://github.com/podman-container-tools/podman/security/advisories/GHSA-2cvf-wqm6-wr9g" rel="noopener" class="ext">Podman advisory</a>, when <code>podman run</code> sees an image with the annotation <code>io.podman.annotations.checkpoint.runtime.name</code>, it treats the image as a checkpoint. It then "silently ignore[s] all user input regarding how the container should be created." In the advisory's example, <code>podman run --cap-drop=ALL</code> on such an image ignores the flag and applies whatever capabilities the image specifies, which could be all of them.</p>
<p>Any image author can set that annotation. A malicious image can therefore switch off the isolation the operator asked for. The maintainers concluded that images and checkpoints cannot safely share <code>podman run</code>, and they removed the feature by reverting the commit that added it. Fixed releases <a href="https://github.com/podman-container-tools/podman/releases/tag/v5.8.8" rel="noopener" class="ext">5.8.8</a> and <a href="https://github.com/podman-container-tools/podman/releases/tag/v6.1.3" rel="noopener" class="ext">6.1.3</a> shipped on September 29, 2026. CVE-2026-94603 was published on October 13. The advisory credits ADA Logics, which found the bug using Anthropic's Claude models.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Podman 4.4.0 through 5.8.7 and 6.0.0 through 6.1.2 are affected when run as root. The advisory states that rootless containers are not affected, because rootless Podman does not support checkpoint/restore. That narrows real exposure to rootful use: <code>sudo podman run</code>, root systemd and Quadlet units, and CI runners that use rootful Podman for speed or device access.</p>
<p>Distribution packaging lags upstream. <a href="https://access.redhat.com/security/cve/cve-2026-94603" rel="noopener" class="ext">Red Hat</a> rates the issue Important. Its <a href="https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-94603.json" rel="noopener" class="ext">security data</a> lists Podman in RHEL 8, 9 and 10, OpenShift and Podman Desktop as affected with no fix yet as of October 21, 2026. Fixes have shipped for Red Hat Hardened Images (podman 6.1.3, RHSA-2026:74861) and Quay 3.12 (RHSA-2026:79546). The <a href="https://explore.alas.aws.amazon.com/CVE-2026-94603.html" rel="noopener" class="ext">Amazon Linux security center</a> lists Amazon Linux 2023 buildah as not affected. Check your distribution's package changelog for the revert, not just the upstream version number.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>The score depends on who you ask. The <a href="https://www.cve.org/CVERecord?id=CVE-2026-94603" rel="noopener" class="ext">CVE record</a> from GitHub's CNA scores it CVSS 3.1 10.0. Red Hat and Amazon score it 8.6, with a local attack vector and user interaction required. The lower score fits reality better: nothing happens until someone runs the attacker's image. <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-94603" rel="noopener" class="ext">NVD</a> had not analyzed it as of October 21, 2026. CISA's ADP enrichment records exploitation as "none", and the CVE is not in KEV.</p>
<p>Running other people's images is routine, though: base images, tools from public registries, images built from pull requests. If any of that happens under rootful Podman, the sandbox flags in your scripts are not guaranteed to apply, and the image can ask for every capability. Red Hat notes that "Exploitation requires an operator or automated workflow to launch an untrusted image," so hosts that run only vetted images from your own registry are at lower risk.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Inventory versions with <code>podman --version</code> and <code>sudo podman --version</code> on developer machines, servers and CI runners.</li>
<li>Upgrade to 5.8.8 or 6.1.3, or your distribution's patched build (<code>dnf update podman</code>, <code>apt-get install --only-upgrade podman</code>) once it is published.</li>
<li>Until then, run third-party images rootless. If root is unavoidable, check the image annotation before running it.</li>
<li>Add a pre-run check to CI or deployment scripts that rejects any image whose annotations include <code>io.podman.annotations.checkpoint.runtime.name</code>. Podman cannot do this automatically, according to the advisory.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Check images already pulled into root storage with <code>sudo podman image inspect --format '{{json .Annotations}}' IMAGE</code> and look for the checkpoint annotation. For running rootful containers, compare <code>sudo podman inspect --format '{{.EffectiveCaps}}' CONTAINER</code> with the capabilities you requested. A container that was asked to drop everything but holds a full capability set deserves investigation. Review CI logs and Quadlet units for rootful runs of external images, and treat any host that ran an annotated image as root as potentially compromised.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-29">Sep 29, 2026</time> — Podman 5.8.8 and 6.1.3 ship, removing checkpoint images from <code>podman run</code>.</li>
<li><time datetime="2026-10-13">Oct 13, 2026</time> — CVE-2026-94603 is published with a CNA score of CVSS 3.1 10.0, and CISA's ADP records no known exploitation.</li>
<li><time datetime="2026-10-15">Oct 15, 2026</time> — The advisory is added to the GitHub Advisory Database as GHSA-2cvf-wqm6-wr9g.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://github.com/podman-container-tools/podman/security/advisories/GHSA-2cvf-wqm6-wr9g">Podman — GHSA-2cvf-wqm6-wr9g: podman run can be instructed to disable almost all sandboxing by image annotation</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-94603">CVE record — CVE-2026-94603</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-94603">NVD — CVE-2026-94603</a></li><li><a href="https://github.com/podman-container-tools/podman/releases/tag/v5.8.8">Podman — v5.8.8 release notes</a></li><li><a href="https://github.com/podman-container-tools/podman/releases/tag/v6.1.3">Podman — v6.1.3 release notes</a></li><li><a href="https://access.redhat.com/security/cve/cve-2026-94603">Red Hat — CVE-2026-94603</a></li><li><a href="https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-94603.json">Red Hat Security Data API — CVE-2026-94603</a></li><li><a href="https://explore.alas.aws.amazon.com/CVE-2026-94603.html">Amazon Linux Security Center — CVE-2026-94603</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Most can relax: SlugFest: npm Trusted Publishing Repo-Name Hijack</title>
<link>https://erroneo.us/security/briefs/slugfest-npm-trusted-publishing-slug-hijack/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/slugfest-npm-trusted-publishing-slug-hijack/</guid>
<pubDate>Tue, 13 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>npm matched trusted publishers by repo name, so 1,500+ packages could be published from a reclaimed slug. Fixed by npm Oct 2, 2026; audit your bindings.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Most can relax.</strong> The hole was closed on npm&#x27;s side on October 2, 2026 and no abuse has been reported, so most teams have nothing to patch; maintainers should still spend five minutes auditing trusted publisher bindings and recent publishes.</p><p><strong>Who must act:</strong> npm package maintainers who created trusted publisher configurations that never completed a publish, renamed, transferred or deleted a bound repository or GitHub owner, or publish from GitHub Actions issue_comment workflows.<br><strong>Who can relax:</strong> Package consumers and maintainers whose trusted publisher bindings have already published successfully from a repository they still control; npm binds those to the repository&#x27;s immutable identity.</p><ol><li>Run npm trust list &lt;package&gt; (npm 11.15.0 or later) for each package you maintain and confirm every bound repository slug still belongs to you.</li><li>Delete and re-create bindings after any repository or owner rename, transfer or deletion; remove a binding before deleting its repository.</li><li>Publish once from a newly created binding within 48 hours so it is validated against the repository&#x27;s immutable identity, or it will expire.</li><li>Move any publish workflow triggered by issue_comment to push, release or workflow_dispatch.</li><li>Review npm publish history and alerts for versions you did not release, especially on packages whose bindings were never used before October 2, 2026.</li></ol><h2 id="what-happened">What happened</h2>
<p>npm trusted publishing lets a CI workflow publish a package with a short-lived OIDC token instead of a stored npm token. On October 13, 2026, Bloom Security published <a href="https://bloom.security/blog/slugfest-millions-of-ai-agents-download-exposed-npm-packages" rel="noopener" class="ext">SlugFest</a>, research showing how npm decided which repository was trusted. Until a binding's first successful publish, npm matched on the repository slug (<code>owner/repo</code>) and workflow filename. It ignored the permanent <code>repository_id</code> and <code>repository_owner_id</code> claims that GitHub puts in the token. If a maintainer renamed, transferred or deleted the bound repository or owner, anyone could create a repository at the freed slug, add a workflow with the same filename and <code>id-token: write</code>, and exchange the resulting token for "a valid, time-limited publish token for a package they do not own." No credentials had to be stolen. Bloom says the same issue affected npm's GitLab trusted publishing.</p>
<p>Bloom counted more than 1,500 vulnerable packages with over 10 million total downloads. It reported the flaw through GitHub's HackerOne program on June 6, 2026. GitHub fixed it about four months later in a <a href="https://github.blog/changelog/2026-10-02-unvalidated-npm-trusted-publishing-configurations-now-expire/" rel="noopener" class="ext">changelog entry dated October 2</a>: unvalidated trusted publishing configurations now expire 48 hours after creation, and a configuration "becomes validated and exempt from expiry after its first successful publish." The same change makes npm reject trusted publishing tokens minted by GitHub Actions <code>issue_comment</code> events, alongside the existing <code>pull_request_target</code> block. No CVE was assigned.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>The precondition was narrow: a trusted publisher binding that had never been used to publish, pointing at a slug someone else could claim. That covers bindings set up "for later," or set up before a repository move, and repositories that were deleted or renamed afterwards. Bloom withheld its list of affected packages because the pattern is still common. Package consumers were exposed only if an attacker actually published a version that way. Neither Bloom nor GitHub has reported that happening as of October 21, 2026. Bloom does say it blocked customers' AI coding agents that tried to download some of the vulnerable packages, a reminder that agents that auto-install the latest versions would pick up a hijacked release quickly.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Consumers: no. The fix is on the registry side, and there is nothing to upgrade. Maintainers: a short audit is worthwhile. <a href="https://docs.npmjs.com/trusted-publishers" rel="noopener" class="ext">npm's documentation</a> now says a new configuration "must complete its first successful publish within 2 days," after which it is bound "to the repository's immutable identity." Bindings that already published were bound that way before the fix, so the gap is closed for them. What remains is housekeeping. Expired configurations stay visible but no longer authorize publishing, so recreate any you still need. Any release workflow triggered by <code>issue_comment</code> will now fail and needs a different trigger.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Update npm to 11.15.0 or later and run <code>npm trust list &lt;package&gt;</code> for each package you maintain (see <a href="https://docs.npmjs.com/cli/v11/commands/npm-trust/" rel="noopener" class="ext">npm trust</a>).</li>
<li>For each binding, confirm the slug still resolves to your repository: <code>gh api repos/&lt;owner&gt;/&lt;repo&gt; --jq '.id,.owner.login'</code>.</li>
<li>Remove stale bindings with <code>npm trust revoke &lt;package&gt; --id=&lt;trust-id&gt;</code>, and re-create them after any rename or transfer. Revoke a binding before deleting its repository.</li>
<li>After creating a binding, publish within 48 hours so it validates.</li>
<li>Move publish jobs off <code>issue_comment</code> to <code>push</code>, <code>release</code> or <code>workflow_dispatch</code>.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Compare the registry's publish history, <code>npm view &lt;package&gt; time --json</code>, against your own release runs. A version you did not ship from your repository is the signal. Pay particular attention to packages whose trusted publisher binding existed for weeks without a publish before October 2, 2026, and to bindings whose slug now points to a repository with an ID you do not recognize. If you find an unexplained version, deprecate it, contact npm support and revoke the binding. <a href="https://thehackernews.com/2026/10/github-tightens-npm-publishing-after.html" rel="noopener" class="ext">The Hacker News</a> summarizes the same maintainer checks.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-06-06">Jun 6, 2026</time> — Bloom Security reports the flaw to GitHub via HackerOne.</li>
<li><time datetime="2026-06-09">Jun 9, 2026</time> — The report is triaged and validated.</li>
<li><time datetime="2026-07-08">Jul 8, 2026</time> — GitHub's last response before the fix, per Bloom.</li>
<li><time datetime="2026-10-02">Oct 2, 2026</time> — GitHub ships 48-hour expiry for unvalidated configurations and blocks <code>issue_comment</code> tokens.</li>
<li><time datetime="2026-10-13">Oct 13, 2026</time> — Bloom publishes SlugFest, followed by press coverage.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://github.blog/changelog/2026-10-02-unvalidated-npm-trusted-publishing-configurations-now-expire/">GitHub Changelog — Unvalidated npm trusted publishing configurations now expire (Oct 2, 2026)</a></li><li><a href="https://docs.npmjs.com/trusted-publishers">npm Docs — Trusted publishing for npm packages</a></li><li><a href="https://docs.npmjs.com/cli/v11/commands/npm-trust/">npm Docs — npm trust</a></li><li><a href="https://bloom.security/blog/slugfest-millions-of-ai-agents-download-exposed-npm-packages">Bloom Security — SlugFest: millions of AI agents download exposed npm packages</a></li><li><a href="https://thehackernews.com/2026/10/github-tightens-npm-publishing-after.html">The Hacker News — GitHub tightens npm publishing after flaw left 1,500+ packages vulnerable to hijacking</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: October 13, 2026</title>
<link>https://erroneo.us/security/2026-10-13/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-13/</guid>
<pubDate>Tue, 13 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>5 editorial briefs, 2 known exploited (cisa kev) additions and 3 critical advisories.</description>
<content:encoded><![CDATA[<p>5 editorial briefs, 2 known exploited (cisa kev) additions and 3 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-96951/">CVE-2026-96951</a> Microsoft Windows: Microsoft Windows Command Injection Vulnerability (due 2026-10-16)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-104935/">CVE-2026-104935</a> Ivanti Connect Secure: Ivanti Connect Secure Authentication Bypass by Spoofing Vulnerability (due 2026-10-16)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-88092/">Microsoft Security Advisory CVE-2026-88092 - ASP.NET Core Security Feature Bypass Vulnerability</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-70188/">Microsoft Security Advisory CVE-2026-70188 - ASP.NET Core Security Feature Bypass Vulnerability</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-105016/">Microsoft Security Advisory CVE-2026-105016 - Microsoft QUIC Remote Code Execution Vulnerability</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Security digest: October 9, 2026</title>
<link>https://erroneo.us/security/2026-10-09/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-09/</guid>
<pubDate>Fri, 09 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>4 critical advisories.</description>
<content:encoded><![CDATA[<p>4 critical advisories.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-108261/">TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-68582/">Vikunja: Link-share token reads any tenant&#x27;s kanban buckets and enumerates usernames/IDs instance-wide (BOLA)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-107806/">Nginx UI: Authenticated Remote Code Execution via Backup Restore App Config Overwrite</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-107845/">Contao: Cross-site scripting in the comments bundle</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Patch this week: Go October 2026 Security Releases: 16 Stdlib Fixes</title>
<link>https://erroneo.us/security/briefs/go-october-2026-security-releases/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/go-october-2026-security-releases/</guid>
<pubDate>Thu, 08 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Go 1.27.2/1.26.9 fix 15 bugs (HTTP/2 crash and memory DoS, smuggling, html/template); 1.27.3/1.26.10 distrust bad CA intermediates. Rebuild this week.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> Rebuild and redeploy Go services with Go 1.27.3 or 1.26.10 this week, starting with internet-facing HTTP/2 servers and reverse proxies; none of these bugs is known to be exploited.</p><p><strong>Who must act:</strong> Teams shipping Go binaries that serve HTTP/2 or HTTP/1 to untrusted clients, Go reverse proxies, apps rendering JavaScript through html/template, and anyone verifying TLS chains with crypto/x509 on systems with stale trust stores.<br><strong>Who can relax:</strong> Go code that never serves network traffic or renders templates can take the update on its next release; Windows-only Root.Mkdir and toolchain checksum issues need a malicious project or proxy you chose to use.</p><ol><li>Check the toolchain and the binaries you ship: go version, and go version -m ./yourbinary for deployed builds.</li><li>Move builds to Go 1.27.3 or 1.26.10 (for example go get toolchain@go1.27.3, or update the golang base image in your Dockerfile), then rebuild and redeploy every service.</li><li>If you use golang.org/x/net/http2 directly, run go get golang.org/x/net@v0.60.0 &amp;&amp; go mod tidy.</li><li>Run govulncheck ./... to see which of the 16 issues your code actually reaches.</li><li>Prioritize internet-facing HTTP/2 servers, httputil.ReverseProxy deployments and services that render user-influenced JavaScript through html/template.</li></ol><h2 id="what-happened">What happened</h2>
<p>Go shipped two security releases in October 2026. On October 8, <a href="https://groups.google.com/g/golang-announce/c/U2fTuyDJznI" rel="noopener" class="ext">Go 1.27.2 and 1.26.9</a> fixed 15 vulnerabilities in the standard library and the <code>go</code> command. Most are in <code>net/http</code>. On October 19, <a href="https://groups.google.com/g/golang-announce/c/66pojueaQek" rel="noopener" class="ext">Go 1.27.3 and 1.26.10</a> followed as an urgent-track fix to <code>crypto/x509</code> (CVE-2026-111943). That release blocks "a small set of intermediate certificates due to specific security concerns around their operation." The Go team "highly recommend[s] immediately upgrading." It did not name the certificate authority as of October 21, 2026.</p>
<p>The October 8 fixes fall into four groups:</p>
<ul>
<li><strong>HTTP/2 denial of service:</strong> a client can crash a server by racing the HPACK encoder against <code>SETTINGS_HEADER_TABLE_SIZE</code> changes (<a href="https://pkg.go.dev/vuln/GO-2026-6617" rel="noopener" class="ext">CVE-2026-97032</a>). Other bugs let a client exhaust memory with a "Trailer" header declaring many fields, bypassing <code>MaxHeaderBytes</code> (CVE-2026-78659), burn CPU with repeated <code>SETTINGS_INITIAL_WINDOW_SIZE</code> frames (CVE-2026-78669), or get flow control refunded twice (CVE-2026-78663). RyotaK of GMO Flatt Security is credited with the first two.</li>
<li><strong>Smuggling and desync:</strong> the HTTP/2 transport forwarded malformed framing headers that can enable response smuggling through a reverse proxy (CVE-2026-78660). HTTP/1 CONNECT handling could desynchronize pooled client connections (CVE-2026-56866) or keep serving HTTP on a tunneled server connection (CVE-2026-94439).</li>
<li><strong>Other resource limits and escaping:</strong> Range-header CPU exhaustion in <code>FileServer</code>/<code>ServeContent</code> (CVE-2026-78667), a multipart memory-limit bypass (CVE-2026-94440), ECH memory amplification in <code>crypto/tls</code> (CVE-2026-97031), and two <code>html/template</code> JavaScript escaping errors (CVE-2026-94448, CVE-2026-97030).</li>
<li><strong>Toolchain and OS:</strong> two <code>cmd/go</code> checksum bypasses that require a malicious project plus a malicious module proxy (CVE-2026-94444, CVE-2026-94447), and a Windows <code>os.Root</code> junction escape (CVE-2026-56857).</li>
</ul>

<h2 id="who-is-affected">Who is affected</h2>
<p>Any program built with Go before 1.26.9, or with 1.27.0 or 1.27.1, carries the October 8 bugs. Programs built before 1.26.10, or with any 1.27 release before 1.27.3, lack the certificate denylist. The <a href="https://go.dev/doc/devel/release" rel="noopener" class="ext">release history</a> lists the affected packages. Go statically links the standard library into every binary, so upgrading the toolchain on your laptop changes nothing in production until you rebuild and redeploy. The HTTP/2 fixes also landed in <code>golang.org/x/net</code> v0.60.0 for code that imports <code>x/net/http2</code> directly, according to the Go vulnerability database.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>For internet-facing Go HTTP servers, yes, this week. The HPACK race and the Trailer memory bug need no authentication. Default <code>net/http</code> servers negotiate HTTP/2 over TLS automatically, so an exposed service is reachable unless you disabled HTTP/2. CISA's ADP enrichment on the <a href="https://www.cve.org/CVERecord?id=CVE-2026-97032" rel="noopener" class="ext">CVE record</a> scores CVE-2026-97032 at CVSS 3.1 7.5 (availability only). None of these CVEs is in CISA KEV, and no exploitation had been reported as of October 21, 2026.</p>
<p>The smuggling bugs matter most if you run Go reverse proxies in front of HTTP/1 backends. The <code>html/template</code> fixes matter if templates render untrusted data inside JavaScript template literals. On the x509 change, the Go team says most platforms use system roots. The denylist covers "narrower cases" where system trust stores may not be updated, per <a href="https://pkg.go.dev/vuln/GO-2026-6809" rel="noopener" class="ext">GO-2026-6809</a> and <a href="https://go.dev/issue/82345" rel="noopener" class="ext">Go issue 82345</a>. The toolchain and Windows <code>os.Root</code> bugs are low-priority for most teams.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>See what you build and ship: <code>go version</code> for the toolchain and <code>go version -m ./yourbinary</code> for deployed artifacts.</li>
<li>Pin the fixed toolchain, for example with <code>go get toolchain@go1.27.3</code> in each module, or bump the <code>golang</code> base image tag in Dockerfiles and CI.</li>
<li>Update <code>golang.org/x/net</code> if you import it: <code>go get golang.org/x/net@v0.60.0 &amp;&amp; go mod tidy</code>.</li>
<li>Rebuild and redeploy every service and container, starting with public HTTP/2 endpoints and reverse proxies.</li>
<li>Run <code>govulncheck ./...</code> to confirm which issues your code reaches, and use the result for prioritization, not as a reason to skip the rebuild.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Most of these bugs cause outages, not intrusions. Look for HTTP/2 server crashes with stack traces in the HPACK encoder or concurrent map writes, sudden memory growth on requests with large <code>Trailer</code> headers, and CPU spikes tied to clients sending floods of SETTINGS frames or Range headers with hundreds of ranges. For smuggling, compare proxy and backend access logs for responses that do not match their requests. To find unpatched builds, run <code>govulncheck -mode=binary</code> across your release artifacts.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-10-08">Oct 8, 2026</time> — Go 1.27.2 and 1.26.9 are released with 15 security fixes, and the CVE records are published.</li>
<li><time datetime="2026-10-19">Oct 19, 2026</time> — Go 1.27.3 and 1.26.10 are released with the crypto/x509 intermediate-certificate denylist (CVE-2026-111943).</li>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — GO-2026-6809 is published in the Go vulnerability database.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://go.dev/doc/devel/release">Go — Release History (go1.27.2, go1.26.9, go1.27.3, go1.26.10)</a></li><li><a href="https://groups.google.com/g/golang-announce/c/U2fTuyDJznI">golang-announce — [security] Go 1.27.2 and Go 1.26.9 are released (Oct 8, 2026)</a></li><li><a href="https://groups.google.com/g/golang-announce/c/66pojueaQek">golang-announce — [security] Go 1.27.3 and Go 1.26.10 are released (Oct 19, 2026)</a></li><li><a href="https://pkg.go.dev/vuln/GO-2026-6617">Go vulnerability database — GO-2026-6617 (CVE-2026-97032)</a></li><li><a href="https://pkg.go.dev/vuln/GO-2026-6809">Go vulnerability database — GO-2026-6809 (CVE-2026-111943)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-97032">CVE record — CVE-2026-97032</a></li><li><a href="https://go.dev/issue/82345">Go issue 82345 — crypto/x509: mitigation for security concerns with a specific Certificate Authority</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Check exposure: ProFTPD mod_copy CVE-2015-3306: 2015 Bug Added to KEV</title>
<link>https://erroneo.us/security/briefs/proftpd-mod-copy-cve-2015-3306-kev/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/proftpd-mod-copy-cve-2015-3306-kev/</guid>
<pubDate>Thu, 08 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Unauthenticated file copy in ProFTPD 1.3.5 mod_copy, fixed in 2015, joins KEV after a joint advisory tied it to China-linked actors. Find old FTP servers.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Check exposure.</strong> Nearly everyone fixed this a decade ago; the real job is finding any ProFTPD 1.3.5-era build with mod_copy still answering on port 21, usually inside old appliances, and replacing or removing it.</p><p><strong>Who must act:</strong> Operators of internet-facing FTP servers, NAS boxes, hosting servers or embedded appliances running ProFTPD 1.3.5 or older builds with mod_copy loaded and no 2015 patch.<br><strong>Who can relax:</strong> Anyone on ProFTPD 1.3.5a or later, on a distribution package patched in 2015, or running a build without mod_copy, which upstream does not compile by default.</p><ol><li>Scan your external address ranges for FTP on port 21 and flag any banner reporting ProFTPD 1.3.5 or older.</li><li>On each ProFTPD host, run proftpd -v and proftpd -l, and grep the configuration for LoadModule mod_copy.c, to see the version and whether mod_copy is present.</li><li>Upgrade to a current ProFTPD release or a distro package with the 2015 fix, and replace appliances whose firmware still ships 1.3.5.</li><li>If you do not need server-side copy, stop loading mod_copy; on 1.3.6rc1 and later you can also set CopyEngine off.</li><li>Close FTP to the internet where it is not required, or move users to SFTP, as the joint advisory recommends disabling unused file-sharing services.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 8, 2026, the FBI, CISA, NSA and agencies from the UK, Australia, Canada, Japan, New Zealand and Spain published joint advisory <a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa26-281a" rel="noopener" class="ext">AA26-281A</a>. It covers actors enabled by Integrity Technology Group, a China-based company. CISA <a href="https://www.cisa.gov/news-events/news/cisa-fbi-nsa-and-international-partners-warn-china-based-cybersecurity-company-enabling-threat" rel="noopener" class="ext">says</a> the actors it enables use techniques consistent with Flax Typhoon, Ethereal Panda and Red Juliett. Appendix B lists eight "successfully exploited" CVEs, drawn from penetration-testing scripts in a tool called MicroScan. The actors have used it since as early as 2017. Five of the eight were added to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2015-3306" rel="noopener" class="ext">KEV catalog</a> that day with an October 11 federal deadline. One is CVE-2015-3306 in ProFTPD. The others are ONLYOFFICE Docs CVE-2021-3199, Strapi CVE-2023-22894, Apache Struts CVE-2016-3081 and ISC BIND CVE-2015-5477.</p>
<p>The bug itself is eleven years old. In April 2015, Vadim Melihow reported to ProFTPD (<a href="http://bugs.proftpd.org/show_bug.cgi?id=4169" rel="noopener" class="ext">bug 4169</a>) that <code>mod_copy</code> accepted <code>SITE CPFR</code> and <code>SITE CPTO</code> from <em>unauthenticated</em> clients. His example copied <code>/etc/passwd</code> to <code>/tmp</code>. A second example got PHP code into the server log through a failed command, then copied <code>/proc/self/fd/3</code> into <code>/var/www/test.php</code>. That turns a file-copy bug into remote code execution on servers that also host a website. The <a href="https://www.cve.org/CVERecord?id=CVE-2015-3306" rel="noopener" class="ext">CVE record</a> cites public exploits, including a Metasploit module. CISA's enrichment scores it CVSS 3.1 10.0, and <a href="https://nvd.nist.gov/vuln/detail/CVE-2015-3306" rel="noopener" class="ext">NVD</a> gives 10.0 on CVSS 2.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>ProFTPD 1.3.5 with <code>mod_copy</code> loaded. Upstream fixed it in 1.3.5a and 1.3.6rc1 in 2015 and added a <code>CopyEngine</code> switch. The <a href="http://www.proftpd.org/docs/contrib/mod_copy.html" rel="noopener" class="ext">module documentation</a> says mod_copy "is not compiled by default," but distributions shipped it. Debian's <a href="https://lists.debian.org/debian-security-announce/2015/msg00154.html" rel="noopener" class="ext">DSA-3263-1</a> fixed both wheezy (1.3.4a) and jessie (1.3.5) packages. Current upstream is <a href="https://github.com/proftpd/proftpd/releases/tag/v1.3.9d" rel="noopener" class="ext">1.3.9d</a>. Today the exposed population is whatever never got updated: old NAS and storage appliances, end-of-life Linux servers, hosting boxes and embedded devices with frozen firmware.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Only if you still have such a box, and you may not know you do. The KEV listing is not evidence of a new campaign. <a href="https://www.vulncheck.com/blog/integrity-technology-group-advisory" rel="noopener" class="ext">VulnCheck</a> notes that the first exploitation evidence for this CVE in its KEV is the report date itself, and quotes the advisory's warning that many indicators are old, "some dating back to 2016." What the advisory does show is that a well-resourced, state-linked ecosystem keeps this exploit in its scanning kit. It says these actors focus their scans on ports 21 (FTP), 22, 53, 80, 443 and 1080. Anything still vulnerable and reachable will be found.</p>
<p>So the verdict is check exposure, not panic. If a scan of your ranges turns up nothing older than ProFTPD 1.3.5a, you are done. If it finds a 1.3.5 banner, fix it today and investigate the host. US federal agencies had until October 11 to patch or stop using affected products, as <a href="https://thehackernews.com/2026/10/flax-typhoon-exploits-five-flaws-as.html" rel="noopener" class="ext">The Hacker News</a> notes.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Scan external ranges for port 21 and collect banners, for example <code>nmap -sV -p21 &lt;range&gt;</code>. Flag anything reporting ProFTPD 1.3.5 or older.</li>
<li>On each ProFTPD host, run <code>proftpd -v</code> for the version and <code>proftpd -l</code> for compiled-in modules. Also run <code>grep -ri 'mod_copy' /etc/proftpd*</code> to find DSO loads.</li>
<li>Upgrade to a current release or a distro package carrying the 2015 fix. For appliances, apply vendor firmware or retire the device.</li>
<li>Stop loading <code>mod_copy</code> if you do not use server-side copy. On 1.3.6rc1 and later, <code>CopyEngine off</code> disables it at runtime.</li>
<li>Follow the advisory's guidance to disable unused file-sharing services. Remove FTP from the internet or replace it with SFTP.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Search FTP command logs (an <code>ExtendedLog</code>, if configured) or packet captures for <code>SITE CPFR</code> and <code>SITE CPTO</code>, especially before any successful <code>USER</code>/<code>PASS</code>. On hosts that also serve web content, look for unexpected <code>.php</code> or script files in document roots, and for copies of <code>/etc/passwd</code>, configs or keys in FTP-served or world-readable directories. Check the advisory's downloadable IOC set against firewall and proxy logs. If a vulnerable build was internet-facing, rebuild the host rather than cleaning it, and rotate any credentials stored on it.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2015-04-07">Apr 7, 2015</time> — Vadim Melihow's report is filed as ProFTPD bug 4169, and a fix is merged the same day.</li>
<li><time datetime="2015-05-19">May 19, 2015</time> — Debian publishes DSA-3263-1.</li>
<li><time datetime="2015-05-28">May 28, 2015</time> — ProFTPD marks the bug resolved in 1.3.5a and 1.3.6rc1.</li>
<li><time datetime="2026-10-08">Oct 8, 2026</time> — Joint advisory AA26-281A is published, and CISA adds CVE-2015-3306 and four other old CVEs to KEV.</li>
<li><time datetime="2026-10-11">Oct 11, 2026</time> — CISA's remediation deadline for federal agencies.</li>
</ul>
<h2>Sources</h2><ol><li><a href="http://bugs.proftpd.org/show_bug.cgi?id=4169">ProFTPD Bugzilla — Bug 4169: Unauthenticated copying of files via SITE CPFR/CPTO allowed by mod_copy</a></li><li><a href="http://www.proftpd.org/docs/contrib/mod_copy.html">ProFTPD — mod_copy module documentation</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2015-3306">CVE record — CVE-2015-3306</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2015-3306">NVD — CVE-2015-3306</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2015-3306">CISA — Known Exploited Vulnerabilities: CVE-2015-3306</a></li><li><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa26-281a">CISA, FBI, NSA et al. — AA26-281A: Chinese government-linked cyber threat actors combine automated and hands-on hacking tools</a></li><li><a href="https://www.cisa.gov/news-events/news/cisa-fbi-nsa-and-international-partners-warn-china-based-cybersecurity-company-enabling-threat">CISA — CISA, FBI, NSA and international partners warn of China-based cybersecurity company enabling threat actors</a></li><li><a href="https://lists.debian.org/debian-security-announce/2015/msg00154.html">Debian — DSA-3263-1 proftpd-dfsg security update</a></li><li><a href="https://github.com/proftpd/proftpd/releases/tag/v1.3.9d">ProFTPD — v1.3.9d release</a></li><li><a href="https://www.vulncheck.com/blog/integrity-technology-group-advisory">VulnCheck — Expanding visibility into Chinese government-linked cyber threat actors</a></li><li><a href="https://thehackernews.com/2026/10/flax-typhoon-exploits-five-flaws-as.html">The Hacker News — Flax Typhoon exploits five flaws as CISA sets October 11 deadline</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: October 8, 2026</title>
<link>https://erroneo.us/security/2026-10-08/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-08/</guid>
<pubDate>Thu, 08 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>2 editorial briefs, 5 known exploited (cisa kev) additions and 7 critical advisories.</description>
<content:encoded><![CDATA[<p>2 editorial briefs, 5 known exploited (cisa kev) additions and 7 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2023-22894/">CVE-2023-22894</a> Strapi Strapi: Strapi Cleartext Storage of Sensitive Information Vulnerability (due 2026-10-11)</li><li><a href="https://erroneo.us/security/cve/CVE-2021-3199/">CVE-2021-3199</a> ONLYOFFICE Docs: ONLYOFFICE Docs Server Path Traversal Vulnerability (due 2026-10-11)</li><li><a href="https://erroneo.us/security/cve/CVE-2016-3081/">CVE-2016-3081</a> Apache Struts: Apache Struts Command Injection Vulnerability (due 2026-10-11)</li><li><a href="https://erroneo.us/security/cve/CVE-2015-5477/">CVE-2015-5477</a> ISC BIND:  ISC BIND Data Processing Errors Vulnerability (due 2026-10-11)</li><li><a href="https://erroneo.us/security/cve/CVE-2015-3306/">CVE-2015-3306</a> ProFTPD ProFTPD: ProFTPD Improper Access Control Vulnerability (due 2026-10-11)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-107722/">fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-106445/">Handlebars: JavaScript Injection via Own Property Check Bypass</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-107282/">AsyncHttpClient: Replay to a different host sends the original host request and credentials to the new host</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-61445/">PraisonAI: AICoder Arbitrary File Write and Command Execution via LLM Tool Calls</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-106446/">Handlebars: JavaScript Injection via AST Type Confusion in compile (bypass of CVE-2026-33937)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-107726/">Hazelcast allows arbitrary member memory access by low-privileged client</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-61447/">PraisonAI: CodeAgent Executes LLM-Generated Code Without Sandboxing and Leaks All Environment Secrets</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Patch this week: Argo CD: Repo-Server RCE and AppProject Bypass (Oct 2026)</title>
<link>https://erroneo.us/security/briefs/argo-cd-october-2026-repo-server-rce-appproject-bypass/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/argo-cd-october-2026-repo-server-rce-appproject-bypass/</guid>
<pubDate>Wed, 07 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Argo CD 3.3.15, 3.4.10 and 3.5.4 fix four critical flaws: repo-server command execution, file read, and an AppProject bypass. 2.x gets no fix. Patch this week.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> Upgrade Argo CD to a patched 3.3, 3.4 or 3.5 release this week, and today on shared instances where people you do not fully trust can push to tracked repos or merely view an Application.</p><p><strong>Who must act:</strong> Teams running Argo CD 2.x or 3.x, most urgently multi-tenant installs where developers, tenants or CI bots can push to tracked Git repos, hold Application get, or manage repositories.<br><strong>Who can relax:</strong> Single-team installs where only platform admins can push to tracked repos and use the Argo CD API carry less risk, but should still upgrade on a normal short cycle.</p><ol><li>Check the running version on every Argo CD instance and upgrade to 3.3.15, 3.4.10, 3.5.4 or 3.6.0-rc2; move 2.x and 3.0-3.2 to a supported line.</li><li>Until upgraded, set jsonnet.enable to &quot;false&quot; in argocd-cm if you do not use Jsonnet, and remove --enable-helm from kustomize.buildOptions if you do not render Helm through Kustomize.</li><li>Restrict Git write access to repos backing restricted AppProjects, and limit who can delete Applications, create or update repositories, and call the API with Application get.</li><li>Rotate the Git, Helm and OCI credentials the repo-server holds if untrusted users had any of those paths.</li><li>After upgrading, review the application-controller&#x27;s Kubernetes permissions so a bypass cannot reach cluster-wide RBAC.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 6, 2026, the Argo CD project shipped 3.3.15, 3.4.10, 3.5.4 and 3.6.0-rc2. On October 7 it published eight security advisories, four of them critical at CVSS 3.1 9.9, as the <a href="https://github.com/argoproj/argo-cd/releases/tag/v3.3.15" rel="noopener" class="ext">release notes</a> list. Each critical bug needs only low privileges, and each lets a tenant reach well past what Argo CD is supposed to allow them:</p>
<ul>
<li><strong>CVE-2026-77459, AppProject bypass</strong> (<a href="https://github.com/argoproj/argo-cd/security/advisories/GHSA-fmxq-cgp8-87wp" rel="noopener" class="ext">GHSA-fmxq-cgp8-87wp</a>). PreDelete and PostDelete hooks skip the AppProject destination and resource checks. When the Application is deleted, Argo CD creates them with the application-controller's credentials. Anyone who can push to the source repo can, for example, get a <code>ClusterRoleBinding</code> or an object in a forbidden namespace created.</li>
<li><strong>CVE-2026-113708, Kustomize remote ref</strong> (<a href="https://github.com/argoproj/argo-cd/security/advisories/GHSA-9v9p-x54c-58gc" rel="noopener" class="ext">GHSA-9v9p-x54c-58gc</a>). A remote base <code>ref</code> beginning with <code>-</code> is parsed as a <code>git fetch</code> option. <code>--upload-pack</code> with a <code>file://</code> URL then runs a command in <code>argocd-repo-server</code>.</li>
<li><strong>CVE-2026-113709, Kustomize Helm config home</strong> (<a href="https://github.com/argoproj/argo-cd/security/advisories/GHSA-fw5c-w8rc-j7fx" rel="noopener" class="ext">GHSA-fw5c-w8rc-j7fx</a>). Where <code>--enable-helm</code> is set, <code>helmGlobals.configHome</code> can load a Helm downloader plugin from the repo, which then runs in the repo-server.</li>
<li><strong>CVE-2026-113672, Jsonnet import file read</strong> (<a href="https://github.com/argoproj/argo-cd/security/advisories/GHSA-m3vr-7329-44ww" rel="noopener" class="ext">GHSA-m3vr-7329-44ww</a>). <code>import</code> and <code>importstr</code> can read absolute paths such as <code>/proc/self/environ</code>, the service-account token, and repository credentials.</li>
</ul>
<p>A fifth, high-severity bug, CVE-2026-55797 (<a href="https://github.com/argoproj/argo-cd/security/advisories/GHSA-j6cw-g6p4-7hch" rel="noopener" class="ext">GHSA-j6cw-g6p4-7hch</a>, 8.8), lets anyone who can set a proxy on an SSH repository inject shell commands into the repo-server.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Every supported release before the fixed builds is affected. The bugs go back a long way: Jsonnet reads to v0.9.0, the Helm config home to v2.1.0, Kustomize refs to v2.7.0, and PostDelete hooks to v2.10.0. The advisories state that "Argo CD 2.x and 3.0 through 3.2 are out of support and will not receive a patch." Those versions need an upgrade to 3.3 or later, not a hotfix.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>If your Argo CD is shared, yes. In a typical install the repo-server holds every Git, Helm and OCI credential, and the controller has broad cluster rights. Command execution in one, or object creation through the other, undoes your tenant isolation. The bar is low. The three repo-server bugs can be triggered by committing a file to a tracked repo. They can also be triggered by uploading it through <code>POST /api/v1/applications/manifestsWithFiles</code>, which, per the advisories, needs only Application <code>get</code> and no sync rights or Git access. Blocking repo-server egress does not stop the Kustomize ref bug, because a <code>file://</code> remote never leaves the pod.</p>
<p>No exploitation has been reported. CISA's enrichment records "none" for CVE-2026-77459 on the <a href="https://www.cve.org/CVERecord?id=CVE-2026-77459" rel="noopener" class="ext">CVE record</a>, and none of these is in KEV. Single-team installs where only admins push and use the API face mostly insider risk.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Check versions with <code>argocd version</code>, or <code>kubectl -n argocd get deploy argocd-repo-server -o jsonpath='{.spec.template.spec.containers[0].image}'</code>. Then upgrade to 3.3.15, 3.4.10 or 3.5.4.</li>
<li>Until then, apply the advisories' workarounds. Set <code>jsonnet.enable: "false"</code> in <code>argocd-cm</code> if you don't use Jsonnet, and drop <code>--enable-helm</code> from <code>kustomize.buildOptions</code>; both are complete workarounds for their bug. For the Kustomize ref bug, the only stopgap is pinning Applications to Kustomize older than 5.0, and the AppProject hook bypass has no configuration fix.</li>
<li>Tighten RBAC: who can push to repos behind restricted AppProjects, who can delete Applications, who can add or edit repositories, and who holds Application <code>get</code>.</li>
<li>If untrusted users had any of these paths, rotate the credentials the repo-server can read.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Grep tracked repositories for kustomizations that use <code>helmGlobals</code>/<code>configHome</code> or remote refs whose <code>ref</code>/<code>version</code> starts with <code>-</code> or uses <code>file://</code>. Also grep for <code>.jsonnet</code> files that import absolute or <code>../</code> paths. Search for resources annotated <code><a href="https://argo-cd.readthedocs.io/en/stable/user-guide/sync-waves/" rel="noopener" class="ext">argocd.argoproj.io/hook</a>: PreDelete</code> or <code>PostDelete</code> that target namespaces or kinds the project forbids, and list recent <code>ClusterRoleBinding</code> objects (<code>kubectl get clusterrolebindings --sort-by=.metadata.creationTimestamp</code>). Review repository and credential-template Secrets for unexpected <code>proxy</code> values, and check API server logs for <code>manifestsWithFiles</code> calls from unexpected users.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-10-06">Oct 6, 2026</time> — Argo CD 3.3.15, 3.4.10, 3.5.4 and 3.6.0-rc2 are released.</li>
<li><time datetime="2026-10-07">Oct 7, 2026</time> — The project publishes eight advisories, four of them critical.</li>
<li><time datetime="2026-10-13">Oct 13, 2026</time> — The CVE-2026-77459 record is published, and <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-77459" rel="noopener" class="ext">NVD</a> lists it the same day.</li>
<li><time datetime="2026-10-15">Oct 15, 2026</time> — <a href="https://github.com/advisories/GHSA-fmxq-cgp8-87wp" rel="noopener" class="ext">GHSA-fmxq-cgp8-87wp</a> enters the GitHub Advisory Database.</li>
<li><time datetime="2026-10-20">Oct 20, 2026</time> — CVE records for CVE-2026-113708, -113709 and -113672 are published.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://github.com/argoproj/argo-cd/security/advisories/GHSA-fmxq-cgp8-87wp">Argo CD — GHSA-fmxq-cgp8-87wp: AppProject restrictions bypassed by PreDelete/PostDelete resource hooks</a></li><li><a href="https://github.com/argoproj/argo-cd/security/advisories/GHSA-9v9p-x54c-58gc">Argo CD — GHSA-9v9p-x54c-58gc: A Kustomize remote ref can run commands in the repo-server</a></li><li><a href="https://github.com/argoproj/argo-cd/security/advisories/GHSA-fw5c-w8rc-j7fx">Argo CD — GHSA-fw5c-w8rc-j7fx: A Kustomize Helm config home can run commands in the repo-server</a></li><li><a href="https://github.com/argoproj/argo-cd/security/advisories/GHSA-m3vr-7329-44ww">Argo CD — GHSA-m3vr-7329-44ww: A Jsonnet import can read files from the repo-server</a></li><li><a href="https://github.com/argoproj/argo-cd/security/advisories/GHSA-j6cw-g6p4-7hch">Argo CD — GHSA-j6cw-g6p4-7hch: Command injection via a repository proxy URL on SSH Git repositories</a></li><li><a href="https://github.com/argoproj/argo-cd/releases/tag/v3.3.15">Argo CD — v3.3.15 release notes</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-77459">CVE record — CVE-2026-77459</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-77459">NVD — CVE-2026-77459</a></li><li><a href="https://argo-cd.readthedocs.io/en/stable/user-guide/sync-waves/">Argo CD docs — Sync phases, waves and resource hooks</a></li><li><a href="https://github.com/advisories/GHSA-fmxq-cgp8-87wp">GitHub Advisory Database — GHSA-fmxq-cgp8-87wp</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Check exposure: GhostAction: Fake Security Workflows Steal GitHub Secrets</title>
<link>https://erroneo.us/security/briefs/ghostaction-github-workflow-credential-theft/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/ghostaction-github-workflow-credential-theft/</guid>
<pubDate>Wed, 07 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Stolen GitHub logins planted fake &#x27;security audit&#x27; workflows in 30,000+ repos (Aug-Oct 2026) that mine secrets and git history. Check workflows, rotate.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Check exposure.</strong> If any repository you own or contribute to gained a security-audit.yml or github_actions_security.yml workflow you did not write, treat its Actions secrets, every credential ever committed to it, and the pushing account as compromised.</p><p><strong>Who must act:</strong> Maintainers and organizations whose repositories, including forks and mirrors, received an injected &#x27;Security Audit&#x27; or &#x27;Github Actions Security&#x27; workflow since August 31, 2026, and anyone whose GitHub token or password may sit in infostealer logs.<br><strong>Who can relax:</strong> Repositories with no such workflow in any branch, and organizations that already require approval for workflow runs and block direct pushes to .github/workflows; GitHub has been stopping the October payload from running since October 9.</p><ol><li>Search every branch of your repositories and forks for security-audit.yml, github_actions_security.yml and security-check.yml, and for the string 193.32.204.199.</li><li>If found, revoke the GitHub credential that pushed it (PATs, OAuth grants, SSH keys, sessions) and re-enroll the account with phishing-resistant MFA.</li><li>Rotate every Actions secret named in the workflow and every credential ever committed to the repository, including ones deleted from history.</li><li>Delete the workflow from all branches, revert the commit, and check forks before enabling Actions on them.</li><li>Require approval for workflow runs, protect .github/workflows with rulesets or CODEOWNERS, and turn on secret scanning push protection.</li></ol><h2 id="what-happened">What happened</h2>
<p>GhostAction uses stolen maintainer credentials to commit a workflow that looks like a security check but exists to send secrets to the attacker. GitGuardian first documented it in September 2025. In its <a href="https://blog.gitguardian.com/ghostaction-github-actions-supply-chain-attack-returns/" rel="noopener" class="ext">October 7, 2026 report</a>, GitGuardian says "GhostAction never really stopped." Between August 31 and September 30, 2026, a <code>github_actions_security.yml</code> workflow was pushed to 772 public repositories belonging to 373 users and organizations, naming 2,577 secrets. Most of those runs were held for approval. Of 3,669 runs GitGuardian collected, 336 completed and exfiltrated 26 secrets from 13 repositories.</p>
<p>The October wave was far larger and more capable. <a href="https://socket.dev/blog/ghostaction-cloud-credentials" rel="noopener" class="ext">Socket</a> and <a href="https://www.stepsecurity.io/blog/ghostaction-returns" rel="noopener" class="ext">StepSecurity</a> traced an October 8 burst through two compromised maintainer accounts. <code>kitao</code>, the author of Pyxel, pushed to 27 repositories. <code>henrywoo</code> pushed to 318 repositories, including 279 forks, in 16 minutes, ending with Uber's <code>uber/athenadriver</code>. Commits used the victims' real identities, went straight to the default branch and were unsigned. By its October 13 update, GitGuardian counted more than 30,000 repositories across about 3,000 users and organizations, about 1,900 compromised user accounts and 3,174 targeted secrets. It reports that GitHub began preventing the workflow from running on October 9, so waves on October 10 and 12 extracted nothing. GitHub has not published a statement as of October 21, 2026.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>The new <code>security-audit.yml</code> runs on any push or manual dispatch and checks out full history with <code>fetch-depth: 0</code>. It sends the repository's named Actions secrets, then greps the working tree and <code>git log -p --all</code> for 13 credential patterns. Those cover AWS keys and session tokens, Anthropic, OpenAI and OpenRouter keys, GitHub and GitLab PATs, and Google, Slack and SendGrid keys. Everything goes in one plain-HTTP POST to <code>193.32.204.199</code>. Scanning history means credentials committed years ago and later deleted were exposed. GitGuardian reads that as aimed at private repositories, where committed secrets are common. Forks carry the file too, and enabling Actions on a fork or syncing it can run the harvester.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Check, yes. Panic, no. The question is whether the workflow landed in anything you own, fork or mirror, and whether it ran. StepSecurity found that a run on <code>uber/athenadriver</code> reached the attacker's server four seconds after starting, while runs held at <code>action_required</code> by an approval gate never executed. Researchers had seen no malicious package releases using the stolen PyPI, crates.io or other publishing credentials as of October 9. That is not proof the tokens are safe. GitGuardian also stresses that some victims appeared in earlier waves, which suggests secrets were never rotated, and that a compromised account "must be found and revoked too, or someone else will use it again."</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Find the workflow: <code>gh search code '193.32.204.199' --owner &lt;org&gt;</code> and <code>gh search code 'AKIA_CTX_START' --owner &lt;org&gt;</code>. Locally, run <code>git log --all --name-only -- .github/workflows/ | grep -E 'security-audit|github_actions_security|security-check'</code>.</li>
<li>Revoke the account's credentials: PATs, OAuth apps, SSH keys and active sessions. Then reset the password with phishing-resistant MFA, assuming an infostealer.</li>
<li>Rotate every secret the workflow named and every credential found by <code>git log -p --all</code>. Review registry release history and CloudTrail.</li>
<li>Delete the workflow from all branches and revert the commit. Audit forks before enabling Actions.</li>
<li>Require <a href="https://docs.github.com/en/actions/how-tos/manage-workflow-runs/approve-runs-from-forks" rel="noopener" class="ext">approval for workflow runs</a>, protect <code>.github/workflows/</code>, restrict <code>GITHUB_TOKEN</code> permissions per <a href="https://docs.github.com/en/actions/reference/security/secure-use" rel="noopener" class="ext">GitHub's secure-use guidance</a>, and enable push protection.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>A completed run of a "Security Audit" or "Github Actions Security" workflow since August 31 means the named secrets were sent. The marker <code>?c=monami</code> means named secrets were found, and <code>?c=new</code> means history-only results. In the <a href="https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization" rel="noopener" class="ext">organization audit log</a>, look for maintainers adding workflow files directly to default branches. Also look for rapid unsigned commits titled "Add security audit workflow" and for <code>workflow_dispatch</code> on new audit workflows. Search egress telemetry for <code>193.32.204.199</code> on ports 80 and 3000, and CloudTrail for new IAM users or keys tied to any AWS key in the repository.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-08-31">Aug 31, 2026</time> — First 2026 burst: 143 repositories receive <code>github_actions_security.yml</code>.</li>
<li><time datetime="2026-09-05">Sep 5, 2026</time> — Peak day of the late-summer wave, with 294 repositories (per GitGuardian).</li>
<li><time datetime="2026-10-07">Oct 7, 2026</time> — GitGuardian publishes its report, and the October wave begins (per Socket).</li>
<li><time datetime="2026-10-08">Oct 8, 2026</time> — The <code>kitao</code> and <code>henrywoo</code> accounts push the history-mining variant, and a phased push reaches about 28,000 new repositories by Oct 9.</li>
<li><time datetime="2026-10-09">Oct 9, 2026</time> — GitHub starts preventing the workflow from running. Socket and StepSecurity publish, and <a href="https://thehackernews.com/2026/10/credential-stealing-github-actions.html" rel="noopener" class="ext">press coverage</a> begins.</li>
<li><time datetime="2026-10-15">Oct 15, 2026</time> — <a href="https://thehackernews.com/2026/10/ghostaction-compromises-about-1900.html" rel="noopener" class="ext">Reporting</a> on GitGuardian's updated count of about 1,900 compromised accounts.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://blog.gitguardian.com/ghostaction-github-actions-supply-chain-attack-returns/">GitGuardian — GhostAction returns (Oct 7, 2026, updated Oct 9 and 13)</a></li><li><a href="https://socket.dev/blog/ghostaction-cloud-credentials">Socket — GhostAction wave targets cloud credentials</a></li><li><a href="https://www.stepsecurity.io/blog/ghostaction-returns">StepSecurity — GhostAction returns</a></li><li><a href="https://docs.github.com/en/actions/how-tos/manage-workflow-runs/approve-runs-from-forks">GitHub Docs — Approving workflow runs from forks</a></li><li><a href="https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization">GitHub Docs — Reviewing the audit log for your organization</a></li><li><a href="https://docs.github.com/en/actions/reference/security/secure-use">GitHub Docs — Secure use reference for GitHub Actions</a></li><li><a href="https://thehackernews.com/2026/10/credential-stealing-github-actions.html">The Hacker News — Credential-stealing GitHub Actions workflows planted by GhostAction (Oct 9, 2026)</a></li><li><a href="https://thehackernews.com/2026/10/ghostaction-compromises-about-1900.html">The Hacker News — GhostAction compromises about 1,900 GitHub accounts</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: October 7, 2026</title>
<link>https://erroneo.us/security/2026-10-07/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-07/</guid>
<pubDate>Wed, 07 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>2 editorial briefs and 12 critical advisories.</description>
<content:encoded><![CDATA[<p>2 editorial briefs and 12 critical advisories.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-73487/">Flowise Prompt Injection to RCE and SSRF via CSV/Airtable Agent Python Validator Bypass</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-105697/">Langflow: OS command injection (RCE) via arbitrary command in MCP stdio server configuration</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-62253/">Homer: Complete Authentication Bypass When coordinator.jwt.secret Is Empty (Default)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-105857/">Payload Form Builder has an RCE issue</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-106102/">Quasar Framework: Stored/Reflected XSS via unescaped SSR meta tag rendering in getHead()</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-93605/">vm2 contains a sandbox escape vulnerability</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-62176/">PraisonAI: Code Injection via f-string Interpolation in Deploy API Server Generation</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-106501/">Backstage: Sensitive information exposure in Scaffolder</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-105859/">Payload: Unauthorized update to collection documents</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-73483/">Flowise NodeVM sandbox escape via puppeteer allowlist - authenticated RCE and arbitrary file read via Chromium</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-62252/">Homer: Hardcoded Default Admin Password &#x27;sipcapture&#x27; With No Forced Change on First Login</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-105863/">Payload authentication token field handling issue</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Security digest: October 6, 2026</title>
<link>https://erroneo.us/security/2026-10-06/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-06/</guid>
<pubDate>Tue, 06 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>6 critical advisories.</description>
<content:encoded><![CDATA[<p>6 critical advisories.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-105794/">MsQuic: Improper Certificate Validation in Microsoft.Native.Quic.MsQuic.OpenSSL</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-105851/">Payload: Field access control bypass on auth collections</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-105845/">Payload: SQL Injection in SQLite and Postgres</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-105844/">Payload: Prototype pollution in Payload Import Export plugin</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-102422/">shell-quote: `quote()` command injection via a line terminator in a token after a `{ comment }` token</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-10561/">Langflow: PythonREPLComponent executes unsandboxed Python code, enabling authenticated RCE and privilege escalation</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: Atlassian Data Center File Read CVE-2026-21589 Exploited</title>
<link>https://erroneo.us/security/briefs/atlassian-data-center-file-read-cve-2026-21589/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/atlassian-data-center-file-read-cve-2026-21589/</guid>
<pubDate>Mon, 05 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Unauthenticated file read in Jira, Confluence, Bitbucket, Bamboo, Crowd, Fisheye/Crucible Data Center. In CISA KEV Oct 15. Patch or apply WAF rule now.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> Every self-managed Atlassian Data Center product is affected, a public detection script exists and CISA confirms exploitation; patch to a fixed LTS or block traversal patterns at the edge today.</p><p><strong>Who must act:</strong> Anyone running self-managed Jira, Jira Service Management, Confluence, Bitbucket, Bamboo, Crowd, Crucible or Fisheye, especially instances reachable from the internet.<br><strong>Who can relax:</strong> Atlassian Cloud customers: Atlassian says Cloud is patched, found no evidence of exploitation there, and requires no customer action.</p><ol><li>List every self-managed Atlassian instance, including test, staging and Bitbucket mirrors.</li><li>Upgrade each to a fixed version for its line (or the latest release), on every cluster node.</li><li>If you cannot patch today, take internet-facing instances off the internet, or block URLs with &#x27;..&#x27; next to /, \ or :: (including URL-encoded forms) using Atlassian&#x27;s WAF regex or Tomcat RewriteValve rule.</li><li>Search access logs (URL-decoded up to twice) for &#x27;..&#x27; adjacent to /, \ or :: since early October.</li><li>If any request matched, treat files in the web application root as exposed and rotate any secrets they contain.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 5, 2026 Atlassian published an <a href="https://confluence.atlassian.com/security/cve-2026-21589-arbitrary-file-access-vulnerability-impacts-multiple-products-1870495748.html" rel="noopener" class="ext">advisory for CVE-2026-21589</a>, an arbitrary file access flaw in essentially its whole self-managed line. Affected products are Bitbucket, Confluence, Jira Software, Jira Service Management, Bamboo and Crowd Data Center, plus Crucible and Fisheye. An unauthenticated attacker can read specific files inside the web application root directory. Atlassian rates it Critical, CVSS 4.0 score 9.3.</p>
<p>There are limits. The attacker has to know the exact name and path of the target file, and the bug "does not allow attackers to enumerate or list directory contents." Atlassian warns, though, that "in some configurations, there may be sensitive files present that increase your risk." The mitigations it published all block <code>..</code> sequences next to <code>/</code>, <code>\</code> or <code>::</code>, which means this is a path-traversal bug.</p>
<p>watchTowr published a <a href="https://github.com/watchtowrlabs/watchTowr-vs-Atlassian-CVE-2026-21589" rel="noopener" class="ext">detection script</a> for Jira, Confluence and Bitbucket on October 6. CISA added the CVE to its <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-21589" rel="noopener" class="ext">Known Exploited Vulnerabilities catalog</a> on October 15 and set a federal remediation due date of October 18.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Atlassian says all versions before the fixed releases are affected. The <a href="https://www.cve.org/CVERecord?id=CVE-2026-21589" rel="noopener" class="ext">CVE record</a> gives starting points: Bitbucket from 4.6.0, Confluence from 5.10.0, Jira Software from 7.1.0, Jira Service Management from 3.1.0, Bamboo from 7.0.1 and Crowd from 2.11.0. In practice that is any self-managed instance not patched since early October. Atlassian Cloud was patched by Atlassian, which says it found no evidence of exploitation there and that no Cloud customer action is needed.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>If you run any of these products yourself, yes. Several factors push this to the top of the list:</p>
<ul>
<li>No authentication is required, and the products are often exposed to the internet for remote staff, customers (Jira Service Management) or CI integrations (Bitbucket, Bamboo).</li>
<li>Exploitation is confirmed by CISA. Its vulnrichment data in the CVE record marks exploitation as "active" with "total" technical impact.</li>
<li>The "needs the exact path" limitation is weaker than it sounds for software that is installed the same way everywhere. Attackers know where standard files live.</li>
<li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-21589" rel="noopener" class="ext">NVD</a> records Atlassian's vector with high confidentiality impact and high subsequent-system impact. The bug reads files rather than writing them, but what it reads can unlock other systems.</li>
</ul>
<p>Atlassian says "instances accessible to the public internet, including those with user authentication, should be restricted from external network access" until patched or mitigated. Instances reachable only on an internal network are less urgent, but still a short-fuse patch.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Inventory every Data Center, Crucible and Fisheye instance, including staging, DR, and Bitbucket mirrors and mirror farm nodes.</li>
<li>Upgrade to a fixed version. Atlassian recommends the fixed LTS or later. Fixed versions are Bitbucket 9.4.26, 10.2.8 or 10.5.1; Confluence 9.2.26 or 10.2.19; Jira Software 9.12.40, 10.3.26 or 11.3.12; Jira Service Management 5.12.40, 10.3.26 or 11.3.12; Bamboo 10.2.24 or 12.1.12; Crowd 6.3.7, 7.0.3, 7.1.7 or 7.2.4; Crucible and Fisheye 4.9.15. Patch every cluster node.</li>
<li>If you cannot patch now, take the instance off the internet. Or apply one of Atlassian's mitigations on every node: a WAF or proxy rule using its regex (block <code>..</code> adjacent to <code>/</code>, <code>\</code> or <code>::</code>, including URL-encoded forms), Tomcat's <code>RewriteValve</code> with the provided <code>rewrite.config</code> (Confluence, Jira, JSM, Bamboo, Crowd), or a <code>urlrewrite.xml</code> rule (Bitbucket). Test that encoded variants are actually blocked.</li>
<li>Restart the nodes after configuration changes, and confirm the rule fires.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Atlassian says it "cannot confirm if your instances have been affected" and recommends log review. URL-decode each access-log request line (up to two passes) and look for <code>..</code> immediately next to <code>/</code>, <code>\</code> or <code>::</code>. Or run Atlassian's regex over the raw lines. Pay most attention to matching requests that got 200 responses. If you find any, assume the files they targeted were read, find out what those files contain, and rotate any credentials or keys among them. The watchTowr script is a quick way to confirm your own instance is no longer vulnerable once patched.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-10-05">Oct 5, 2026</time> — Atlassian publishes the advisory and fixed versions. The CVE record is published.</li>
<li><time datetime="2026-10-06">Oct 6, 2026</time> — watchTowr publishes a public detection script for Jira, Confluence and Bitbucket.</li>
<li><time datetime="2026-10-15">Oct 15, 2026</time> — CISA adds CVE-2026-21589 to KEV, with a federal due date of Oct 18.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://confluence.atlassian.com/security/cve-2026-21589-arbitrary-file-access-vulnerability-impacts-multiple-products-1870495748.html">Atlassian — CVE-2026-21589: Arbitrary File Access Vulnerability impacts Multiple Products</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-21589">NVD — CVE-2026-21589</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-21589">CVE.org — CVE-2026-21589</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-21589">CISA — Known Exploited Vulnerabilities Catalog (CVE-2026-21589)</a></li><li><a href="https://github.com/watchtowrlabs/watchTowr-vs-Atlassian-CVE-2026-21589">watchTowr Labs — CVE-2026-21589 detection artifact generator (GitHub)</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: October 5, 2026</title>
<link>https://erroneo.us/security/2026-10-05/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-05/</guid>
<pubDate>Mon, 05 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief and 17 critical advisories.</description>
<content:encoded><![CDATA[<p>1 editorial brief and 17 critical advisories.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-92934/">vm2 sandbox escape to host RCE via revisited host-wrapped AggregateError bypassing Error sanitization cycle short-circuit</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-102828/">simple-git unsafe-operation guard does not block trailer command configuration</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92956/">vm2 sandbox escape via WebAssembly.compileStreaming Promise species bypass</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-102829/">simple-git: `VISUAL` editor environment variable is omitted from unsafe editor detection</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-103922/">Capacitor Android and iOS: remote content can be loaded at the app origin via the internal HTTP proxy path</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-104846/">Seroval: `fromJSON()` Promise thenable assimilation invokes plugin-produced callables (bypass of GHSA-mv8w-475r-vwqw)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-9205/">Langflow: Weak Fernet Key via random.seed()</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-90711/">proxy-addr vulnerable to IP spoofing via IPv4-mapped IPv6 trust subnet</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92946/">vm2: NodeVM `require.external` without an explicit `require.root` grants unrestricted host filesystem access and full RCE</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92954/">vm2: Host-returned Promise rejection can bypass vm2&#x27;s unhandled-rejection hardening and terminate the host process</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92947/">vm2: Sandboxed code can read and write host-realm memory via Node&#x27;s shared Buffer pool</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-8505/">Langflow: Unauthenticated Flow Execution via Webhook Authentication Bypass</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92955/">vm2: Sandbox Escape (NodeVM)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-104849/">Tinypool: Prototype Pollution Gadget to RCE in run() options</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-100721/">vm2: NodeVM custom resolution bypasses external path boundaries</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-104848/">Tinypool: Prototype Pollution gadget in worker options leads to Remote Code Execution</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92953/">vm2: Default VM can mutate host TypedArray and ArrayBuffer intrinsics after the host-prototype pollution fix</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: AhsayCBS: Exploited Pre-Auth RCE Chain in Backup Server</title>
<link>https://erroneo.us/security/briefs/ahsaycbs-cve-2026-105133-105134-backup-server-rce/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/ahsaycbs-cve-2026-105133-105134-backup-server-rce/</guid>
<pubDate>Sun, 04 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>An auth bypass plus command injection gives SYSTEM on AhsayCBS, exploited since Oct 7. The first patches were incomplete: install 10.3.4.45 or 9.15.2.70.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> If you or your MSP run an AhsayCBS backup server, install the October 12 hotfix today and hunt for webshells: the chain is unauthenticated, runs as SYSTEM, is being exploited by several actors, and the August patch did not fix it.</p><p><strong>Who must act:</strong> MSPs, system integrators and companies running AhsayCBS v7 through v10 below 10.3.4.45 or 9.15.2.70, including servers that already applied 10.3.4.0 or 9.15.2.59.<br><strong>Who can relax:</strong> Organizations that do not operate an AhsayCBS server; backup customers of a provider that uses Ahsay should still get written confirmation that the provider has patched and checked for compromise.</p><ol><li>Check the build in the AhsayCBS web console under System Settings &gt; License &gt; Update License (Product Version).</li><li>Apply hotfix 10.3.4.45 (v10) or 9.15.2.70 (v7-v9) from Ahsay&#x27;s partner portal, then reboot the server.</li><li>Restrict the management web interface to trusted admin IPs or a VPN.</li><li>Hunt for compromise back to Oct 4, 2026: new JSP files, shells spawned by the AhsayCBS service, a fake MicrosoftEdgeUpdateSvc, and new OpenSSH installs.</li><li>If you find indicators, re-image the host from a trusted backup and rotate every credential stored on or used by the server.</li></ol><h2 id="what-happened">What happened</h2>
<p>AhsayCBS is the server and management console of Ahsay's backup platform. <a href="https://www.huntress.com/blog/ahsaycbs-flaws-exploit" rel="noopener" class="ext">Huntress</a> says it is used mainly by MSPs and system integrators to create users, set backup policies and run backup operations. On October 4, 2026, VulDB published two CVEs against it and noted that an exploit had been published:</p>
<ul>
<li><strong>CVE-2026-105133</strong> (<a href="https://www.cve.org/CVERecord?id=CVE-2026-105133" rel="noopener" class="ext">CVE record</a>, CWE-287): manipulating the <code>random</code> argument in the API's <code>checkSysPwd</code> function bypasses authentication. CVSS 3.1 7.3.</li>
<li><strong>CVE-2026-105134</strong> (<a href="https://www.cve.org/CVERecord?id=CVE-2026-105134" rel="noopener" class="ext">CVE record</a>, CWE-78): the same argument is injected into OS commands at the Replication Receiver endpoint <code>/rps/api/json/UpdateReceivers.do</code>. CVSS 3.1 10.0.</li>
</ul>
<p>Three days later the chain was in use. Huntress saw the first exploitation on October 7 at 23:20 UTC and had counted five targeted organizations by October 8. The attackers ran code as SYSTEM, set up a malicious replication receiver and dropped JSP webshells. They also installed an XMRig miner disguised as <code>edge.exe</code>, kept alive by a fake <code>MicrosoftEdgeUpdateSvc</code> service. <a href="https://www.bitdefender.com/blog/businessinsights/technical-advisory-ahsaycbs-exploitation-chain-cve-2026-105133-cve-2026-105134" rel="noopener" class="ext">Bitdefender</a>'s MDR team investigated three incidents involving webshells, PowerShell staged in <code>C:\Users\Public</code>, credential reconnaissance and an OpenSSH install via obfuscated PowerShell. It says "several different actors may be using the same exploits" and saw no encryption or exfiltration. CISA added both CVEs to <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-105134" rel="noopener" class="ext">KEV</a> on October 14, with an October 17 deadline.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>The CVE records and <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-105134" rel="noopener" class="ext">NVD</a> say AhsayCBS up to 10.3.2 is affected and 10.3.4 is not. That is no longer accurate. Huntress found on October 8 that 10.3.4 is also vulnerable. On October 12, <a href="https://www.ahsay.com/en/company/announcements/patch-cve-105133-105134-update" rel="noopener" class="ext">Ahsay</a> said its earlier patches, 10.3.4.0 and 9.15.2.59, did not fully address the flaws, and released partner-only hotfixes: <strong>10.3.4.45</strong> for v10 and <strong>9.15.2.70</strong> for v7, v8 and v9. Ahsay's <a href="https://www.ahsay.com/en/support/help-centre/release-notes/cbs/v10.3.4" rel="noopener" class="ext">10.3.4 release notes</a> (August 5, 2026) list no security fixes at all. Treat every build below those two hotfixes as vulnerable.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Only if an AhsayCBS server is yours or holds your data, and in that case, yes, today. The chain needs no credentials and gives SYSTEM on the machine that controls backup users, policies and operations for every customer it serves. Exploitation began within days of disclosure, more than one actor appears to be involved (<a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-105133" rel="noopener" class="ext">CVE-2026-105133</a> is also in KEV), and many operators who installed 10.3.4.0 in good faith believed they were patched. Teams that only run endpoint backup clients against a provider's server have nothing to install, but they should ask the provider directly. Everyone else can ignore this one.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Confirm the build in the web console under <strong>System Settings &gt; License &gt; Update License</strong> (Product Version), as Bitdefender describes.</li>
<li>Download and apply hotfix 10.3.4.45 (v10) or 9.15.2.70 (v7-v9) from Ahsay's partner portal, then reboot, as Ahsay instructs. Huntress verified that 10.3.4.45 "mitigates the initial entry point."</li>
<li>Limit the management interface to trusted IPs or a VPN. Huntress and Bitdefender both recommend this, but it is not vendor guidance and not a substitute for patching.</li>
<li>Hunt from October 4 onward (next section). Patching does not remove webshells or other persistence.</li>
<li>If you find indicators, re-image from a trusted backup, as Huntress advises, and rotate credentials the server stores or uses.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Look for new or changed <code>.jsp</code> files in the AhsayCBS web application directories, and <code>cmd.exe</code> or <code>powershell.exe</code> running as children of the AhsayCBS service. Other signs are a <code>MicrosoftEdgeUpdateSvc</code> service backed by <code>edge.exe</code> (XMRig) or <code>msedge.exe</code> (a modified NSSM), a <code>Taskgmr.ps1</code> script, a downloaded <code>WinRing0x64.sys</code> driver, <code>.cmd</code> files in <code>C:\Users\Public</code>, and an OpenSSH server that was never there before. On the network, check for traffic to <code>38.60.252.110</code> (reported by both firms), <code>xmr.kryptex.network:8029</code> and <code>imagefiles-backup.oss-ap-southeast-7.aliyuncs.com</code>. Bitdefender cautions that the reliable signal is "how the server behaves after the exploit fires," because static indicators change between actors.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-08-05">Aug 5, 2026</time> — AhsayCBS 10.3.4 is released.</li>
<li><time datetime="2026-10-04">Oct 4, 2026</time> — CVE-2026-105133 and CVE-2026-105134 are published, with a public exploit noted.</li>
<li><time datetime="2026-10-07">Oct 7, 2026</time> — Huntress sees the first exploitation at 23:20 UTC.</li>
<li><time datetime="2026-10-08">Oct 8, 2026</time> — Huntress publishes its findings, then confirms that 10.3.4 is also affected.</li>
<li><time datetime="2026-10-12">Oct 12, 2026</time> — Ahsay says the earlier patches were incomplete and releases hotfixes 10.3.4.45 and 9.15.2.70.</li>
<li><time datetime="2026-10-14">Oct 14, 2026</time> — CISA adds both CVEs to KEV.</li>
<li><time datetime="2026-10-15">Oct 15, 2026</time> — Bitdefender publishes its advisory, based on three incidents.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.ahsay.com/en/company/announcements/patch-cve-105133-105134-update">Ahsay — (Update) Critical Security Alert: Immediate Action Required for CVE-2026-105133 and CVE-2026-105134</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-105133">CVE record — CVE-2026-105133</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-105134">CVE record — CVE-2026-105134</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-105134">NVD — CVE-2026-105134</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-105133">CISA — Known Exploited Vulnerabilities: CVE-2026-105133</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-105134">CISA — Known Exploited Vulnerabilities: CVE-2026-105134</a></li><li><a href="https://www.huntress.com/blog/ahsaycbs-flaws-exploit">Huntress — Threat Actors Exploit Critical AhsayCBS Flaws to Drop Webshells and XMRig Cryptominer</a></li><li><a href="https://www.bitdefender.com/blog/businessinsights/technical-advisory-ahsaycbs-exploitation-chain-cve-2026-105133-cve-2026-105134">Bitdefender — Technical Advisory: AhsayCBS Exploitation Chain (CVE-2026-105133, CVE-2026-105134)</a></li><li><a href="https://www.ahsay.com/en/support/help-centre/release-notes/cbs/v10.3.4">Ahsay — AhsayCBS v10.3.4 release notes</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: October 4, 2026</title>
<link>https://erroneo.us/security/2026-10-04/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-04/</guid>
<pubDate>Sun, 04 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief and 1 known exploited (cisa kev) addition.</description>
<content:encoded><![CDATA[<p>1 editorial brief and 1 known exploited (cisa kev) addition.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-88779/">CVE-2026-88779</a> Citrix NetScaler: Citrix NetScaler Improper Restriction of Operations within the Bounds of a Memory Buffer Vulnerability (due 2026-10-07)</li></ul>]]></content:encoded>
</item>
<item>
<title>Security digest: October 2, 2026</title>
<link>https://erroneo.us/security/2026-10-02/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-02/</guid>
<pubDate>Fri, 02 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>2 known exploited (cisa kev) additions and 5 critical advisories.</description>
<content:encoded><![CDATA[<p>2 known exploited (cisa kev) additions and 5 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-102490/">CVE-2026-102490</a> Zammad GmbH Zammad: Zammad GmbH Zammad Improper Privilege Management Vulnerability (due 2026-10-05)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-102489/">CVE-2026-102489</a> Zammad GmbH Zammad: Zammad GmbH Zammad Session Fixation Vulnerability (due 2026-10-05)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-73802/">gitea-runner: workflow container.options passes host namespaces and capability flags to job container when privileged mode is disabled</a></li><li><a href="https://erroneo.us/security/ghsa/GHSA-v2f8-6655-7grj/">Vibe-Trading FastAPI endpoints permit unauthenticated access, file upload, and an RCE chain</a></li><li><a href="https://erroneo.us/security/ghsa/GHSA-jqmf-mx4f-hfr6/">Vibe-Trading LLM-callable tools permit command execution, code injection, and SSRF</a></li><li><a href="https://erroneo.us/security/ghsa/GHSA-gg6r-gp4c-89hp/">Trigger.dev: V1 coordinator default-secret unauth Socket.IO</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-10032/">@a2ui/web_core: `openUrl` permits `javascript:` URI execution via agent-supplied button actions</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: FortiMail CVE-2026-104286: Exploited Pre-Auth File Write</title>
<link>https://erroneo.us/security/briefs/fortimail-ibe-path-traversal-cve-2026-104286/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/fortimail-ibe-path-traversal-cve-2026-104286/</guid>
<pubDate>Thu, 01 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Exploited FortiMail zero-day lets unauthenticated attackers write files via the IBE web interface. Fixed in 8.0.2, 7.6.7, 7.4.9. Patch now and check the IOCs.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> If you run a self-managed FortiMail, upgrade today and check Fortinet&#x27;s indicators; this is an unauthenticated file-write zero-day on an internet-facing mail gateway.</p><p><strong>Who must act:</strong> Anyone running FortiMail 7.2, 7.4, 7.6 or 8.0 as an appliance or VM, most urgently where the webmail or IBE interface is reachable from the internet.<br><strong>Who can relax:</strong> FortiMail Cloud customers, whom Fortinet patched on Oct 5, 2026, and organizations that do not run FortiMail.</p><ol><li>List every FortiMail appliance and VM and check its firmware with get system status.</li><li>Upgrade to 8.0.2, 7.6.7 or 7.4.9 or later; move 7.2 systems to 7.4.9 or later.</li><li>If you cannot upgrade today, disable the IBE service (config system encryption ibe, set status disable, end) or remove internet access to the webmail interface.</li><li>With a WAF in front of FortiMail, block POST requests to /ibe that contain &#x27;../&#x27; until patched.</li><li>Hunt for Fortinet&#x27;s indicators before and after upgrading, because upgrading does not remove anything an attacker already planted.</li><li>If you find indicators, treat the appliance as compromised: preserve logs, engage Fortinet support, rebuild, and rotate admin passwords and any credentials stored on the device.</li></ol><h2 id="what-happened">What happened</h2>
<p>On October 1, 2026, Fortinet published <a href="https://fortiguard.fortinet.com/psirt/FG-IR-26-175" rel="noopener" class="ext">FG-IR-26-175</a> for CVE-2026-104286, a critical flaw in FortiMail, its email security gateway. A path traversal (CWE-22) and improper handling of NULL bytes (CWE-158) let an unauthenticated attacker "write arbitrary files on the underlying system via crafted HTTP or HTTPS requests." Fortinet rates it CVSS 3.1 9.8 and lists the impact as executing unauthorized code or commands. The advisory says the issue "has been reported to be exploited in the wild."</p>
<p>Fortinet's product security team found the bug internally. The workaround points at the Identity-Based Encryption (IBE) web feature. CISA added the CVE to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-104286" rel="noopener" class="ext">KEV catalog</a> the same day and gave federal agencies until October 4.</p>
<p>The flaw shipped as a zero-day. When <a href="https://www.securityweek.com/exploited-fortinet-fortimail-zero-day-calls-for-urgent-action/" rel="noopener" class="ext">SecurityWeek</a> and <a href="https://www.helpnetsecurity.com/2026/10/02/fortinet-fortimail-vulnerability-cve-2026-104286/" rel="noopener" class="ext">Help Net Security</a> reported on October 2, no fixed builds were out, only the workaround. Fortinet updated the advisory with fixed releases on October 5 and clarified the FortiMail Cloud status on October 7.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Affected releases are FortiMail 8.0.0 through 8.0.1, 7.6.0 through 7.6.6, 7.4.0 through 7.4.8, and 7.2.0 through 7.2.9. The fixes are 8.0.2, 7.6.7 and 7.4.9. The 7.2 branch gets no fix, and Fortinet tells those users to upgrade to 7.4 or later. Fortinet updated FortiMail Cloud to 7.6.7 or 8.0.2 on October 5, so cloud customers have nothing to do. The machine-readable product list in the <a href="https://www.cve.org/CVERecord?id=CVE-2026-104286" rel="noopener" class="ext">CVE record</a> also includes 7.0.x builds, which the advisory table and description do not mention. If you still run 7.0, treat it as exposed and move to a supported branch.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, if you run FortiMail yourself. A mail gateway is internet-facing by design. Its webmail and IBE pages are commonly reachable from the internet so that outside recipients can retrieve encrypted mail. The bug needs no credentials, is under active exploitation, and gives an attacker a write primitive on an appliance that sees all of your inbound and outbound mail. CISA's enrichment on the CVE record marks it automatable with total technical impact.</p>
<p>Fortinet's indicators suggest what attackers do next. They show an archive account named <code>archive234</code> configured to ship archives to a remote server at <code>79.141.169.187</code>. That suggests mail theft, not just a foothold. Fortinet has not said when exploitation began, how many devices were hit, or who is behind it.</p>
<p>FortiMail Cloud customers and organizations without FortiMail can relax.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Check the firmware on every appliance and VM with <code>get system status</code>.</li>
<li>Upgrade to 8.0.2, 7.6.7 or 7.4.9 or later. Move 7.2 (and any 7.0) systems to 7.4.9 or later.</li>
<li>If you cannot upgrade today, disable IBE in the GUI (Encryption &gt; IBE &gt; IBE Service off) or from the CLI: <code>config system encryption ibe</code>, <code>set status disable</code>, <code>end</code>. Alternatively, block internet access to the webmail interface and allow only trusted private networks.</li>
<li>If a WAF sits in front of FortiMail, block <code>POST</code> requests to <code>/ibe</code> that contain <code>../</code>.</li>
<li>Check the indicators below before and after upgrading. A patch blocks new exploitation but does not remove existing persistence or configuration changes.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Fortinet lists these indicators:</p>
<ul>
<li>The IPs <code>79.141.169.187</code> and <code>45.129.0.192</code>.</li>
<li>A system event log entry with <code>ui=cron</code> whose command starts <code>/bin/sh -c 'O=/migadmin</code>.</li>
<li>An <code>admin</code> logout with <code>reason=unknown</code> from <code>(null)</code>.</li>
<li>A config log entry adding an archive account <code>archive234</code> with <code>remote-ip[79.141.169.187]</code> and <code>remote-directory[/uploads]</code>.</li>
<li>IBE encryption-log errors reading <code>Invalid Base64 Encoding at pos 0. Character=0x2a</code>, alongside <code>Internal user &lt;address&gt; failed to log in</code> entries.</li>
</ul>
<p>Also search web and WAF logs for POSTs to <code>/ibe</code> with traversal sequences. If anything matches, assume compromise. Preserve logs and a configuration backup, open a case with Fortinet, rebuild the appliance from clean firmware, and rotate admin passwords, LDAP or directory bind credentials, and other secrets stored on it. Review whether archived mail was sent off-box.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-10-01">Oct 1, 2026</time> — Fortinet publishes FG-IR-26-175 as an exploited zero-day with a workaround only. CISA adds it to KEV, with a federal deadline of October 4.</li>
<li><time datetime="2026-10-02">Oct 2, 2026</time> — Press coverage notes that fixed builds 8.0.2, 7.6.7 and 7.4.9 are not yet released.</li>
<li><time datetime="2026-10-05">Oct 5, 2026</time> — Fortinet updates the advisory with fixed releases and patches FortiMail Cloud.</li>
<li><time datetime="2026-10-07">Oct 7, 2026</time> — The advisory and CVE record are updated with the FortiMail Cloud clarification (<a href="https://nvd.nist.gov/vuln/detail/CVE-2026-104286" rel="noopener" class="ext">NVD</a>).</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://fortiguard.fortinet.com/psirt/FG-IR-26-175">Fortinet PSIRT — FG-IR-26-175: FortiMail improper limitation of a pathname to a restricted directory</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-104286">CVE record — CVE-2026-104286</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-104286">NVD — CVE-2026-104286</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-104286">CISA — Known Exploited Vulnerabilities: CVE-2026-104286</a></li><li><a href="https://www.helpnetsecurity.com/2026/10/02/fortinet-fortimail-vulnerability-cve-2026-104286/">Help Net Security — Critical FortiMail zero-day exploited in the wild (CVE-2026-104286)</a></li><li><a href="https://www.securityweek.com/exploited-fortinet-fortimail-zero-day-calls-for-urgent-action/">SecurityWeek — Exploited Fortinet FortiMail zero-day calls for urgent action</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: October 1, 2026</title>
<link>https://erroneo.us/security/2026-10-01/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-10-01/</guid>
<pubDate>Thu, 01 Oct 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief, 1 known exploited (cisa kev) addition and 12 critical advisories.</description>
<content:encoded><![CDATA[<p>1 editorial brief, 1 known exploited (cisa kev) addition and 12 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-104286/">CVE-2026-104286</a> Fortinet FortiMail: Fortinet FortiMail Path Traversal Vulnerability (due 2026-10-04)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-92948/">vm2: NodeVM builtin allowlist bypass via node:test.run() execArgv allows sandbox escape</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92940/">vm2 exposes host HTTPS credentials and TLS traffic through globalAgent</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92951/">vm2 Custom Module Resolver Can Bypass the External Package Allowlist by Loading a Colliding Host Package</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92941/">vm2 NodeVM can replace the host process TLS trust store</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92935/">vm2: NodeVM nesting guard accepts array-shaped require and permits host RCE</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92957/">vm2: NodeVM node:-prefixed negative builtin deny bypass exposes child_process</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92938/">vm2 allows a sandboxed plugin to execute native code through `node:sqlite`</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-102992/">piscina: Prototype-pollution gadget in ThreadPool.options allows RCE via execArgv / loadBalancer / env</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92937/">vm2: GHSA-m283-3h24-438v fix bypass leads to host RCE via call/apply indirection</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92939/">vm2 crypto builtin loads attacker native code through setEngine</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-69085/">SiYuan: Unauthenticated SQL injection in searchDocs via unescaped keyword (publish mode): cross-notebook read/write with statement stacking</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-92944/">vm2 sandbox escape on Node.js 26 through a stale PromiseThenLookupChain protector</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: Cisco SD-WAN Manager CVE-2026-76504: Exploited Auth Bypass</title>
<link>https://erroneo.us/security/briefs/cisco-sd-wan-manager-cve-2026-76504-api-auth-bypass/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/cisco-sd-wan-manager-cve-2026-76504-api-auth-bypass/</guid>
<pubDate>Wed, 30 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Unauthenticated admin access to Cisco Catalyst SD-WAN Manager via URI-encoded API requests, exploited and in KEV. No workaround: upgrade to a fixed release now.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> If you run SD-WAN Manager on-prem, upgrade now and check the logs Cisco names; one crafted HTTP request gives an unauthenticated attacker admin over the controller for your whole WAN.</p><p><strong>Who must act:</strong> Every organization running Cisco Catalyst SD-WAN Manager (vManage) on-prem or in a self-managed cloud, on any configuration, below the first fixed release for its train.<br><strong>Who can relax:</strong> Customers on Cisco-managed SD-WAN Cloud (fixed in 20.15.605, no action needed) and organizations that don&#x27;t use Catalyst SD-WAN.</p><ol><li>Identify every SD-WAN Manager instance and its release.</li><li>Upgrade to the first fixed release for your train (20.9.10.1, 20.12.8.2, 20.15.6.1, 20.18.4.1, 26.1.2.1 or 26.2.1); migrate off anything older than 20.9.</li><li>Block access to the Manager&#x27;s web and API interfaces from the internet and other untrusted networks, per Cisco&#x27;s SD-WAN hardening guide.</li><li>If the upgrade must wait, apply Cisco&#x27;s Live Protect shield for CVE-2026-76504 as temporary, partial protection.</li><li>Check the logs below; if anything is suspicious, collect request admin-tech output and open a Severity 3 TAC case with CVE-2026-76504 in the title.</li><li>After patching, review admin users, API tokens and recent policy or template changes, and rotate admin credentials.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 30, 2026, Cisco published a critical <a href="https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-sdwan-webauth-xr8beuuU" rel="noopener" class="ext">advisory</a> for CVE-2026-76504 (CVSS 3.1 9.8, CWE-177) in Catalyst SD-WAN Manager, formerly vManage. The bug sits in the API's session-based authentication. Because the Manager mishandles URI encoding, a crafted HTTP request can slip past an authentication rule meant to protect a specific API endpoint. The attacker then has API access "with privileges of the admin user," without any credentials. Cisco found the flaw while resolving a TAC support case, and its PSIRT "became aware of active exploitation of this vulnerability in September 2026."</p>
<p>CISA added the CVE to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-76504" rel="noopener" class="ext">KEV catalog</a> the same day, with a federal deadline of October 3. Cisco updated the advisory on October 2 to announce a Live Protect shield as a stopgap. <a href="https://bleepingcomputer.com/news/security/cisco-warns-of-new-sd-wan-authentication-bypass-zero-day-exploited-in-attacks" rel="noopener" class="ext">BleepingComputer</a> counts it as the fifth Catalyst SD-WAN zero-day exploited in 2026, after CVE-2026-20127, CVE-2026-20182, CVE-2026-20245 and CVE-2026-20262. <a href="https://rapid7.com/blog/post/etr-critical-cisco-catalyst-sd-wan-manager-api-authentication-bypass-exploited-in-the-wild-cve-2026-76504" rel="noopener" class="ext">Rapid7</a> stresses that this is a separate API authentication path, not the vdaemon peering flaws behind the February and May incidents. Patching for those does not cover this one.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Cisco says the flaw affects SD-WAN Manager "regardless of system configuration." Releases earlier than 20.9 get no fix and must migrate. The first fixed releases are:</p>
<table>
<tr><th>Train</th><th>First fixed</th></tr>
<tr><td>20.9</td><td>20.9.10.1</td></tr>
<tr><td>20.12</td><td>20.12.8.2</td></tr>
<tr><td>20.15</td><td>20.15.6.1</td></tr>
<tr><td>20.18</td><td>20.18.4.1</td></tr>
<tr><td>26.1</td><td>26.1.2.1</td></tr>
<tr><td>26.2</td><td>26.2.1</td></tr>
</table>
<p>Cisco-managed SD-WAN Cloud is fixed in 20.15.605 and needs no customer action. The <a href="https://www.cve.org/CVERecord?id=CVE-2026-76504" rel="noopener" class="ext">CVE record</a> carries CISA's "Exploitation: active, Automatable: yes, Technical Impact: total" assessment.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>If you operate SD-WAN Manager yourself, yes, now. Admin on the Manager means control of the configuration, templates and policy pushed to every edge router it manages, which BleepingComputer notes can be up to 6,000 devices from one dashboard. Exploitation needs one unauthenticated request, it is confirmed in the wild, and Cisco lists no workaround. The Live Protect shield is described as partial protection only, and it can block legitimate logins that use URI encoding. Exposure matters too: a Manager whose web and API interfaces are reachable from the internet is the obvious target. Isolating it buys time but does not remove the bug. If your WAN is Cisco-managed cloud, or you don't run Catalyst SD-WAN, there is nothing to do.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>List every on-prem or self-hosted SD-WAN Manager and its release.</li>
<li>Upgrade to the fixed release for your train. Anything earlier than 20.9 needs a migration plan now, because it will not get a fix.</li>
<li>Restrict the Manager's HTTPS and API interfaces to known admin hosts behind a filtering device, as Cisco recommends.</li>
<li>If you can't upgrade this week, deploy the Live Protect shield for CVE-2026-76504, and warn admins about the possible login side effect.</li>
<li>If the logs below show anything unexplained, run <code>request admin-tech</code> and open a Severity 3 TAC case with "CVE-2026-76504" in the title. Cisco asks for this before customers draw their own conclusions about compromise.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Cisco names two places to look. First, in <code>/var/log/nms/containers/service-proxy/serviceproxy-access.log</code>, look for requests to <code>j_security_check</code> where a character is URI-encoded, for example <code>POST /%6a_security_check</code>. Cisco notes any character can be encoded. A quick pass: <code>grep -i '_security_check' serviceproxy-access.log | grep '%'</code>. Second, in <code>/var/log/nms/vmanage-server.log</code>, look for <code>j_security_check</code> entries from unknown IPs, especially for usernames starting with <code>viptela-reserved-</code>. Some of these entries appear in normal operation, so compare against your baseline. Then review admin accounts and recent template or policy pushes to edge devices.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-30">Sep 30, 2026</time> — Cisco publishes the advisory and fixed releases, saying its PSIRT learned of exploitation earlier in September (exact date not disclosed as of Oct 21, 2026). CISA adds CVE-2026-76504 to KEV.</li>
<li><time datetime="2026-10-02">Oct 2, 2026</time> — Cisco updates the advisory to announce the Live Protect shield.</li>
<li><time datetime="2026-10-03">Oct 3, 2026</time> — CISA's remediation deadline for federal agencies.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-sdwan-webauth-xr8beuuU">Cisco — Cisco Catalyst SD-WAN Manager API Authentication Bypass Vulnerability (cisco-sa-sdwan-webauth-xr8beuuU)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-76504">CVE record — CVE-2026-76504</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-76504">CISA — Known Exploited Vulnerabilities: CVE-2026-76504</a></li><li><a href="https://rapid7.com/blog/post/etr-critical-cisco-catalyst-sd-wan-manager-api-authentication-bypass-exploited-in-the-wild-cve-2026-76504">Rapid7 — Critical Cisco Catalyst SD-WAN Manager API authentication bypass exploited in the wild (CVE-2026-76504)</a></li><li><a href="https://bleepingcomputer.com/news/security/cisco-warns-of-new-sd-wan-authentication-bypass-zero-day-exploited-in-attacks">BleepingComputer — Cisco warns of new SD-WAN authentication bypass zero-day exploited in attacks</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Act now: Zammad CVE-2026-102489/102490: Exploited RCE-to-Root Chain</title>
<link>https://erroneo.us/security/briefs/zammad-cve-2026-102489-102490-rce-root-chain/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/zammad-cve-2026-102489-102490-rce-root-chain/</guid>
<pubDate>Wed, 30 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Zero-day chain used to breach DIVD: session hijack RCE in Zammad 6.3-6.5.4 plus root LPE in DEB/RPM installs. Upgrade to 7.2.2 (or 6.5.5) and hunt.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> Self-hosted Zammad on 6.x is remotely exploitable and was used in a real breach: upgrade to 7.2.2 today (6.5.5 only as a stopgap), and patch DEB/RPM installs of any version to close the root escalation.</p><p><strong>Who must act:</strong> Anyone self-hosting Zammad 6.3.0-6.5.4 (remote code execution), and anyone running Zammad from the DEB or RPM packages below 7.2.2 (local root escalation that completes the chain).<br><strong>Who can relax:</strong> Zammad SaaS customers, and self-hosted 7.x installs running from source or the official container images, which neither bug can be used against as published.</p><ol><li>Find every self-hosted Zammad and its version and install type (dpkg -l zammad, rpm -q zammad, or the container image tag).</li><li>Upgrade to Zammad 7.2.2; if you are stuck on 6.5, install 6.5.5 today and plan the move to 7.2.2.</li><li>If you cannot upgrade a 6.x instance now, take it offline or put it behind a VPN, as DIVD advises.</li><li>Run DIVD&#x27;s log check script for CVE-2026-102489 and preserve /var/log/zammad and the web server logs before rebuilding.</li><li>If you find signs of compromise, rebuild the host and rotate every credential Zammad stores or can reach, including mail, LDAP and API tokens.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 30, 2026, the Dutch Institute for Vulnerability Disclosure (DIVD) published two CVEs for the open-source Zammad helpdesk and said attackers had used them to breach DIVD itself. According to <a href="https://csirt.divd.nl/cases/DIVD-2026-00015/" rel="noopener" class="ext">DIVD's case page</a>, the chain was "abused to breach DIVD" on September 21 and reported to Zammad on September 24.</p>
<ul>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-102489" rel="noopener" class="ext">CVE-2026-102489</a> is a session hijack (CISA tags it as session fixation) that leads to remote code execution as the <code>zammad</code> service user. It is rated CVSS 4.0 8.7 by DIVD, the CNA, and 9.8 on CVSS 3.1 by <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-102489" rel="noopener" class="ext">NVD</a>.</li>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-102490" rel="noopener" class="ext">CVE-2026-102490</a> is a local privilege escalation from <code>zammad</code> to root. In the DEB and RPM packages, services started as root and ran files that the <code>zammad</code> account could write before dropping privileges. Because those services restart automatically, an attacker could escalate "within seconds." It is rated 8.5 alone and 9.4 when chained.</li>
</ul>
<p>DIVD told <a href="https://www.bleepingcomputer.com/news/security/divd-says-zammad-zero-days-enabled-ai-driven-network-breach/" rel="noopener" class="ext">BleepingComputer</a> that after reaching root, the attacker accessed other services and exfiltrated data, and that an AI agent appeared to be choosing the next steps on its own. DIVD called the activity "loud and very, very messy." That is DIVD's assessment from observed behavior, and no actor has been named. CISA added both CVEs to the KEV catalog on October 2 (<a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-102489" rel="noopener" class="ext">102489</a>, <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-102490" rel="noopener" class="ext">102490</a>), with an October 5 deadline.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>The disclosure was messy, and the vendor and DIVD initially disagreed. On October 1, Zammad <a href="https://community.zammad.org/t/take-care-local-privilege-escalation-cve-2026-102490-is-reported-as-being-actively-exploited/21297/2" rel="noopener" class="ext">said</a> it could not confirm the privilege escalation because DIVD had not shared details. Zammad later confirmed both. Where things stand now:</p>
<ul>
<li><strong>RCE (CVE-2026-102489):</strong> exploitable on Zammad 6.3.0 through 6.5.4. It sits in the application itself, and the CVE record lists both Linux and Docker installs. The code is present in 7.0.0 through 7.1.x, but both Zammad and DIVD say it is not exploitable there because of the runtime environment. Zammad 7.2.0 added hardening. On October 15, Zammad shipped <a href="https://zammad.com/en/releases/6-5-5" rel="noopener" class="ext">6.5.5</a> as an emergency fix for the unsupported 6.5 series and said it "does not extend its support lifecycle."</li>
<li><strong>Root escalation (CVE-2026-102490):</strong> only DEB and RPM packages built with packager.io, from 1.5.0 through 7.2.1, are affected. Source installs and the official container images are not. The fix is <a href="https://zammad.com/en/releases/7-2-2" rel="noopener" class="ext">7.2.2</a>, released October 8 with advisory <a href="https://github.com/zammad/zammad/security/advisories/GHSA-p97w-927q-8vxq" rel="noopener" class="ext">GHSA-p97w-927q-8vxq</a>. Zammad says SaaS customers need no action.</li>
</ul>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>If you self-host Zammad 6.x, yes, today. The RCE needs no credentials, it has been used in a real intrusion, and DIVD is scanning for exposed instances. A helpdesk holds customer conversations, attachments and mail credentials, and it often sits inside the network. On a DEB or RPM install, the second bug turns that foothold into root on the host in seconds.</p>
<p>If you already run 7.x from packages, the remote entry point is closed, but the root escalation still matters. Any other bug or stolen credential that gives code execution as <code>zammad</code> becomes root. Upgrade to 7.2.2 this week. On 7.x via Docker or source, neither published bug applies. Stay current anyway, since Zammad shipped several other security releases in 2026.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Identify every instance and how it was installed: <code>dpkg -l zammad</code> or <code>rpm -q zammad</code> for packages, or the image tag in your compose file for Docker.</li>
<li>Upgrade to 7.2.2: <code>apt-get update &amp;&amp; apt-get install --only-upgrade zammad</code> or <code>dnf upgrade zammad</code>. For Docker, set the 7.2.2 tag, then <code>docker compose pull &amp;&amp; docker compose up -d</code>.</li>
<li>If a 6.5 instance cannot move to 7 today, install 6.5.5 now and schedule the 7.2.2 upgrade. If you cannot do either, take it offline as DIVD advises, or restrict it to a VPN.</li>
<li>Restrict shell access to the Zammad host to trusted administrators, as Zammad's <a href="https://zammad.com/en/advisories/cve-2026-102489-cve-2026-102490" rel="noopener" class="ext">advisory</a> recommends.</li>
<li>If an exposed 6.x instance ran unpatched, rebuild the host and rotate the credentials Zammad stores, including mail accounts, LDAP binds, integrations and API tokens.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>DIVD publishes a log check script for CVE-2026-102489, linked from its case page. Preserve <code>/var/log/zammad</code> and your nginx or Apache logs before you run it, upgrade or rebuild. <a href="https://www.sysdig.com/blog/ai-agent-exploits-zammad-zero-days-in-divd-breach-what-we-know-and-how-to-detect-it" rel="noopener" class="ext">Sysdig</a> suggests looking for a session reused from a new address shortly after login, and for requests that skip the normal login flow. Also flag shells, download tools or new outbound connections spawned by Zammad's Rails, Puma or worker processes, and any process in that tree running as root. On package installs, look for files in the Zammad install directory changed by the <code>zammad</code> user outside of upgrades. If you find any of these, assume root compromise of the host.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-21">Sep 21, 2026</time> — Attackers use the chain to breach DIVD.</li>
<li><time datetime="2026-09-24">Sep 24, 2026</time> — DIVD reports the flaws to Zammad. It starts notifying owners of vulnerable instances on Sep 26.</li>
<li><time datetime="2026-09-30">Sep 30, 2026</time> — The CVE records are published and DIVD discloses the breach.</li>
<li><time datetime="2026-10-02">Oct 2, 2026</time> — CISA adds both CVEs to KEV.</li>
<li><time datetime="2026-10-08">Oct 8, 2026</time> — Zammad 7.2.2 fixes the DEB/RPM root escalation.</li>
<li><time datetime="2026-10-15">Oct 15, 2026</time> — Zammad 6.5.5 ships an emergency fix for CVE-2026-102489 on the 6.5 series.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://zammad.com/en/advisories/cve-2026-102489-cve-2026-102490">Zammad — Security Advisory: CVE-2026-102489 and CVE-2026-102490</a></li><li><a href="https://github.com/zammad/zammad/security/advisories/GHSA-p97w-927q-8vxq">Zammad / GitHub — GHSA-p97w-927q-8vxq: Local privilege escalation to root in DEB/RPM packages (packager.io)</a></li><li><a href="https://zammad.com/en/releases/7-2-2">Zammad — Release 7.2.2</a></li><li><a href="https://zammad.com/en/releases/6-5-5">Zammad — Release 6.5.5</a></li><li><a href="https://community.zammad.org/t/take-care-local-privilege-escalation-cve-2026-102490-is-reported-as-being-actively-exploited/21297/2">Zammad Community — Local privilege escalation CVE-2026-102490 is reported as being actively exploited</a></li><li><a href="https://csirt.divd.nl/cases/DIVD-2026-00015/">DIVD — DIVD-2026-00015: Zammad vulnerabilities</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-102489">CVE record — CVE-2026-102489</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-102490">CVE record — CVE-2026-102490</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-102489">NVD — CVE-2026-102489</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-102489">CISA — Known Exploited Vulnerabilities: CVE-2026-102489</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-102490">CISA — Known Exploited Vulnerabilities: CVE-2026-102490</a></li><li><a href="https://www.bleepingcomputer.com/news/security/divd-says-zammad-zero-days-enabled-ai-driven-network-breach/">BleepingComputer — DIVD says Zammad zero-days enabled AI-driven network breach</a></li><li><a href="https://www.sysdig.com/blog/ai-agent-exploits-zammad-zero-days-in-divd-breach-what-we-know-and-how-to-detect-it">Sysdig — AI agent exploits Zammad zero-days in DIVD breach: what we know and how to detect it</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 30, 2026</title>
<link>https://erroneo.us/security/2026-09-30/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-30/</guid>
<pubDate>Wed, 30 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>2 editorial briefs, 1 known exploited (cisa kev) addition and 1 critical advisory.</description>
<content:encoded><![CDATA[<p>2 editorial briefs, 1 known exploited (cisa kev) addition and 1 critical advisory.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-76504/">CVE-2026-76504</a> Cisco Catalyst SD-WAN Manager: Cisco Catalyst SD-WAN Manager Hex Encoding Vulnerability (due 2026-10-03)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/ghsa/GHSA-vcvr-r3jv-pc5j/">Next.js: Remote Code Execution in next/og ImageResponse</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Security digest: September 29, 2026</title>
<link>https://erroneo.us/security/2026-09-29/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-29/</guid>
<pubDate>Tue, 29 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 known exploited (cisa kev) addition and 2 critical advisories.</description>
<content:encoded><![CDATA[<p>1 known exploited (cisa kev) addition and 2 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-86950/">CVE-2026-86950</a> Apple Multiple Products: Apple Multiple Products Out-of-Bounds Write Vulnerability (due 2026-10-13)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-101894/">@xhmikosr/decompress: Path traversal via symlink chain</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-102268/">PyJWT: Asymmetric-PEM detection bypass: whitespace/line-ending-mutated public keys skip the HS/asymmetric confusion guard</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Patch this week: Apple CoreGraphics CVE-2026-86950: Exploited Zero-Day</title>
<link>https://erroneo.us/security/briefs/apple-coregraphics-cve-2026-86950-exploited-zero-day/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/apple-coregraphics-cve-2026-86950-exploited-zero-day/</guid>
<pubDate>Mon, 28 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>CoreGraphics out-of-bounds write used in targeted attacks on iOS. Fixed in iOS/iPadOS 26.7.1, macOS Tahoe 26.7.1 and Sequoia 15.8.1. Update this week.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> A targeted file-parsing zero-day with a fix out since September 28: confirm every iPhone, iPad and Mac is on 26.7.1, 15.8.1 or a 27.x release this week, and today for high-risk users.</p><p><strong>Who must act:</strong> Anyone managing iPhones, iPads or Macs still on iOS/iPadOS 26 below 26.7.1, macOS Tahoe below 26.7.1 or macOS Sequoia below 15.8.1, most urgently devices used by executives, journalists, administrators and others likely to be singled out.<br><strong>Who can relax:</strong> Devices already on iOS/iPadOS 26.7.1, macOS Tahoe 26.7.1, macOS Sequoia 15.8.1 or the 27.x releases, which the CVE record does not list as affected.</p><ol><li>Check every Mac with sw_vers -productVersion and every iPhone and iPad in MDM; anything below 26.7.1 (iOS, iPadOS, Tahoe) or 15.8.1 (Sequoia) needs the update.</li><li>Install the update: softwareupdate --install --all --restart on Macs, Settings &gt; General &gt; Software Update on iPhone and iPad.</li><li>Enforce a minimum OS version with a deadline in your MDM, and block corporate access from devices that miss it.</li><li>Flag Macs on macOS Sonoma and iPhones on iOS 18, which got no update for this bug, for replacement or restricted access.</li><li>For high-risk users, turn on Lockdown Mode as general hardening; Apple has not said whether it would have stopped this attack.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 28, 2026, Apple released iOS 26.7.1 and iPadOS 26.7.1, macOS Tahoe 26.7.1 and macOS Sequoia 15.8.1. Each update fixes a single bug, <a href="https://www.cve.org/CVERecord?id=CVE-2026-86950" rel="noopener" class="ext">CVE-2026-86950</a>, an out-of-bounds write in CoreGraphics, the system framework that draws 2D graphics, fonts and PDF pages. Apple's description reads: "Processing a maliciously crafted file may lead to arbitrary code execution." Its <a href="https://support.apple.com/en-us/149226" rel="noopener" class="ext">iOS security note</a> adds: "Apple is aware of a report that this issue may have been exploited in an extremely sophisticated attack against specific targeted individuals on versions of iOS before iOS 27." Apple credits Meta Product Security with the report.</p>
<p>CISA added the CVE to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-86950" rel="noopener" class="ext">KEV catalog</a> on September 29, with a federal deadline of October 13. CISA's ADP scores it CVSS 3.1 8.8: reachable over the network, no privileges needed, but the victim has to process the file. <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-86950" rel="noopener" class="ext">NVD</a> uses the same score.</p>
<p>Apple has not said who was targeted, how the file was delivered or who was behind the attack. On September 30, researchers at Calif published a <a href="https://calif.io/research/the-great-glyph-grift" rel="noopener" class="ext">root-cause analysis</a> based on a diff of iOS 26.7 and 26.7.1. They found that CoreGraphics was the only library that changed. The bug sits in the glyph rasterizer's float-to-fixed-point coordinate conversion: a glyph's bounding box comes out too small, so the coverage buffer is undersized and <code>aa_cache_render</code> writes past its end. Their <a href="https://github.com/califio/publications/tree/main/MADBugs/CVE-2026-86950" rel="noopener" class="ext">trigger</a> is a PDF with a crafted embedded TrueType font. It crashes macOS, and iOS according to Calif, through the ImageIO thumbnail path that apps use to preview attachments. The PoC does not achieve code execution, and Calif did not have the in-the-wild sample. Calif also noticed that a recent WhatsApp build added checks for malformed PDF font programs. It calls that circumstantial evidence of a possible delivery path, and <a href="https://thehackernews.com/2026/10/apple-coregraphics-poc-emerges-as.html" rel="noopener" class="ext">The Hacker News notes</a> that WhatsApp has published no advisory linking the two.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Affected: iPhone 11 and later, plus the iPads listed in Apple's note, on iOS or iPadOS 26 before 26.7.1, and Macs on macOS Tahoe before 26.7.1 (<a href="https://support.apple.com/en-us/149228" rel="noopener" class="ext">Tahoe note</a>) or Sequoia before 15.8.1 (<a href="https://support.apple.com/en-us/149229" rel="noopener" class="ext">Sequoia note</a>). Some older iPads, such as the iPad 8th generation, iPad Air 3rd generation and iPad mini 5th generation, cannot move to iOS 27, so they need 26.7.1.</p>
<p>The CVE record lists no other affected versions. Apple shipped iOS 27 and macOS Golden Gate 27 on September 14, and their security notes do not mention this CVE. The 27.0.1 updates released on September 28 have no published CVE entries, according to <a href="https://support.apple.com/en-us/100100" rel="noopener" class="ext">Apple's security releases page</a>. Apple has not released a fix for macOS Sonoma or for iOS 18 on the iPhone XS and XR. Whether those versions contain the bug is not disclosed as of Oct 21, 2026.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, but this is an inventory job, not a fire drill. Apple describes a targeted attack, not mass exploitation, and the fix has been out for three weeks, so devices that install updates automatically are likely already covered. Two things raise the stakes for everyone else. First, the bug is in file parsing that can run when a received document is merely previewed, so the user interaction required may be small. Second, a public crash trigger and a patch diff now exist, which lowers the cost for others to build a working exploit.</p>
<p>Prioritize people who are plausible targets, and any device that has fallen behind on updates or cannot update at all. Apple has not said whether Lockdown Mode would have blocked the delivery path.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Check versions. On Macs, run <code>sw_vers -productVersion</code>. For iPhones and iPads, pull an OS version report from your MDM.</li>
<li>Update anything below the fixed builds. On Macs, run <code>softwareupdate --list</code>, then <code>sudo softwareupdate --install --all --restart</code>. On iPhone and iPad, go to Settings &gt; General &gt; Software Update.</li>
<li>Enforce a minimum OS version with a deadline through MDM, and block corporate access from devices that miss it.</li>
<li>Identify Sonoma Macs and iOS 18 iPhones, which got no update for this bug, and plan to replace them or restrict their access.</li>
<li>For high-risk staff, turn on Lockdown Mode (Settings &gt; Privacy &amp; Security) as general hardening.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Apple has published no indicators of compromise, and most teams have no reliable way to confirm targeting. A low-cost check is crash reports. Calif's crash ends inside CoreGraphics in <code>aa_cache_render</code>. On Macs, look in <code>~/Library/Logs/DiagnosticReports</code> and <code>/Library/Logs/DiagnosticReports</code> for <code>.ips</code> files showing CoreGraphics crashes in apps that preview files. On iPhone, look under Settings &gt; Privacy &amp; Security &gt; Analytics &amp; Improvements &gt; Analytics Data. Treat a crash as a lead, not proof: a working exploit may leave no crash at all. If someone may have been singled out, arrange a professional mobile forensics review.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-14">Sep 14, 2026</time> — Apple ships iOS 27 and macOS Golden Gate 27. Their security notes do not list CVE-2026-86950.</li>
<li><time datetime="2026-09-28">Sep 28, 2026</time> — Apple releases iOS/iPadOS 26.7.1, macOS Tahoe 26.7.1 and macOS Sequoia 15.8.1 with the fix, noting possible exploitation. The CVE is published.</li>
<li><time datetime="2026-09-29">Sep 29, 2026</time> — CISA adds CVE-2026-86950 to KEV.</li>
<li><time datetime="2026-09-30">Sep 30, 2026</time> — Calif publishes its root-cause analysis and crash trigger.</li>
<li><time datetime="2026-10-13">Oct 13, 2026</time> — CISA's remediation deadline for federal agencies.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://support.apple.com/en-us/149226">Apple — About the security content of iOS 26.7.1 and iPadOS 26.7.1</a></li><li><a href="https://support.apple.com/en-us/149228">Apple — About the security content of macOS Tahoe 26.7.1</a></li><li><a href="https://support.apple.com/en-us/149229">Apple — About the security content of macOS Sequoia 15.8.1</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-86950">CVE record — CVE-2026-86950</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-86950">NVD — CVE-2026-86950</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-86950">CISA — Known Exploited Vulnerabilities: CVE-2026-86950</a></li><li><a href="https://support.apple.com/en-us/100100">Apple — Apple security releases</a></li><li><a href="https://calif.io/research/the-great-glyph-grift">Calif — CVE-2026-86950: The Great Glyph Grift</a></li><li><a href="https://github.com/califio/publications/tree/main/MADBugs/CVE-2026-86950">Calif / GitHub — CVE-2026-86950 trigger and write-up</a></li><li><a href="https://thehackernews.com/2026/10/apple-coregraphics-poc-emerges-as.html">The Hacker News — Apple CoreGraphics PoC Emerges as WhatsApp PDF Checks Hint at Possible Delivery Path</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 28, 2026</title>
<link>https://erroneo.us/security/2026-09-28/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-28/</guid>
<pubDate>Mon, 28 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief.</description>
<content:encoded><![CDATA[<p>1 editorial brief.</p>]]></content:encoded>
</item>
<item>
<title>Act now: NetScaler CVE-2026-88771/88772: Exploited Pre-Auth RCE</title>
<link>https://erroneo.us/security/briefs/citrix-netscaler-cve-2026-88771-88772-zero-days/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/citrix-netscaler-cve-2026-88771-88772-zero-days/</guid>
<pubDate>Sun, 27 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Two NetScaler ADC/Gateway zero-days (CVSS 9.5) exploited since early Sept 2026; fixed in 14.1-73.41/13.1-64.28 incl. SAML follow-up. Patch and hunt now.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> Every customer-managed NetScaler ADC or Gateway needs the latest build today, and any appliance that was unpatched in September should be investigated as compromised, because patching does not evict attackers.</p><p><strong>Who must act:</strong> All customer-managed NetScaler ADC and Gateway 14.1 and 13.1 (including FIPS/NDcPP and Secure Private Access hybrid) deployments.<br><strong>Who can relax:</strong> Citrix-managed cloud services and Adaptive Authentication customers, which Citrix updates itself.</p><ol><li>Preserve evidence first: VPX snapshot, tech-support bundle, packet engine core dump, remote syslog</li><li>Run Citrix&#x27;s NetScaler Console IOC scan and Unit 42 hunting checks</li><li>Upgrade to 14.1-73.41 / 13.1-64.28 (or FIPS equivalents), which also cover the SAML follow-up CVE-2026-88779</li><li>If compromised, restore a pre-compromise backup and rotate local passwords, KEKs and SSL certificates</li><li>Keep management interfaces off the internet and forward logs to a SIEM</li><li>Plan off 13.1, which reached End of Maintenance on September 15, 2026</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 27, 2026, Cloud Software Group published <a href="https://support.citrix.com/external/article/CTX697096" rel="noopener" class="ext">bulletin CTX697096</a> covering eight NetScaler ADC and Gateway flaws and stating that "exploits of CVE-2026-88771 and CVE-2026-88772 on unmitigated NetScaler deployments have been observed." CVE-2026-88771 is an improper input validation bug that lets an unauthenticated attacker run arbitrary commands on any deployment in default configuration. CVE-2026-88772 is a memory overflow reachable when DTLS is enabled, which is the default on VPN virtual servers, and leads to RCE or denial of service. Both are rated CVSS 4.0 9.5 (<a href="https://nvd.nist.gov/vuln/detail/CVE-2026-88771" rel="noopener" class="ext">NVD</a> adds a 3.1 score of 9.8 for CVE-2026-88771). CISA added both to KEV the same day and published an <a href="https://www.cisa.gov/news-events/alerts/2026/09/27/critical-zero-day-vulnerabilities-exploited-citrix-netscaler-adc-gateway" rel="noopener" class="ext">alert</a>.</p>
<p><a href="https://unit42.paloaltonetworks.com/netscaler-zero-days-exploited/" rel="noopener" class="ext">Unit 42's reconstruction</a> shows these were true zero-days. Fingerprinting began on August 21. From September 4, actors used the DTLS bug to drop .deb web shells. On September 21, they ran a three-stage log-poisoning chain for CVE-2026-88771 against a U.S. target, writing commands into <code>ns.log</code> that a Perl monitoring script then executed. The last observed request came hours before the bulletin. <a href="https://thehackernews.com/2026/09/warning-two-unpatched-citrix-netscaler.html" rel="noopener" class="ext">The Hacker News</a> reported that watchTowr had flagged two exploited, unpatched NetScaler RCEs the day before. No actor has been publicly named as of October 21, 2026.</p>
<p>A follow-up came a week later. Patched SAML appliances began rebooting, and on October 3 Citrix published <a href="https://support.citrix.com/external/article/CTX697174" rel="noopener" class="ext">CTX697174</a> for CVE-2026-88779 (CVSS 4.0 8.7), a memory overflow in SAML SP/IdP configurations. Citrix classifies it as denial of service, but <a href="https://bleepingcomputer.com/news/security/citrix-patches-netscaler-saml-zero-day-exploited-in-attacks" rel="noopener" class="ext">BleepingComputer</a> reported administrators seeing shell commands in crafted usernames. CISA notes that a forced reboot can help code injected via CVE-2026-88771 execute. It entered KEV on October 4. CISA's alert also lists a further identifier, CVE-2026-107406 (October 9), whose bulletin we could not retrieve.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Customer-managed NetScaler ADC and Gateway 14.1 before 14.1-73.37 and 13.1 before 13.1-64.23, plus the FIPS/NDcPP equivalents and Secure Private Access hybrid deployments. SAML users need 14.1-73.41 or 13.1-64.28. Unit 42 counted 50,277 exposed, potentially vulnerable instances on September 27. The 13.1 branch reached End of Maintenance on September 15.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes. There is no meaningful precondition: CVE-2026-88771 works in default configuration, exploitation predates disclosure by three weeks, and NetScaler bugs historically turn into mass exploitation within days of disclosure. Patching closes the hole but, as Unit 42 stresses, does not remove persistence an attacker already planted. Anyone who was exposed in September has an investigation to do, not just an upgrade.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Before upgrading, preserve evidence: a VPX snapshot, a tech-support bundle, a packet engine core dump, and remote syslog and NetScaler Console logs.</li>
<li>Run the IOC scan Citrix published in NetScaler Console, and CISA's SIGMA rules.</li>
<li>Upgrade straight to 14.1-73.41 or 13.1-64.28 (14.1-73.41 FIPS or 13.1-37.282 FIPS/NDcPP), which covers both bulletins.</li>
<li>For CVE-2026-88778 (TCP ISN prediction), enable Enhanced ISN Generation per Citrix.</li>
<li>If you find compromise, restore a known-good backup from before the compromise, then rotate local passwords, key-encryption keys and SSL certificates, per CISA.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>From Unit 42: search NetScaler logs for <code>pitboss</code>, which on an unpatched device means execution was likely. Check for <code>/var/netscaler/logon/LogonPoint/custom/.ctxs.receiver</code>, <code>/vpn/scripts/linux/nsg64.deb</code> and <code>nsgclient18.deb</code>, a setuid <code>/bin/sh</code>, and unexpected PHP or alias entries in <code>httpd.conf</code>. Treat any requests to <code>/logon/LogonPoint/Authentication/GetUserName</code> as anomalous, and match traffic against the nine IP indicators Unit 42 lists. Post-disclosure attackers may use different tooling, so a clean IOC sweep is not proof of safety.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-08-21">Aug 21, 2026</time> — Version fingerprinting of NetScaler devices begins.</li>
<li><time datetime="2026-09-04">Sep 4, 2026</time> — CVE-2026-88772 web shell drops begin.</li>
<li><time datetime="2026-09-15">Sep 15, 2026</time> — NetScaler 13.1 reaches End of Maintenance.</li>
<li><time datetime="2026-09-21">Sep 21, 2026</time> — CVE-2026-88771 command injection chain used against a U.S. target.</li>
<li><time datetime="2026-09-27">Sep 27, 2026</time> — Citrix bulletin CTX697096; both CVEs added to KEV.</li>
<li><time datetime="2026-10-03">Oct 3, 2026</time> — CTX697174 for SAML flaw CVE-2026-88779; added to KEV Oct 4.</li>
<li><time datetime="2026-10-09">Oct 9, 2026</time> — CISA alert updated with CVE-2026-107406.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://support.citrix.com/external/article/CTX697096">Citrix — NetScaler ADC and NetScaler Gateway Security Bulletin CTX697096</a></li><li><a href="https://support.citrix.com/external/article/CTX697174">Citrix — Security Bulletin for CVE-2026-88779 (CTX697174)</a></li><li><a href="https://www.cisa.gov/news-events/alerts/2026/09/27/critical-zero-day-vulnerabilities-exploited-citrix-netscaler-adc-gateway">CISA — Critical Zero-Day Vulnerabilities Exploited in Citrix NetScaler ADC and Gateway</a></li><li><a href="https://unit42.paloaltonetworks.com/netscaler-zero-days-exploited/">Unit 42 — Threat Brief: NetScaler Zero Days CVE-2026-88771 and CVE-2026-88772</a></li><li><a href="https://thehackernews.com/2026/09/warning-two-unpatched-citrix-netscaler.html">The Hacker News — Two unpatched Citrix NetScaler flaws exploited</a></li><li><a href="https://bleepingcomputer.com/news/security/citrix-patches-netscaler-saml-zero-day-exploited-in-attacks">BleepingComputer — Citrix patches NetScaler SAML zero-day exploited in attacks</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-88771">NVD — CVE-2026-88771</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 27, 2026</title>
<link>https://erroneo.us/security/2026-09-27/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-27/</guid>
<pubDate>Sun, 27 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief and 2 known exploited (cisa kev) additions.</description>
<content:encoded><![CDATA[<p>1 editorial brief and 2 known exploited (cisa kev) additions.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-88772/">CVE-2026-88772</a> Citrix NetScaler: Citrix NetScaler Improper Restriction of Operations within the Bounds of a Memory Buffer Vulnerability (due 2026-09-30)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-88771/">CVE-2026-88771</a> Citrix NetScaler: Citrix NetScaler Improper Input Validation Vulnerability (due 2026-09-30)</li></ul>]]></content:encoded>
</item>
<item>
<title>Security digest: September 25, 2026</title>
<link>https://erroneo.us/security/2026-09-25/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-25/</guid>
<pubDate>Fri, 25 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>3 known exploited (cisa kev) additions and 1 critical advisory.</description>
<content:encoded><![CDATA[<p>3 known exploited (cisa kev) additions and 1 critical advisory.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-87902/">CVE-2026-87902</a> WordPress Core: WordPress Core Remote File Inclusion Vulnerability (due 2026-09-28)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-67279/">CVE-2026-67279</a> MikroTik RouterOS: Mikrotik RouterOS Improper Enforcement of Behavioral Workflow Vulnerability (due 2026-09-28)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-65660/">CVE-2026-65660</a> Microsoft SharePoint: Microsoft SharePoint Code Injection Vulnerability (due 2026-09-28)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-92161/">FriendsOfFlarum OAuth: Unauthenticated account takeover via unverified email trust in Discord OAuth provider</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Check exposure: actions-cool Actions Re-Enabled With Mini Shai-Hulud Payload</title>
<link>https://erroneo.us/security/briefs/actions-cool-mini-shai-hulud-reactivation/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/actions-cool-mini-shai-hulud-reactivation/</guid>
<pubDate>Thu, 24 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>issues-helper and maintain-one-comment returned Sep 16, 2026 with May&#x27;s malicious tags intact and ran the worm in CI again. Check tag refs, rotate secrets.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Check exposure.</strong> If any workflow referenced either actions-cool action by tag and ran between September 16 and 25, 2026, assume its secrets and repository were compromised; everyone else can confirm with one grep.</p><p><strong>Who must act:</strong> Owners of repositories whose workflows call actions-cool/issues-helper or actions-cool/maintain-one-comment by a version tag such as @v2.2.1 or @v3, and developers who pulled from those repositories after September 16, 2026.<br><strong>Who can relax:</strong> Repositories that never used these two actions, or pinned them to a full commit SHA verified to predate May 18, 2026; since about September 25, the disabled actions make workflows fail at setup instead of running the payload.</p><ol><li>Search .github/workflows/ for actions-cool/issues-helper@ and actions-cool/maintain-one-comment@ and remove or replace them.</li><li>Rotate every secret and token reachable by a workflow that ran either action by tag on or after September 16, 2026.</li><li>Check default branches for new .claude/settings.json, .claude/setup.mjs, .claude/index.js or .vscode/tasks.json files and revert them.</li><li>Before revoking tokens on a developer machine that opened an infected repo, remove gh-token-monitor and kitty-monitor persistence, because the payload ships a wiper.</li><li>Pin every third-party action to a full-length commit SHA you have reviewed.</li></ol><h2 id="what-happened">What happened</h2>
<p>Two GitHub Actions poisoned during the May 2026 Mini Shai-Hulud campaign came back online in September with their malicious tags still in place. On May 18, 2026, the attacker moved every release tag of <code>actions-cool/issues-helper</code> (53 tags) and <code>actions-cool/maintain-one-comment</code> (15 tags) to new unsigned commits titled <code>Build action for &lt;tag&gt;</code>. GitHub disabled both repositories on May 19 but did not rewrite or remove the tags. On September 16, 2026, between 09:09 and 16:16 UTC, both repositories became accessible again. The reason has not been disclosed.</p>
<p><a href="https://socket.dev/blog/mini-shai-hulud-actions" rel="noopener" class="ext">Socket</a> found the reactivation in workflow run histories. Jobs that had been failing in two seconds with "Repository access blocked" suddenly ran for nine to eleven minutes and downloaded <code>actions-cool/issues-helper@v2.2.1</code>. Its September 24 report notes that <code>issues-helper</code> alone has about 15,000 dependent repositories in GitHub's dependency graph. Socket has not determined how many of them reference the action by a mutable tag. The same day, <a href="https://safedep.io/mini-shai-hulud-reinfection-github-repositories/" rel="noopener" class="ext">SafeDep</a> documented six newly infected repositories between September 20 and 24, including <code>ant-design/pro-components</code>, <code>jd-opensource/micro-app</code> and <code>MaaXYZ/MaaFramework</code>. It reports the payload is byte-identical to the May build. Socket's September 25 update says both actions were disabled again. The <a href="https://github.com/actions-cool/issues-helper" rel="noopener" class="ext">repository page</a> now says access "has been disabled by GitHub Staff due to a violation of GitHub's terms of service."</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Any workflow that calls either action by tag (<code>@v2.1.1</code>, <code>@v2.2.0</code>, <code>@v2.2.1</code>, <code>@v3</code> and so on) and ran while the repositories were live. These are issue-housekeeping bots that run daily or on issue events, so most affected workflows probably fired within a day. The malicious <code>action.yml</code> installs Bun, runs the obfuscated <code>index.js</code>, then calls the real action so the step still passes. On the runner, SafeDep found that it reads the job's <code>ghs_</code> token from runner memory. It then commits <code>.claude/settings.json</code> (a <code>SessionStart</code> hook), <code>.vscode/tasks.json</code>, <code>.claude/setup.mjs</code> and <code>.claude/index.js</code> into the repository through the GraphQL API, so the commits appear verified as <code>github-actions[bot]</code>. A developer who later pulls and opens that repository in Claude Code or VS Code runs the worm locally. On developer machines it installs the <code>kitty-monitor</code> backdoor and can install the token monitor and its wiper. The May payload itself is covered in our earlier Mini Shai-Hulud brief.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Only if you use these actions, and that takes one search to confirm. If you referenced them by tag and a run succeeded on or after September 16, treat it as a live compromise of that repository's secrets and default branch. Pinning to a commit SHA helps only if that commit is clean: every tag now resolves to attacker commits such as <code>a0c53dd42fc8</code> (<code>v2.2.1</code>), so pin only a SHA you have verified predates May 18. The second disablement stopped new runs, but hook files already committed stay in place. SafeDep found all six infected default branches still carried them. The general lesson, which <a href="https://docs.github.com/en/actions/reference/security/secure-use" rel="noopener" class="ext">GitHub's own guidance</a> repeats, is that tags are mutable and a disabled repository can come back.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Find references: <code>grep -rnE 'actions-cool/(issues-helper|maintain-one-comment)@' .github/workflows/</code>, or use GitHub code search across your org. Remove the actions or replace them.</li>
<li>Rotate every secret the affected workflows could read, plus deploy keys and package-registry tokens. Review the job's <code>GITHUB_TOKEN</code> permissions and set <code>permissions:</code> to the minimum.</li>
<li>Revert injected files: <code>git log --since=2026-09-16 --stat -- .claude .vscode/tasks.json</code>, then remove the hooks and force fresh clones for contributors.</li>
<li>On developer machines that opened an infected checkout, remove <code>gh-token-monitor</code> and <code>kitty-monitor</code> persistence <em>before</em> revoking GitHub tokens, then rotate local credentials.</li>
<li>Pin all third-party actions to full-length commit SHAs and review updates before bumping them.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>In the Actions run history, look for the pattern Socket describes: quick setup failures through September 15, then a long successful run on September 16. Job logs that show <code>oven-sh/setup-bun</code> or <code>bun run $GITHUB_ACTION_PATH/index.js</code> inside the action step confirm execution. On the repository side, look for unexpected <code>github-actions[bot]</code> commits adding <code>.claude/</code> or <code>.vscode/tasks.json</code>. A commit message copied from its parent is another sign: in <code>pro-components</code>, both read <code>3.1.14-7</code>. SafeDep lists the payload blob <code>2931c1be43b0</code>, the exfiltration host <code>t.m-kosche.com</code> and commit markers <code>firedalazer</code> and <code>thebeautifulmarchoftime</code>.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-05-18">May 18, 2026</time> — All tags of both actions are moved to malicious commits (19:10 to 19:31 UTC).</li>
<li><time datetime="2026-05-19">May 19, 2026</time> — GitHub disables both repositories, leaving the tags unchanged.</li>
<li><time datetime="2026-09-16">Sep 16, 2026</time> — Both repositories become accessible again, and tag-referencing workflows resume running the payload.</li>
<li><time datetime="2026-09-20">Sep 20–24, 2026</time> — SafeDep records six newly infected repositories.</li>
<li><time datetime="2026-09-24">Sep 24, 2026</time> — Socket and SafeDep publish their findings.</li>
<li><time datetime="2026-09-25">Sep 25, 2026</time> — Both actions are disabled again. <a href="https://www.bleepingcomputer.com/news/security/github-actions-re-enabled-with-mini-shai-hulud-payload-still-active/" rel="noopener" class="ext">BleepingComputer</a> and <a href="https://thehackernews.com/2026/09/compromised-github-actions-came-back.html" rel="noopener" class="ext">The Hacker News</a> report the reactivation.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://socket.dev/blog/mini-shai-hulud-actions">Socket — Re-enabled GitHub Actions expose thousands of repositories to Mini Shai-Hulud</a></li><li><a href="https://safedep.io/mini-shai-hulud-reinfection-github-repositories/">SafeDep — Mini Shai-Hulud is still infecting GitHub repositories</a></li><li><a href="https://github.com/actions-cool/issues-helper">GitHub — actions-cool/issues-helper (repository disabled by GitHub Staff)</a></li><li><a href="https://github.com/actions-cool/maintain-one-comment">GitHub — actions-cool/maintain-one-comment (repository disabled by GitHub Staff)</a></li><li><a href="https://docs.github.com/en/actions/reference/security/secure-use">GitHub Docs — Secure use reference: pin actions to a full-length commit SHA</a></li><li><a href="https://thehackernews.com/2026/09/compromised-github-actions-came-back.html">The Hacker News — Compromised GitHub Actions came back online and resumed executing Mini Shai-Hulud malware</a></li><li><a href="https://www.bleepingcomputer.com/news/security/github-actions-re-enabled-with-mini-shai-hulud-payload-still-active/">BleepingComputer — GitHub Actions re-enabled with Mini Shai-Hulud payload still active</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 24, 2026</title>
<link>https://erroneo.us/security/2026-09-24/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-24/</guid>
<pubDate>Thu, 24 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief, 2 known exploited (cisa kev) additions and 5 critical advisories.</description>
<content:encoded><![CDATA[<p>1 editorial brief, 2 known exploited (cisa kev) additions and 5 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-71362/">CVE-2026-71362</a> Adobe Commerce and Magento : Adobe Commerce and Magento Incorrect Authorization Vulnerability  (due 2026-09-27)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-5430/">CVE-2026-5430</a> WSO2 Multiple Products: WSO2 Multiple Products Path Traversal Vulnerability  (due 2026-09-27)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-61604/">ixo Blockchain x/bonds DID-resolved payer drain + x/entity ICA authorization bypass</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-61732/">Decepticon: Role-boundary forgery via ChatML special-token literals in web crawl output composed into LLM context</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-61742/">DBHub HTTP transport DNS rebinding allows unauthenticated browser-origin SQL execution</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-61741/">http4s-scala-xml has an XML External Entity (XXE) processing issue</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-59167/">SunEditor: Critical XSS vulnerability - sanitizer bypass</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Security digest: September 23, 2026</title>
<link>https://erroneo.us/security/2026-09-23/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-23/</guid>
<pubDate>Wed, 23 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>3 critical advisories.</description>
<content:encoded><![CDATA[<p>3 critical advisories.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-57149/">plone.app.portlets Vulnerable to Remote Code Execution via TALES Injection</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-77602/">OpenC3 COSMOS: Authenticated remote code execution via the user-writable config overlay (table definitions, cmd/tlm definitions, and script suites)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-85724/">Moquette: Pattern-ACL wildcard injection (cross-tenant authorization bypass) plus a remote-unauthenticated DoS cluster, a Will-message authorization bypass, and a cross-session durable-corruption bug</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: WordPress Core: Page-Template File Inclusion to RCE</title>
<link>https://erroneo.us/security/briefs/wordpress-core-page-template-lfi-cve-2026-87902/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/wordpress-core-page-template-lfi-cve-2026-87902/</guid>
<pubDate>Tue, 22 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Unauthenticated file inclusion in WordPress 4.7-7.1.1 can reach RCE via pearcmd.php. Fixed in 7.1.2 and backports. In CISA KEV. Update now.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> Every WordPress branch back to 4.7 was affected, no login is needed, public scanning tooling exists and attackers are already writing files through pearcmd.php, so confirm you are on a fixed release today.</p><p><strong>Who must act:</strong> Anyone running self-managed WordPress 4.7 through 7.1.1, especially with a theme that has a top-level page-* directory or PHP with register_argc_argv enabled (official php Docker images, cPanel on PHP below 8.5).<br><strong>Who can relax:</strong> Sites already on 7.1.2 or the patched release for their branch (auto-updates usually handled this), and managed hosts that have confirmed the update in writing.</p><ol><li>Confirm each site reports 7.1.2 or the patched release for its branch (wp core version).</li><li>Update now from Dashboard &gt; Updates or with wp core update --minor; do not wait for the next maintenance window.</li><li>If you cannot update immediately, block requests whose pagename parameter contains encoded traversal (%2e%2e, %252e%252e).</li><li>Set register_argc_argv = Off in php.ini where you do not need it, which breaks the pearcmd.php route to code execution.</li><li>Check whether your active theme or parent theme has a top-level page-* directory (for example page-templates).</li><li>Hunt for unexpected .php files in /tmp and /var/tmp on any host that was unpatched after September 22.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 22, 2026, WordPress shipped <a href="https://wordpress.org/news/2026/09/wordpress-7-1-2-release/" rel="noopener" class="ext">version 7.1.2</a>, a security-only release with a single fix, and backported it to every branch back to 4.7. The <a href="https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-7hp8-65ch-5whp" rel="noopener" class="ext">advisory</a> (CVE-2026-87902, rated critical, CVSS 4.0 score 9.2) says an unauthenticated attacker can make <code>get_page_template()</code> include a chosen readable local <code>.php</code> file from outside the active theme directories. Under certain server and theme conditions, that leads to remote code execution. Robert Ressl reported it.</p>
<p><a href="https://patchstack.com/articles/wordpress-7-1-2-security-release-unauthenticated-lfi-to-rce/" rel="noopener" class="ext">Patchstack's analysis</a> shows the root cause. WordPress builds a template candidate named <code>page-{pagename}.php</code> from the request's <code>pagename</code> variable, adds a URL-decoded copy, and never passes it through the <code>validate_file()</code> traversal check that the neighboring branch already used. The fix adds that check, plus a new containment test that every resolved template path must pass. CISA added the CVE to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-87902" rel="noopener" class="ext">KEV catalog</a> on September 25 with a September 28 due date for federal agencies.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Every WordPress release from 4.7.0 through 7.1.1, which is close to a decade of versions. Fixed releases include 7.1.2, 7.0.6, 6.9.9 and 6.8.10, plus backports on each older branch down to 4.7.37. <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-87902" rel="noopener" class="ext">NVD</a> lists a CISA-ADP CVSS 3.1 score of 8.1 because the attack has preconditions. The advisory names two of them:</p>
<ul>
<li><strong>Theme:</strong> the active child or parent theme has a top-level directory whose name starts with <code>page-</code>, such as <code>page-templates</code>. This applies to the legacy Twenty Twelve and Twenty Fourteen themes and to popular third-party themes including Neve, Hestia and Sydney.</li>
<li><strong>Server:</strong> a useful <code>.php</code> target is readable. The well-known one is PEAR's <code>pearcmd.php</code>, which works when <code>register_argc_argv</code> is On. That is the case in the official <code>php</code> Docker image and in default cPanel setups on PHP before 8.5.</li>
</ul>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, if you run WordPress yourself and are not yet on a fixed release. File inclusion works on any vulnerable site that meets the theme condition. Code execution also needs the server condition, but as Patchstack notes, those settings are common defaults rather than unusual ones.</p>
<p>Exploitation began fast. <a href="https://patchstack.com/articles/cve-2026-87902-attackers-started-probing-wordpress-sites-hours-after-the-patch/" rel="noopener" class="ext">Patchstack</a> logged first attempts at 11:49 UTC on September 22, built from the patch diff, and the first attempt to write a file through <code>pearcmd</code> at 15:34 UTC. By September 23 traffic had grown more than tenfold and moved through three stages: checking whether the inclusion worked, checking whether <code>pearcmd</code> was reachable, and writing attacker-controlled PHP to <code>/tmp</code> with <code>+config-create</code>. A named Nuclei template was in circulation. Some payloads only drop marker strings, but others run shell commands.</p>
<p>Sites with automatic background updates usually received the fix already. Managed WordPress hosts generally patch core for you, but get confirmation rather than assuming.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Check the version on every site: <code>wp core version</code>, or Dashboard &gt; Updates.</li>
<li>Update: <code>wp core update --minor</code> to take the patched release on your branch, or <code>wp core update</code> for 7.1.2. Older sites can take the backport without a major version jump.</li>
<li>If you cannot update today, block requests where <code>pagename</code> contains <code>%2e%2e</code> or <code>%252e%252e</code>, in the query string or the POST body. Real page slugs never contain traversal.</li>
<li>Set <code>register_argc_argv = Off</code> in <code>php.ini</code> where you do not need it, and restart PHP. This does not fix the inclusion, but it breaks the <code>pearcmd</code> chain.</li>
<li>Check your theme: <code>ls wp-content/themes/&lt;theme&gt;/ | grep '^page-'</code>.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Patchstack's indicators: a <code>pagename</code> parameter containing <code>%2e%2e</code> or <code>%252e%252e</code>, or starting with <code>templates%2f</code>. Also watch for <code>pagename</code> paired with <code>page_id</code> on <code>/</code> or <code>/index.php</code>, any request containing <code>pearcmd</code>, <code>+config-show</code> or <code>+config-create</code>, and the user agents <code>cve-2026-87902-poc/1.0</code> and <code>nuclei-cve-2026-87902/1.0</code>. An HTTP 200 that returns OPML or RSS output for a normal page URL means a probe succeeded. Run <code>find /tmp /var/tmp -name '*.php'</code> on the host. Patchstack observed filenames such as <code>poc87902.php</code>, <code>wp-pear-rce-flag.php</code>, <code>luci_*.php</code> and <code>zeta_*.php</code>. If you find any, treat the host as compromised: rebuild it, and rotate database credentials and secrets stored in <code>wp-config.php</code>.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-17">Sep 17, 2026</time> — WordPress 7.1.1 ships with 11 unrelated security fixes.</li>
<li><time datetime="2026-09-22">Sep 22, 2026</time> — WordPress 7.1.2 and backports to 4.7 are released, and GHSA-7hp8-65ch-5whp and CVE-2026-87902 are published. Patchstack sees probing the same day and the first pearcmd file-write attempt at 15:34 UTC.</li>
<li><time datetime="2026-09-23">Sep 23, 2026</time> — Patchstack reports file writes to /tmp, a tenfold rise in volume, and a public Nuclei template.</li>
<li><time datetime="2026-09-25">Sep 25, 2026</time> — CISA adds CVE-2026-87902 to KEV, due September 28.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-7hp8-65ch-5whp">WordPress / GitHub — GHSA-7hp8-65ch-5whp: Unauthenticated path traversal in page-template resolution</a></li><li><a href="https://wordpress.org/news/2026/09/wordpress-7-1-2-release/">WordPress.org — WordPress 7.1.2 Security Release</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-87902">NVD — CVE-2026-87902</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-87902">CISA — Known Exploited Vulnerabilities Catalog: CVE-2026-87902</a></li><li><a href="https://patchstack.com/articles/wordpress-7-1-2-security-release-unauthenticated-lfi-to-rce/">Patchstack — WordPress 7.1.2 Security Release: Unauthenticated LFI to RCE</a></li><li><a href="https://patchstack.com/articles/cve-2026-87902-attackers-started-probing-wordpress-sites-hours-after-the-patch/">Patchstack — CVE-2026-87902: Attackers Started Probing WordPress Sites Hours After the Patch</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Patch this week: Linux AF_UNIX CVE-2026-80521: Public Container Escape</title>
<link>https://erroneo.us/security/briefs/linux-af-unix-gc-container-escape-cve-2026-80521/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/linux-af-unix-gc-container-escape-cve-2026-80521/</guid>
<pubDate>Tue, 22 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Kernel use-after-free in AF_UNIX garbage collection; public exploit escapes default containers. Fixed in 6.12.111, 6.18.53, 7.1.10; Ubuntu fixes pending.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> If you run untrusted or third-party code in containers on a 6.10+ kernel, install fixed kernels as they ship and move that code behind stronger isolation now; a public exploit turns an unprivileged container process into a host compromise.</p><p><strong>Who must act:</strong> Operators of CI runners, multi-tenant Kubernetes clusters, code-execution sandboxes and shared container hosts on Linux 6.10 or later, or on 6.1/6.6 kernels that carry the new AF_UNIX garbage collector.<br><strong>Who can relax:</strong> Hosts that only run code you already trust can patch on a normal cycle; kernels without the new garbage collector (for example Debian 11, RHEL 6-9 and Ubuntu 22.04&#x27;s default 5.15 kernel) need nothing.</p><ol><li>List container hosts and node kernels (uname -r on each node, or kubectl get nodes -o wide) and flag any that run untrusted code.</li><li>Install your distribution&#x27;s fixed kernel as soon as it ships and reboot or livepatch; on Debian 13 and 12 the fixes are already available.</li><li>Until Ubuntu 24.04/26.04 fixes land, move untrusted workloads (CI jobs, code runners, tenant pods) to gVisor, Kata Containers or Firecracker, or to a node pool on an unaffected kernel.</li><li>Do not rely on default seccomp, rootless mode, user namespaces or dropped capabilities as mitigations; the vulnerable code is reachable without privileges.</li><li>Subscribe to your distribution&#x27;s tracker entry for CVE-2026-80521 and re-check after each kernel update.</li></ol><h2 id="what-happened">What happened</h2>
<p>CVE-2026-80521 is a use-after-free in the Linux kernel's AF_UNIX socket garbage collector. That code cleans up sockets left in reference cycles when file descriptors are passed over UNIX sockets with <code>SCM_RIGHTS</code>. According to the <a href="https://www.cve.org/CVERecord?id=CVE-2026-80521" rel="noopener" class="ext">CVE record</a>, a <code>send()</code> that races a concurrent <code>close()</code> can make the collector free a dead group of sockets only partly. A later collector run then walks a freed structure. The one-line upstream fix, <a href="https://git.kernel.org/stable/c/2b6c2842692d08e7acaf32d1eb47f95def35f3fe" rel="noopener" class="ext">"af_unix: Unlink scc_entry in unix_del_edge()"</a>, credits Kyle Zeng of OpenAI as the reporter. The kernel CNA published the CVE on August 26, 2026 and scores it CVSS 3.1 7.8.</p>
<p>The bug drew wide attention on September 22. That day <a href="https://depthfirst.com/research/containers-are-no-longer-safe" rel="noopener" class="ext">depthfirst</a> published research by Zhenpeng (Leo) Lin showing a working container escape on Ubuntu 26.04, with exploit code in a <a href="https://github.com/Markakd/Container_escape" rel="noopener" class="ext">public GitHub repository</a>. depthfirst says it found the bug with its in-house AI model, used it in Google's kernelCTF on July 24, and reported it to the kernel security team on August 5. The team replied that the same bug had already been reported. The upstream patch followed on August 6.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>The vulnerable code arrived with a rewrite of the AF_UNIX garbage collector in Linux 6.10 and was backported into 6.1.141+ and 6.6.93+. The CVE record lists fixes in 6.1.189, 6.6.158, 6.12.111, 6.18.53, 7.1.10 and 7.2. Distro kernels backport heavily, so the vendor tracker is what counts, not the version string:</p>
<ul>
<li><strong>Ubuntu:</strong> the <a href="https://ubuntu.com/security/CVE-2026-80521" rel="noopener" class="ext">Ubuntu tracker</a> (updated October 19) rates it Medium. It lists 26.04 LTS kernels and most 24.04 LTS kernels, including the 6.8 GA kernel, as fixes in progress or still vulnerable, and 22.04's 6.8 HWE kernels as in progress.</li>
<li><strong>Debian:</strong> the <a href="https://security-tracker.debian.org/tracker/CVE-2026-80521" rel="noopener" class="ext">Debian tracker</a> shows Debian 13 fixed via DSA-6528-1 and Debian 12 fixed in 6.1.190-1 (DLA-4841-1). Debian 11 is not affected.</li>
<li><strong>Red Hat:</strong> <a href="https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-80521.json" rel="noopener" class="ext">Red Hat's security data</a> rates it Important, lists RHEL 6 through 9 as not affected, and shows RHEL 10 fixed in kernel 6.12.0-211.65.1.el10_2 (RHSA-2026:81406), with RHEL 10.0 EUS fixed via RHSA-2026:77634. The <a href="https://access.redhat.com/security/cve/cve-2026-80521" rel="noopener" class="ext">Red Hat CVE page</a> lists no mitigation.</li>
</ul>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>It depends on whose code runs in your containers. This is a local bug. An attacker first needs to run code on the machine, but any unprivileged process can reach it, including one inside a container. The <a href="https://devops-daily.com/posts/af-unix-container-escape-cve-2026-80521" rel="noopener" class="ext">DevOps Daily analysis</a> notes that default seccomp profiles allow the needed system calls. Rootless containers, user namespaces and dropped capabilities do not help either. That makes the bug serious for CI runners that build untrusted pull requests, multi-tenant clusters, hosted notebooks and "run my code" features, where running code is the whole point.</p>
<p>If every container on a host runs code you wrote and trust, this is a privilege-escalation step an attacker could use after some other compromise. Patch it on a normal but prompt schedule. No exploitation in the wild had been reported as of October 21, 2026, and the CVE is not in CISA KEV. With public exploit code available, expect that to change.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Inventory kernels on container hosts: run <code>uname -r</code> on each host, or <code>kubectl get nodes -o wide</code> to see node kernels.</li>
<li>Install fixed kernels where they exist (<code>apt-get update &amp;&amp; apt-get install --only-upgrade 'linux-image*'</code> on Debian) and reboot or livepatch. A kernel fix does nothing until the new kernel is running.</li>
<li>On Ubuntu 24.04 and 26.04, watch the tracker. Meanwhile, move untrusted workloads to gVisor, Kata Containers or Firecracker microVMs, or to a node pool on an unaffected kernel.</li>
<li>Do not block AF_UNIX wholesale with seccomp. DevOps Daily notes this breaks many applications.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>To see whether a kernel carries the affected collector, run <code>grep -cE ' unix_(add|del)_edges$' /proc/kallsyms</code>. A result of 0 means the vulnerable code is not present, and the check often works inside a container too. Search <code>dmesg</code> and node logs for oopses or KASAN reports naming <code>unix_gc</code>, <code>unix_walk_scc_fast</code> or a slab use-after-free. Failed exploit attempts can crash hosts. On hosts that ran untrusted containers while unpatched, look for unexpected host-level processes, new SUID binaries and modified runtime binaries. Rotate any secrets the host could read.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-07-24">Jul 24, 2026</time> — depthfirst exploits the bug against Google's kernelCTF target.</li>
<li><time datetime="2026-08-05">Aug 5, 2026</time> — depthfirst reports to security@kernel.org and learns the bug was already reported.</li>
<li><time datetime="2026-08-06">Aug 6, 2026</time> — Upstream fix released, according to depthfirst.</li>
<li><time datetime="2026-08-26">Aug 26, 2026</time> — The kernel CNA publishes CVE-2026-80521.</li>
<li><time datetime="2026-09-22">Sep 22, 2026</time> — depthfirst publishes its container-escape research and exploit code.</li>
<li><time datetime="2026-10-03">Oct 3, 2026</time> — The CVE record is updated with 6.1.189 and 6.6.158 fixes.</li>
<li><time datetime="2026-10-19">Oct 19, 2026</time> — Ubuntu's tracker still shows 24.04 and 26.04 kernel fixes in progress.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-80521">CVE record — CVE-2026-80521</a></li><li><a href="https://git.kernel.org/stable/c/2b6c2842692d08e7acaf32d1eb47f95def35f3fe">Linux stable — af_unix: Unlink scc_entry in unix_del_edge()</a></li><li><a href="https://ubuntu.com/security/CVE-2026-80521">Ubuntu — CVE-2026-80521</a></li><li><a href="https://security-tracker.debian.org/tracker/CVE-2026-80521">Debian security tracker — CVE-2026-80521</a></li><li><a href="https://access.redhat.com/security/cve/cve-2026-80521">Red Hat — CVE-2026-80521</a></li><li><a href="https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-80521.json">Red Hat Security Data API — CVE-2026-80521</a></li><li><a href="https://depthfirst.com/research/containers-are-no-longer-safe">depthfirst — Containers Are No Longer a Security Boundary</a></li><li><a href="https://github.com/Markakd/Container_escape">GitHub — Markakd/Container_escape (proof of concept)</a></li><li><a href="https://devops-daily.com/posts/af-unix-container-escape-cve-2026-80521">DevOps Daily — CVE-2026-80521: The Ubuntu container escape is not just an Ubuntu problem</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Check exposure: Graphalgo Malware in Go Modules and Terraform Providers</title>
<link>https://erroneo.us/security/briefs/graphalgo-go-modules-terraform-provider-typosquats/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/graphalgo-go-modules-terraform-provider-typosquats/</guid>
<pubDate>Tue, 22 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Two Go modules and two Terraform providers, including a kreuzwerker/docker typosquat, hid a Go RAT. Check go.mod and .tf files; reimage hosts that ran them.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Check exposure.</strong> Grep your go.mod, go.sum and Terraform files for four names; if none match you are done, and if one does, treat the machine as compromised.</p><p><strong>Who must act:</strong> Go developers and infrastructure teams who added gocommunity.io/orderedbtree, gogets.dev/btreex, or the kreuzwenker/docker or gocommunity-io/dockerd Terraform providers, including through a coding task or sample repository someone sent them.<br><strong>Who can relax:</strong> Teams whose dependency files contain none of the four names, and Terraform users whose lock files reference the genuine kreuzwerker/docker provider.</p><ol><li>Search Go projects: grep -rnE &#x27;gogets\.dev/btreex|gocommunity\.io/orderedbtree&#x27; --include=go.mod --include=go.sum .</li><li>Search Terraform code and lock files: grep -rnE &#x27;kreuzwenker/docker|gocommunity-io/dockerd&#x27; --include=&#x27;*.tf&#x27; --include=&#x27;.terraform.lock.hcl&#x27; .</li><li>Fix the provider source to kreuzwerker/docker and run terraform init -upgrade.</li><li>If a match ran anywhere, isolate and reimage the host, then rotate every credential it could reach, cloud and infrastructure credentials first.</li><li>Review commits, package publishes, terraform apply runs and CI jobs from that host for unauthorized activity.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 22, 2026, <a href="https://www.aikido.dev/blog/graphalgo-terraform-go-modules" rel="noopener" class="ext">Aikido Security</a> reported four malicious packages carrying a Go port of the Graphalgo malware. There were two Go modules, <code>gocommunity.io/orderedbtree</code> and <code>gogets.dev/btreex</code>, and two Terraform providers, <code>gocommunity-io/dockerd</code> and <code>kreuzwenker/docker</code>. The last is a one-letter typosquat of <a href="https://registry.terraform.io/providers/kreuzwerker/docker/latest" rel="noopener" class="ext">kreuzwerker/docker</a>, the widely used Docker provider that Aikido says has 56 million reported downloads. The samples share blockchain and Slack infrastructure and a public key with earlier npm samples. <a href="https://www.reversinglabs.com/blog/fake-recruiter-campaign-crypto-devs" rel="noopener" class="ext">ReversingLabs</a> first documented Graphalgo in February 2026. It described the campaign as fake recruiters handing developers coding tasks that pull in malicious npm and PyPI dependencies, and attributed it to Lazarus Group based on technique similarity.</p>
<p>The payloads hide behind triggers. In the Terraform providers, code in <code>resource_docker_container_funcs.go</code> activates only when the SHA-256 of the container name and network ID matches a fixed value, which then serves as an AES key. It decrypts an archive disguised as <code>import-resource.sqlite3</code> and runs it with a detached <code>go run .</code>. The Go modules fire on a specific "price" integer, and <code>btreex</code> hides its archive in a file named <code>btreex.sql</code>. The second stage is a Go remote access trojan. It checks in with host and user details, takes commands over Slack and over an Ethereum contract on Arbitrum Sepolia, and can run Go or JavaScript code or delete itself.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Only projects that pulled one of the four names. <code>gocommunity.io/orderedbtree</code> was first published on August 11 and <code>gogets.dev/btreex</code> on September 8. The second came with forged commits backdated to November 2025 so the repository looked established. Download counts for the malicious packages were not disclosed as of October 21, 2026. OSV lists both modules as malicious in <a href="https://osv.dev/vulnerability/MAL-2026-17454" rel="noopener" class="ext">MAL-2026-17454</a> and <a href="https://osv.dev/vulnerability/MAL-2026-17453" rel="noopener" class="ext">MAL-2026-17453</a>. On October 21, proxy.golang.org refused to serve either module, flagging both as malicious, and the Terraform Registry returned "provider not found" for both providers.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Most teams need one grep and nothing else. Because of the triggers, a casual install may never fire. The payload waits for a repository or Terraform config that supplies the unlocking values. That fits Graphalgo's fake-interview playbook, though Aikido did not say how these packages reached victims. If a candidate exercise, take-home task or "sample infrastructure" repository reached you in August or September, check it. A hit on a machine with cloud or Terraform credentials is serious, because the attacker gets a live remote shell next to your infrastructure keys.</p>
<p>The Go proxy block protects you only if you fetch through proxy.golang.org. With <code>GOPROXY=direct</code>, or a private mirror that cached the modules earlier, they may still resolve.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Go: <code>grep -rnE 'gogets\.dev/btreex|gocommunity\.io/orderedbtree' --include=go.mod --include=go.sum .</code> across your repositories, and purge the names from any internal module mirror.</li>
<li>Terraform: <code>grep -rnE 'kreuzwenker/docker|gocommunity-io/dockerd' --include='*.tf' --include='.terraform.lock.hcl' .</code>. Correct the <code>required_providers</code> source to <code>kreuzwerker/docker</code> and run <code>terraform init -upgrade</code>.</li>
<li>On any match that ran, isolate and reimage the host. The command-and-control channels may still reach it.</li>
<li>Rotate every credential the host could read, starting with cloud and Terraform credentials. Then review its commits, publishes, <code>terraform apply</code> runs and CI jobs.</li>
<li>Where build hosts have no business talking to blockchain RPC services or Slack, alert on that traffic.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Search provider caches (<code>.terraform/providers</code>, <code>~/.terraform.d/plugins</code>) for <code>import-resource.sqlite3</code> with SHA-256 <code>5f892a54…977d0f</code>. Search the Go module cache (<code>$(go env GOMODCACHE)</code>) for <code>btreex.sql</code> with SHA-256 <code>ab01686d…5d62f5</code>. Look for detached <code>go run .</code> processes spawned by <code>terraform</code> or test runs. Check DNS and proxy logs for <code>gocommunity.io</code>, <code>gogets.dev</code>, the Slack workspaces <code>portfolio-devs</code> and <code>portfolio-testers</code>, and calls to Arbitrum Sepolia contract <code>0xAD02b5cDE693529d3bdA0266299501ad0193036C</code>.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-02-11">Feb 11, 2026</time> — ReversingLabs documents the Graphalgo fake-recruiter campaign on npm and PyPI.</li>
<li><time datetime="2026-08-11">Aug 11, 2026</time> — gocommunity.io/orderedbtree is first published.</li>
<li><time datetime="2026-09-08">Sep 8, 2026</time> — gogets.dev/btreex is first published. The gocommunity-io/dockerd provider appears in early September.</li>
<li><time datetime="2026-09-22">Sep 22, 2026</time> — Aikido publishes its research, updated Sep 24.</li>
<li><time datetime="2026-10-02">Oct 2, 2026</time> — OSV publishes MAL-2026-17453 and MAL-2026-17454.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.aikido.dev/blog/graphalgo-terraform-go-modules">Aikido Security — Graphalgo campaign spreads to Terraform providers and Go modules</a></li><li><a href="https://osv.dev/vulnerability/MAL-2026-17454">OSV — MAL-2026-17454: Malicious code in gogets.dev/btreex</a></li><li><a href="https://osv.dev/vulnerability/MAL-2026-17453">OSV — MAL-2026-17453: Malicious code in gocommunity.io/orderedbtree</a></li><li><a href="https://registry.terraform.io/providers/kreuzwerker/docker/latest">Terraform Registry — kreuzwerker/docker (genuine provider)</a></li><li><a href="https://www.reversinglabs.com/blog/fake-recruiter-campaign-crypto-devs">ReversingLabs — Fake recruiter campaign targets crypto devs (Graphalgo)</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 22, 2026</title>
<link>https://erroneo.us/security/2026-09-22/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-22/</guid>
<pubDate>Tue, 22 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>3 editorial briefs, 4 known exploited (cisa kev) additions and 4 critical advisories.</description>
<content:encoded><![CDATA[<p>3 editorial briefs, 4 known exploited (cisa kev) additions and 4 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-94127/">CVE-2026-94127</a> F5 BIG-IP APM: F5 BIG-IP APM Heap-based Buffer Overflow Vulnerability (due 2026-09-25)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-93952/">CVE-2026-93952</a> Arista VeloCloud Orchestrator: Arista VeloCloud Orchestrator Improper Input Validation Vulnerability (due 2026-09-25)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-93616/">CVE-2026-93616</a> Check Point Multiple Products: Check Point Multiple Products Path Traversal Vulnerability (due 2026-09-25)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-85102/">CVE-2026-85102</a> Check Point Multiple Products: Check Point Multiple Products Improper Certificate Validation Vulnerability (due 2026-09-25)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-91130/">Home Assistant: XSS in Statistics Graph Card</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-77244/">[mcp-atlassian] Authentication bypass in HTTP transport: AtlassianOpaqueTokenVerifier accepts any non-empty token</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-85734/">lightrag-hku: No Rate Limiting on /login Endpoint Allows Brute-Force Attacks</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-63132/">OpenBao&#x27;s Recovery Mode Vulnerable To Token Leakage via Timing Attack</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Security digest: September 21, 2026</title>
<link>https://erroneo.us/security/2026-09-21/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-21/</guid>
<pubDate>Mon, 21 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 known exploited (cisa kev) addition.</description>
<content:encoded><![CDATA[<p>1 known exploited (cisa kev) addition.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-7273/">CVE-2026-7273</a> Zyxel GS1900 Series Switches: Zyxel GS1900 Series Switches Stack-Based Buffer Overflow Vulnerability (due 2026-09-24)</li></ul>]]></content:encoded>
</item>
<item>
<title>Patch this week: Linux Kernel: Five Exploited Root Bugs Added to CISA KEV</title>
<link>https://erroneo.us/security/briefs/linux-kernel-five-exploited-lpe-bugs-kev/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/linux-kernel-five-exploited-lpe-bugs-kev/</guid>
<pubDate>Fri, 18 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>CISA lists five Linux kernel privilege-escalation bugs (kTLS, AF_ALG, ebtables, IPv6, watch_queue) as exploited. Fixes exist; patch and reboot this week.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> Five local root bugs, all with fixes and most with public exploits, are now confirmed exploited; get every Linux host onto a current kernel and reboot this week, container hosts, CI runners and shared servers first.</p><p><strong>Who must act:</strong> Anyone running Linux kernels older than their distribution&#x27;s July to September 2026 security updates, most urgently where containers, CI jobs or untrusted users share a kernel.<br><strong>Who can relax:</strong> Hosts already booted into current distribution kernels (for example RHEL kernels from Sep 22-24, 2026, Debian 12 6.1.177-1+, Ubuntu 24.04 6.8.0-147.147+); single-user machines face local-only risk.</p><ol><li>Run uname -r on every Linux host and compare it with your distribution&#x27;s fixed kernel for each CVE.</li><li>Install the current kernel and reboot, starting with container hosts, Kubernetes nodes, CI runners and multi-user servers.</li><li>If a reboot must wait, block the tls module where kTLS is unused and remove ebtables SNAT rules that rewrite ARP addresses (Red Hat&#x27;s interim mitigations).</li><li>For untrusted containers, deny AF_ALG sockets with seccomp, and where rootless containers are not needed, set user.max_user_namespaces=0 (Red Hat&#x27;s workaround for CVE-2026-53362).</li><li>Ask appliance and embedded-Linux vendors for fixed firmware; the CVE records link Siemens advisories for three of these bugs.</li></ol><h2 id="what-happened">What happened</h2>
<p>Between August 26 and September 18, 2026, CISA added five Linux kernel bugs to its Known Exploited Vulnerabilities catalog. All five let a local user corrupt kernel memory and, in practice, become root. All had upstream fixes before they were listed. CISA has not said who is exploiting them or against whom, and every entry carries its forensic-triage requirement. <a href="https://thehackernews.com/2026/09/cisa-flags-three-linux-kernel.html" rel="noopener" class="ext">The Hacker News</a> reports that Red Hat updated its advisories for the September batch on September 19 to acknowledge exploitation and "known public exploits."</p>
<ul>
<li><strong>CVE-2025-39682 (kTLS):</strong> a zero-length record on the kernel TLS receive list leads to a use-after-free. The <a href="https://www.cve.org/CVERecord?id=CVE-2025-39682" rel="noopener" class="ext">CVE record</a> and NVD score it 9.8 as network-reachable. <a href="https://access.redhat.com/security/cve/CVE-2025-39682" rel="noopener" class="ext">Red Hat</a> scores it 7.0 and says it is remotely triggerable "only when kernel TLS ... is in use." A <a href="https://github.com/google/security-research/tree/master/pocs/linux/kernelctf/CVE-2025-39682_lts_cos_mitigation" rel="noopener" class="ext">kernelCTF exploit</a> published in February 2026 sets up its own loopback kTLS connection.</li>
<li><strong>CVE-2025-39964 (AF_ALG):</strong> two threads writing to one crypto socket corrupt its state. The code dates to Linux 2.6.38. Its <a href="https://github.com/google/security-research/tree/master/pocs/linux/kernelctf/CVE-2025-39964_lts_cos_mitigation" rel="noopener" class="ext">kernelCTF write-up</a>, added August 11, 2026, needs no capabilities and no user namespaces. <a href="https://cybersecuritynews.com/14-year-old-linux-kernel-flaw/amp/" rel="noopener" class="ext">Cyber Security News</a> credits STAR Labs and reports a Docker escape in a proof-of-concept setup.</li>
<li><strong>CVE-2026-53266 (ebtables SNAT):</strong> an ARP address rewrite copies a MAC address straight into a splice-imported file page. The CNA scores it 8.8 and notes that the required CAP_NET_ADMIN can come from a user namespace.</li>
<li><strong>CVE-2026-53362 ("Fraggap"):</strong> a 15-byte out-of-bounds write in the UDPv6 send path. It was <a href="https://www.openwall.com/lists/oss-security/2026/07/20/2" rel="noopener" class="ext">disclosed on July 20</a> with a <a href="https://blog.qwerty.or.kr/en/posts/cdf3008a-c1a4-4eca-a373-aa3a2bcf1489/" rel="noopener" class="ext">public exploit</a> used in kernelCTF. Red Hat's <a href="https://access.redhat.com/security/vulnerabilities/RHSB-2026-009" rel="noopener" class="ext">RHSB-2026-009</a> warns of container escape and SELinux bypass.</li>
<li><strong>CVE-2022-0995 (watch_queue):</strong> an out-of-bounds write in the notification filter, <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=93ce93587d36493f2f86921fa79921b3cba63fbb" rel="noopener" class="ext">fixed in March 2022</a>. The <a href="https://www.cve.org/CVERecord?id=CVE-2022-0995" rel="noopener" class="ext">CVE record</a> links two public exploits on Packet Storm. CISA added it in a <a href="https://www.cisa.gov/news-events/alerts/2026/08/26/cisa-adds-six-known-exploited-vulnerabilities-catalog" rel="noopener" class="ext">batch of six mostly older bugs</a>.</li>
</ul>
<p>None of these is Copy Fail (CVE-2026-31431), but two are close relatives. The AF_ALG race sits in the same socket family, and the CVE record says skcipher sockets reach it too, so blocking only <code>algif_aead</code> does not help. The ebtables bug, like Copy Fail, ends with the kernel writing into a file's cached page.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Taking the highest fix per stable line from the CVE records, 5.10.259, 5.15.210, 6.1.177, 6.6.144, 6.12.95, 6.18.38 and 7.1.3 cover every bug here that applies to that line. Distribution status differs:</p>
<ul>
<li><strong>RHEL:</strong> Red Hat's CVE data lists Fraggap as RHEL 10 only and the kTLS bug as not affecting RHEL 8. No shipped RHEL kernel was affected by CVE-2022-0995. The AF_ALG and ebtables bugs reach RHEL 7 ELS through 10. Kernels from September 22-24, 2026 cover all five.</li>
<li><strong>Debian:</strong> the <a href="https://security-tracker.debian.org/tracker/CVE-2026-53362" rel="noopener" class="ext">security tracker</a> lists bookworm fixed in 6.1.177-1 and trixie in 6.12.95-1. Bullseye is fixed in 5.10.259-1 and not affected by the kTLS or IPv6 bugs.</li>
<li><strong>Ubuntu:</strong> 24.04 needs 6.8.0-147.147 for <a href="https://ubuntu.com/security/CVE-2026-53362" rel="noopener" class="ext">Fraggap</a>, and several 24.04 HWE and OEM kernels were still listed as vulnerable. For <a href="https://ubuntu.com/security/CVE-2026-53266" rel="noopener" class="ext">the ebtables bug</a>, 22.04 is fixed in 5.15.0-198.208 and 20.04 is still listed as vulnerable.</li>
</ul>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, but on a "this week" clock, not "drop everything." Every bug needs code already running on the box. That makes them second-stage tools, used after a phished account, a compromised web app or a malicious CI job. Where tenants share a kernel, the AF_ALG bug needs no special configuration. Fraggap needs IPv6, and Red Hat adds the ability to create network namespaces, which RHEL 10 grants by default. Both have public root exploits. The ebtables bug also needs namespace privileges. Red Hat calls its exposure limited to systems with specific bridge rules. On single-user servers and laptops, risk is lower. If you have installed and booted a kernel from late September 2026 or later, you are done.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Inventory kernels: <code>uname -r</code> everywhere, then <code>rpm -q kernel</code> or <code>apt list --installed 'linux-image*'</code>.</li>
<li>Update and reboot: <code>dnf update kernel</code> or <code>apt-get install --only-upgrade linux-image-generic</code>, then reboot into the new kernel.</li>
<li>If the reboot must wait, follow Red Hat's interim mitigations: blacklist <code>tls</code> where kTLS is unused, and remove ebtables SNAT rules that rewrite ARP addresses.</li>
<li>Where rootless containers are not needed, apply RHSB-2026-009's workaround, <code>sysctl -w user.max_user_namespaces=0</code>. Deny <code>socket(AF_ALG, ...)</code> in seccomp profiles for untrusted workloads.</li>
<li>Ask appliance vendors for fixed firmware. The CVE records link Siemens advisories for three of these bugs.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>The <a href="https://labs.cloudsecurityalliance.org/research/csa-research-note-linux-kernel-kev-active-exploitation-20260/" rel="noopener" class="ext">Cloud Security Alliance</a> notes that CISA has disclosed no details of the intrusions, and we found no published indicators as of Oct 21, 2026. Look for unexpected writes to <code>/proc/sys/kernel/core_pattern</code>, which the public Fraggap, AF_ALG and kTLS exploits all abuse. Also look for root processes descended from unprivileged users or containers, and kernel oopses that mention <code>tls</code>, <code>af_alg</code>, <code>ebt_snat</code> or <code>ip6_append_data</code> in <code>journalctl -k</code>. Capture memory and logs before rebooting a suspect host.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2022-03-11">Mar 11, 2022</time> — watch_queue fix for CVE-2022-0995 committed upstream.</li>
<li><time datetime="2025-09-05">Sep 5, 2025</time> — CVE-2025-39682 (kTLS) published with stable fixes.</li>
<li><time datetime="2025-10-13">Oct 13, 2025</time> — CVE-2025-39964 (AF_ALG) published.</li>
<li><time datetime="2026-06-25">Jun 25, 2026</time> — CVE-2026-53266 (ebtables) published.</li>
<li><time datetime="2026-07-20">Jul 20, 2026</time> — Fraggap (CVE-2026-53362) write-up and exploit published.</li>
<li><time datetime="2026-08-26">Aug 26, 2026</time> — CISA adds CVE-2022-0995 to KEV. CVE-2026-53362 follows on Aug 27.</li>
<li><time datetime="2026-09-18">Sep 18, 2026</time> — CISA adds CVE-2025-39682, CVE-2025-39964 and CVE-2026-53266, with a federal deadline of Sep 21.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.cve.org/CVERecord?id=CVE-2025-39682">CVE record — CVE-2025-39682</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2025-39964">CVE record — CVE-2025-39964</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-53266">CVE record — CVE-2026-53266</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-53362">CVE record — CVE-2026-53362</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2022-0995">CVE record — CVE-2022-0995</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2025-39682">CISA — Known Exploited Vulnerabilities: CVE-2025-39682</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2025-39964">CISA — Known Exploited Vulnerabilities: CVE-2025-39964</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-53266">CISA — Known Exploited Vulnerabilities: CVE-2026-53266</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-53362">CISA — Known Exploited Vulnerabilities: CVE-2026-53362</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2022-0995">CISA — Known Exploited Vulnerabilities: CVE-2022-0995</a></li><li><a href="https://www.cisa.gov/news-events/alerts/2026/08/26/cisa-adds-six-known-exploited-vulnerabilities-catalog">CISA — CISA Adds Six Known Exploited Vulnerabilities to Catalog (Aug 26, 2026)</a></li><li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=93ce93587d36493f2f86921fa79921b3cba63fbb">Linux kernel — watch_queue: Fix filter limit check (CVE-2022-0995 fix)</a></li><li><a href="https://access.redhat.com/security/vulnerabilities/RHSB-2026-009">Red Hat — RHSB-2026-009 IPv6 Fragmentation Container Escape (CVE-2026-53362)</a></li><li><a href="https://access.redhat.com/security/cve/CVE-2026-53266">Red Hat — CVE-2026-53266</a></li><li><a href="https://access.redhat.com/security/cve/CVE-2025-39682">Red Hat — CVE-2025-39682</a></li><li><a href="https://www.openwall.com/lists/oss-security/2026/07/20/2">oss-security — CVE-2026-53362, CVE-2026-53366: OOB write in UDP MSG_SPLICE_PAGES handling</a></li><li><a href="https://blog.qwerty.or.kr/en/posts/cdf3008a-c1a4-4eca-a373-aa3a2bcf1489/">qwerty — Frag Gap write-up and exploit (CVE-2026-53362)</a></li><li><a href="https://github.com/google/security-research/tree/master/pocs/linux/kernelctf/CVE-2025-39682_lts_cos_mitigation">Google security-research — kernelCTF CVE-2025-39682 exploit</a></li><li><a href="https://github.com/google/security-research/tree/master/pocs/linux/kernelctf/CVE-2025-39964_lts_cos_mitigation">Google security-research — kernelCTF CVE-2025-39964 exploit</a></li><li><a href="https://security-tracker.debian.org/tracker/CVE-2026-53362">Debian security tracker — CVE-2026-53362</a></li><li><a href="https://ubuntu.com/security/CVE-2026-53266">Ubuntu — CVE-2026-53266</a></li><li><a href="https://ubuntu.com/security/CVE-2026-53362">Ubuntu — CVE-2026-53362</a></li><li><a href="https://thehackernews.com/2026/09/cisa-flags-three-linux-kernel.html">The Hacker News — CISA Flags Three Linux Kernel Flaws</a></li><li><a href="https://labs.cloudsecurityalliance.org/research/csa-research-note-linux-kernel-kev-active-exploitation-20260/">Cloud Security Alliance — CISA Flags Three Actively Exploited Linux Kernel Flaws</a></li><li><a href="https://cybersecuritynews.com/14-year-old-linux-kernel-flaw/amp/">Cyber Security News — 14-year-old Linux kernel flaw (CVE-2025-39964)</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 18, 2026</title>
<link>https://erroneo.us/security/2026-09-18/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-18/</guid>
<pubDate>Fri, 18 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief, 3 known exploited (cisa kev) additions and 5 critical advisories.</description>
<content:encoded><![CDATA[<p>1 editorial brief, 3 known exploited (cisa kev) additions and 5 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-53266/">CVE-2026-53266</a> Linux Kernel: Linux Kernel Out-of-Bounds Write Vulnerability (due 2026-09-21)</li><li><a href="https://erroneo.us/security/cve/CVE-2025-39964/">CVE-2025-39964</a> Linux Kernel: Linux Kernel Race Condition Vulnerability (due 2026-09-21)</li><li><a href="https://erroneo.us/security/cve/CVE-2025-39682/">CVE-2025-39682</a> Linux Kernel: Linux Kernel Improper Check for Unusual or Exceptional Conditions Vulnerability (due 2026-09-21)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-59163/">Mnemosyne has JWT signature verification bypass sync server that allows authentication bypass</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-61682/">kcp front-proxy does not strip inbound X-Remote-* identity headers, allowing any authenticated client to inject groups/warrants and impersonate system:masters in any workspace</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-63374/">AnyIO: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing</a></li><li><a href="https://erroneo.us/security/cve/CVE-2025-66455/">LMDeploy has Remote Code Execution by Pickle Deserialization via handle_zmq_recv in lmdeploy/lmdeploy/pytorch/disagg/conn/engine_conn.py</a></li><li><a href="https://erroneo.us/security/cve/CVE-2025-53837/">org.xwiki.rendering:xwiki-rendering-xml has an Eval Injection issue</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Check exposure: Plugin4Shell: Plugin Pin Bypass in AI Coding Agents</title>
<link>https://erroneo.us/security/briefs/plugin4shell-ai-agent-plugin-sha-pin-bypass/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/plugin4shell-ai-agent-plugin-sha-pin-bypass/</guid>
<pubDate>Thu, 17 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>A plugin repo can defeat SHA pinning in Claude Code, Codex, Copilot and Gemini CLI. Fixed in Claude Code 2.1.179 and Codex 0.146.0; Copilot, Gemini CLI unfixed.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Check exposure.</strong> Claude Code and Codex users on current versions are fixed; the real exposure is Copilot or Gemini CLI plugins that auto-update from repositories hosted outside GitHub.</p><p><strong>Who must act:</strong> Teams that install third-party plugins in GitHub Copilot or Gemini CLI, run Claude Code older than 2.1.179 or Codex older than 0.146.0, or run an internal plugin marketplace on Bitbucket or a self-hosted git server.<br><strong>Who can relax:</strong> Claude Code and Codex users on auto-update with no Copilot or Gemini CLI plugins, and anyone who installs no third-party agent plugins at all.</p><ol><li>Confirm versions: claude --version should report 2.1.179 or later and codex --version 0.146.0 or later; update with claude update or npm i -g @openai/codex@latest.</li><li>Inventory installed agent plugins and the git host behind each plugin and marketplace; flag anything on Bitbucket or a self-hosted server.</li><li>For Copilot, disable automatic plugin updates where you can and remove plugins sourced from hosts that allow SHA-shaped branch names.</li><li>Plan a migration off Gemini CLI; Google directs users to Antigravity instead of patching.</li><li>If you run an internal marketplace, host plugins only where 40-hex branch names are rejected, and make install tooling check that git rev-parse HEAD equals the pinned SHA.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 17, 2026, Air Security published <a href="https://www.air.security/blog-posts/plugin4shell" rel="noopener" class="ext">Plugin4Shell</a>. The flaw breaks the SHA pinning that plugin marketplaces for AI coding agents use to lock a plugin to a reviewed commit. Claude Code, OpenAI Codex, GitHub Copilot and Gemini CLI all cloned the plugin repository and checked out the pinned commit. None of them confirmed that the checkout actually landed on that commit.</p>
<p>Two git behaviors make that gap exploitable by whoever controls the plugin repository:</p>
<ul>
<li><strong>Claude Code, Codex, Copilot:</strong> the attacker creates a branch whose name is the 40-character pinned SHA and makes it the default branch. Git prefers a ref over a commit with the same name, so <code>git checkout &lt;sha&gt;</code> lands on the attacker's branch.</li>
<li><strong>Gemini CLI:</strong> it fetches the pinned commit and then runs <code>git checkout FETCH_HEAD</code>. A default branch named <code>FETCH_HEAD</code> wins, and the fetched commit is discarded.</li>
</ul>
<p>Air calls it zero-click because background plugin auto-update, the default in Claude Code and Codex, re-runs the checkout whenever the marketplace bumps the pin. The pinned commit can stay benign for review while the name resolves to malicious code. Air built working exploits for all four agents. It reports no exploitation in the wild, and the CVE is not in CISA KEV.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Anthropic's advisory, <a href="https://github.com/anthropics/claude-code/security/advisories/GHSA-pq7j-f95f-qfcv" rel="noopener" class="ext">GHSA-pq7j-f95f-qfcv</a>, covers the plugin install flow in Claude Code and Claude Desktop before 2.1.179. It was published on October 9, with <a href="https://www.cve.org/CVERecord?id=CVE-2026-86063" rel="noopener" class="ext">CVE-2026-86063</a> following on October 13. The CVE record scores it CVSS 4.0 7.5, and the GitHub advisory 7.7. Anthropic says auto-updating installs already have the fix. Codex fixed it in <a href="https://github.com/openai/codex/releases/tag/rust-v0.146.0" rel="noopener" class="ext">0.146.0</a>, released July 29, whose changelog lists "Verify Git plugin SHA checkouts" (#34644). At disclosure, Microsoft had shipped no client fix for Copilot. Google has declined to patch Gemini CLI, which is deprecated in favor of Antigravity.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Only if you use third-party agent plugins, and the urgency depends on where they are hosted. The branch-name variant needs a host that accepts 40-hex branch names. Air notes that GitHub rejects them, while Bitbucket and self-hosted git servers allow them. Plugins hosted on GitHub are therefore out of reach of that variant. The Gemini CLI variant does not depend on the host, as the <a href="https://labs.cloudsecurityalliance.org/research/csa-research-note-plugin4shell-ai-coding-agent-supply-chain/" rel="noopener" class="ext">Cloud Security Alliance</a> points out.</p>
<p>The realistic attacker publishes a useful plugin, gets it approved, and later swaps the code, or takes over a trusted plugin's repository. Air's earlier research is a warning about scale: a test plugin of theirs reached more than 26,000 agents before it was pulled.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Check <code>claude --version</code> (2.1.179 or later) and <code>codex --version</code> (0.146.0 or later). Update with <code>claude update</code> or <code>npm i -g @openai/codex@latest</code>.</li>
<li>List every installed plugin and marketplace and the git host behind each. Anything on Bitbucket or a self-hosted server needs a closer look.</li>
<li>For Copilot, disable automatic plugin updates where possible and remove plugins you cannot verify. That removes the zero-click element.</li>
<li>Move Gemini CLI users to a maintained tool.</li>
<li>If you run an internal marketplace, add the check Air suggests to your install tooling: <code>test "$(git rev-parse HEAD)" = "&lt;pinned-sha&gt;" || exit 1</code>.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>In each plugin's local git checkout, look for hash-named or <code>FETCH_HEAD</code> branches with <code>git for-each-ref --format='%(refname)' | grep -E '/([0-9a-f]{40}|FETCH_HEAD)$'</code>. Compare <code>git rev-parse HEAD</code> with the pin in the marketplace manifest. A mismatch means the pin was bypassed, so treat the plugin's code as untrusted and review what it ran. For Claude Code, the <a href="https://code.claude.com/docs/en/plugins/loading" rel="noopener" class="ext">plugin loading reference</a> puts marketplace clones under <code>~/.claude/plugins/marketplaces/</code> and installed copies under <code>~/.claude/plugins/cache/&lt;marketplace&gt;/&lt;plugin&gt;/&lt;version&gt;/</code>. Also look for hooks, MCP server entries or scripts in recently updated plugins that the reviewed commit did not contain.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-05">May 2026</time> — Air Security finds the flaw and builds proofs of concept for all four agents.</li>
<li><time datetime="2026-06-17">Jun 17, 2026</time> — Anthropic confirms the fix in Claude Code 2.1.179.</li>
<li><time datetime="2026-07-29">Jul 29, 2026</time> — Codex 0.146.0 ships with plugin SHA checkout verification.</li>
<li><time datetime="2026-08-04">Aug 4, 2026</time> — Google says Gemini CLI will not be fixed.</li>
<li><time datetime="2026-09-17">Sep 17, 2026</time> — Air publishes Plugin4Shell. <a href="https://www.helpnetsecurity.com/2026/09/18/plugin4shell-ai-coding-agents-vulnerability/" rel="noopener" class="ext">Help Net Security</a> reports it on Sep 18.</li>
<li><time datetime="2026-10-09">Oct 9, 2026</time> — Anthropic publishes GHSA-pq7j-f95f-qfcv. CVE-2026-86063 is published on Oct 13.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.air.security/blog-posts/plugin4shell">Air Security — Plugin4Shell</a></li><li><a href="https://github.com/anthropics/claude-code/security/advisories/GHSA-pq7j-f95f-qfcv">Anthropic — GHSA-pq7j-f95f-qfcv: Plugin Commit SHA Pin Bypass Allows Installation of Attacker-Controlled Code</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-86063">CVE record — CVE-2026-86063</a></li><li><a href="https://github.com/openai/codex/releases/tag/rust-v0.146.0">OpenAI — Codex rust-v0.146.0 release notes</a></li><li><a href="https://code.claude.com/docs/en/plugins/loading">Anthropic — Claude Code plugin loading reference (Find plugins on disk)</a></li><li><a href="https://labs.cloudsecurityalliance.org/research/csa-research-note-plugin4shell-ai-coding-agent-supply-chain/">Cloud Security Alliance — Plugin4Shell: SHA-Pinning Bypass Enables AI Coding Agent RCE</a></li><li><a href="https://www.helpnetsecurity.com/2026/09/18/plugin4shell-ai-coding-agents-vulnerability/">Help Net Security — Zero-click RCE vulnerability hit four major AI coding agents, two remain unpatched</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 17, 2026</title>
<link>https://erroneo.us/security/2026-09-17/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-17/</guid>
<pubDate>Thu, 17 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief and 9 critical advisories.</description>
<content:encoded><![CDATA[<p>1 editorial brief and 9 critical advisories.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-79752/">CakePHP: Multiple methods in FunctionsBuilder vulnerable to SQL injection</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-75828/">Grav: detectXss() misses an event-handler attribute after an unpaired quote in an unquoted attribute value, giving stored XSS</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-75513/">Marten&#x27;s LINQ provider has SQL injection via unescaped string literals</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-77408/">RabbitMQ amqp091-go: Silent Data Truncation and State Corruption via Shortstr Integer Overflow</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-45140/">Chamilo LMS CStudio upload flow allows unauthenticated remote code execution</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-75827/">Grav: Blueprint dynamic-data bare-function branch is denylist-gated and omits error_log, giving arbitrary file write</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-77411/">RabbitMQ amqp091-go: Protocol Desynchronization and Frame Injection via Integer Overflow in readLongstr</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-63472/">Vendure affected by external-authentication account takeover: external login linked to a pre-existing account by email without verification</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-77405/">RabbitMQ amqp091-go: Missing Explicit TLS Minimum Version Configuration In URI Parser</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: Cisco ISE CVE-2026-76460: Exploited CVSS 10 Auth Bypass</title>
<link>https://erroneo.us/security/briefs/cisco-ise-cve-2026-76460-api-auth-bypass/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/cisco-ise-cve-2026-76460-api-auth-bypass/</guid>
<pubDate>Wed, 16 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Unauthenticated API flaw in Cisco ISE and ISE-PIC is exploited and can lead to root. Fixed in 3.3 P12, 3.4 P7, 3.5 P4 and others. Patch now and check logs.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> If you run Cisco ISE or ISE-PIC on any release before the fixed patches, patch now and hunt every node; the bug needs no login, is exploited, and Cisco warns attackers may get root and erase their tracks.</p><p><strong>Who must act:</strong> Every organization running Cisco Identity Services Engine or ISE Passive Identity Connector 3.0 through 3.5 for network access control, RADIUS/TACACS+ or identity services, in any deployment size.<br><strong>Who can relax:</strong> Organizations that do not run Cisco ISE or ISE-PIC; other Cisco products are not named in this advisory.</p><ol><li>Inventory every ISE and ISE-PIC node in every deployment and record its release and patch level.</li><li>Install 3.1 Patch 12, 3.2 Patch 11, 3.3 Patch 12, 3.4 Patch 7 or 3.5 Patch 4 on all nodes; migrate ISE 3.0 to a supported release.</li><li>Until patched, use infrastructure ACLs so only required management and control-plane traffic can reach ISE nodes.</li><li>On every node, check the API gateway access log for suspicious usernames, starting with show logging application ise-kong/access.log | include dummyuser.</li><li>If you find signs of compromise, re-image the affected nodes, restore configuration from a known-good backup, and rotate ISE admin, RADIUS/TACACS+ shared secrets and integration credentials.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 16, 2026, Cisco published <a href="https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-ISE-ABP-VNSW7Tn5" rel="noopener" class="ext">CVE-2026-76460</a>, an authentication bypass in an API of Cisco Identity Services Engine (ISE) and ISE Passive Identity Connector (ISE-PIC). The cause is "insufficient authentication control on an API endpoint". An unauthenticated attacker who sends a crafted request to that endpoint gets into the device without going through the web-based management interface. Cisco scores it CVSS 3.1 10.0 (Critical) and says its PSIRT is aware of active exploitation. Cisco also warns that after a successful exploit, "threat actors may obtain command execution with root privileges" and may then remove or hide evidence.</p>
<p>CISA added the CVE to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-76460" rel="noopener" class="ext">Known Exploited Vulnerabilities catalog</a> the same day, with a September 19 deadline for federal agencies. Its ransomware status is "Unknown", and CISA flags it for forensic triage. CISA's assessment in the <a href="https://www.cve.org/CVERecord?id=CVE-2026-76460" rel="noopener" class="ext">CVE record</a> rates exploitation automatable and the technical impact "total". Cisco found the bug while resolving a TAC support case and has not described the attacks.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>ISE and ISE-PIC are affected regardless of configuration. The first fixed releases are:</p>
<ul>
<li>3.1: 3.1 Patch 12</li>
<li>3.2: 3.2 Patch 11</li>
<li>3.3: 3.3 Patch 12</li>
<li>3.4: 3.4 Patch 7</li>
<li>3.5: 3.5 Patch 4</li>
</ul>
<p>ISE 3.0 has reached end of software maintenance, and Cisco tells those customers to migrate to a supported fixed release. <a href="https://www.helpnetsecurity.com/2026/09/17/cisco-ise-vulnerability-exploited-cve-2026-76460/" rel="noopener" class="ext">Help Net Security</a> notes that the same release fixed many other ISE flaws, and that 3.1 and 3.2 now receive only critical fixes. That makes 3.3 Patch 12, 3.4 Patch 7 or 3.5 Patch 4 the better targets. There is no workaround.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>If you run ISE, yes, today. Every precondition favors the attacker: no credentials, no user interaction, no special configuration, and a changed scope in the CVSS vector. ISE sits at the center of network access control, and a compromised ISE node can change who gets onto wired, wireless and VPN networks. It also holds RADIUS and TACACS+ shared secrets, network device credentials and directory integrations. Cisco's warning about root access and evidence removal means that patching alone does not prove you are clean.</p>
<p>ISE is usually deployed on internal networks, which narrows the field of attackers. It does not remove the risk, because Cisco documents no specific port or interface for the vulnerable API, and an attacker with any internal foothold can reach it. Cisco's only interim mitigation is infrastructure ACLs that allow just the management and control-plane traffic each node needs. <a href="https://www.bitsight.com/blog/critical-vulnerability-alert-cve-2026-76460-cisco-ise-authentication-bypass" rel="noopener" class="ext">Bitsight</a> also stresses that this does not replace patching. If you do not run ISE, nothing here applies to you, though it is worth asking managed network providers whether they do.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>List every ISE and ISE-PIC node, including secondary admin, monitoring and policy service nodes in distributed deployments. Check the release and installed patch with <code>show version</code> on each node.</li>
<li>Install the fixed patch for your train on all nodes, or migrate 3.0 deployments to a supported release.</li>
<li>Until every node is patched, apply infrastructure ACLs so only the management stations and network devices that need ISE can reach it.</li>
<li>Run the indicator check on <em>every</em> node, not just the primary: <code>show logging application ise-kong/access.log | include dummyuser</code>.</li>
<li>If anything looks suspicious, follow Cisco's advice: re-image the affected nodes and restore configuration from backup. Then rotate the ISE admin passwords, RADIUS/TACACS+ shared secrets and the service accounts ISE uses for Active Directory and other integrations.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Cisco's indicator lives in the API gateway (Kong) access log. Look for suspicious usernames, with <code>dummyuser</code> as a non-exhaustive example, and treat any matching entry as possible malicious activity. The live log only covers recent traffic. For older entries, collect a support bundle with debug logs included and shared-key encryption, decrypt it, and search <code>./ise/logs/apigateway/access.log.*.gz</code>. Because an attacker with root can wipe local logs, Cisco recommends checking telemetry outside the device as well: firewall and network logs showing unexpected uploads from ISE nodes to external IPs, or downloads from malicious addresses. Also review admin accounts, authorization policies and network device entries for changes you cannot explain.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-16">Sep 16, 2026</time> — Cisco publishes the advisory and fixed patches, citing active exploitation. CISA adds CVE-2026-76460 to KEV.</li>
<li><time datetime="2026-09-17">Sep 17, 2026</time> — CISA's exploitation assessment is added to the CVE record, and press and vendor write-ups follow.</li>
<li><time datetime="2026-09-19">Sep 19, 2026</time> — CISA's remediation deadline for federal agencies.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-ISE-ABP-VNSW7Tn5">Cisco — Cisco Identity Services Engine Authentication Bypass Vulnerability (cisco-sa-ISE-ABP-VNSW7Tn5)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-76460">CVE record — CVE-2026-76460</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-76460">NVD — CVE-2026-76460</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-76460">CISA — Known Exploited Vulnerabilities: CVE-2026-76460</a></li><li><a href="https://www.helpnetsecurity.com/2026/09/17/cisco-ise-vulnerability-exploited-cve-2026-76460/">Help Net Security — Unauthenticated attackers are bypassing Cisco ISE&#x27;s management interface (CVE-2026-76460)</a></li><li><a href="https://www.bitsight.com/blog/critical-vulnerability-alert-cve-2026-76460-cisco-ise-authentication-bypass">Bitsight — CVE-2026-76460: A critical Cisco ISE authentication bypass under active exploitation</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 16, 2026</title>
<link>https://erroneo.us/security/2026-09-16/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-16/</guid>
<pubDate>Wed, 16 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief, 3 known exploited (cisa kev) additions and 3 critical advisories.</description>
<content:encoded><![CDATA[<p>1 editorial brief, 3 known exploited (cisa kev) additions and 3 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-87886/">CVE-2026-87886</a> Acronis Backup: Acronis Backup Incorrect Default Permissions Vulnerability (due 2026-09-19)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-76460/">CVE-2026-76460</a> Cisco Identity Services Engine: Cisco Identity Services Engine Incorrect Use of Privileged APIs Vulnerability (due 2026-09-19)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-58704/">CVE-2026-58704</a> Google Pixel: Google Pixel Improper Authorization Vulnerability (due 2026-09-19)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-61594/">djust has an authorization bypass on the WebSocket/SSE mount path</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-61560/">@zereight/mcp-gitlab: Unauthenticated arbitrary file read via `upload_markdown` enables PAT exfiltration and full account takeover</a></li><li><a href="https://erroneo.us/security/cve/CVE-2025-59953/">LMdeploy has Remote Code Execution by Pickle Deserialization via zmq_rpc.call_and_response() in InterLM/lmdeploy</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Patch this week: Google Pixel Modem CVE-2026-58704: Exploited Zero-Day</title>
<link>https://erroneo.us/security/briefs/google-pixel-modem-cve-2026-58704-zero-day/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/google-pixel-modem-cve-2026-58704-zero-day/</guid>
<pubDate>Tue, 15 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Pixel cellular modem permission bypass under limited, targeted exploitation; no user interaction. Fixed at patch level 2026-09-05. Patch Pixel fleets this week.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> A targeted, no-interaction modem bug on Pixel phones with a fix already out: make 2026-09-05 the minimum patch level for every managed Pixel this week, and sooner for high-risk users.</p><p><strong>Who must act:</strong> Organizations with company-owned or BYOD Pixel phones that access corporate data, especially those used by executives, administrators, journalists or staff who travel.<br><strong>Who can relax:</strong> Fleets with no Pixel phones, and Pixel devices already on patch level 2026-09-05 or later, since Google&#x27;s bulletin covers only Google devices.</p><ol><li>Pull the security patch level of every managed Pixel from your MDM and list any device below 2026-09-05.</li><li>Set a compliance rule that blocks corporate access for Pixel devices below patch level 2026-09-05.</li><li>Push or prompt the update on non-compliant devices, starting with high-risk users.</li><li>Retire Pixel models that no longer get security updates (Pixel 5a and older), since they will not receive this fix.</li><li>For high-risk users whose phones stayed unpatched, arrange a professional mobile forensic review.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 15, 2026, Google published the <a href="https://source.android.com/docs/security/bulletin/pixel/2026/2026-09-01" rel="noopener" class="ext">Pixel Update Bulletin for September 2026</a>. One fix was for CVE-2026-58704, an elevation-of-privilege bug in the Pixel's Modem component, rated High. The bulletin carries a rare note: "There are indications that CVE-2026-58704 may be under limited, targeted exploitation." Google's CVE text says that in the cellular modem "there is a possible permission bypass due to a logic error in the code." It "could lead to remote (proximal/adjacent) escalation of privilege with no additional execution privileges needed." User interaction is not needed.</p>
<p>CISA added the bug to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-58704" rel="noopener" class="ext">KEV catalog</a> on September 16 and gave federal agencies until September 19. The entry is also flagged for CISA's forensic triage requirements. Google has not named the attacker, the victims or how the exploit was delivered. <a href="https://www.securityweek.com/pixel-modem-zero-day-exploited-in-targeted-attacks/" rel="noopener" class="ext">SecurityWeek</a> notes that Google "has not attributed the exploitation to a specific threat actor." No outside reporter is credited.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Google Pixel phones below security patch level 2026-09-05 are affected. The bulletin says "All supported Google devices will receive an update to the 2026-09-05 patch level," but it does not list which models carry the flaw. Per <a href="https://support.google.com/pixelphone/answer/4457705" rel="noopener" class="ext">Google's support page</a>, Pixel 6 and later, plus the Pixel Fold, are in their update windows. Pixel 5a and older get no security updates at all. The bug ID has an asterisk, which means the fix is not public source code and ships in Pixel binary drivers. Google's bulletin covers only Google devices. Whether other phones share the flawed code has not been disclosed.</p>
<p>The sources disagree on a few details. Google, the CNA, gave no CVSS score. The 8.8 figure (AV:A, no privileges, no interaction) comes from CISA's enrichment, shown on <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-58704" rel="noopener" class="ext">NVD</a>. <a href="https://thehackernews.com/2026/09/google-patches-pixel-modem-flaw-amid.html" rel="noopener" class="ext">The Hacker News</a> cites 8.0. The KEV entry calls it improper authorization but lists CWE-693. The <a href="https://www.cve.org/CVERecord?id=CVE-2026-58704" rel="noopener" class="ext">CVE record</a>'s affected field says "Android kernel", while the description says cellular modem.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>For managed Pixel fleets, yes, this week. Three things push it up: the bug is in the modem, it needs no click, and Google has seen real use. "Proximal/adjacent" means the attacker has to be near the phone or on an adjacent network, not anywhere on the internet. That fits the profile of a targeted operation against chosen people, not mass exploitation. Most employees are unlikely targets. But you cannot easily tell who is one, and the fix is a routine update that has been out for five weeks. Patch everyone, and start with people whose phones are worth an exploit: executives, admins with production access, legal, and staff who travel.</p>
<p>If your organization has no Pixels, there is nothing to do for this CVE. Pixel phones already on 2026-09-05 or later, including the October update, are covered.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Export the security patch level for every Pixel from your MDM. On a single device, run <code>adb shell getprop ro.build.version.security_patch</code> and expect <code>2026-09-05</code> or later.</li>
<li>Add a compliance rule that blocks email, VPN and SSO access for Pixels below 2026-09-05.</li>
<li>Push or prompt the system update on non-compliant devices. Follow up by hand with high-risk users.</li>
<li>Replace any Pixel 5a or older still in use. It will never get this fix.</li>
<li>For BYOD Pixels, tell owners why the minimum patch level matters, so blocked access is not a surprise.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Hard to say, and Google has not helped. As of October 21, 2026, it has published no indicators, payload names or attacker details. Modem-level exploitation leaves little that an MDM or an on-device app can see. In practice:</p>
<ul>
<li>Any Pixel below 2026-09-05 during August and September was exposed. Most were almost certainly not targeted.</li>
<li>If a high-risk user's phone was unpatched and showed unexplained reboots, overheating, battery drain or data use, hand it to a mobile forensics specialist. Do not just update it and move on, because updating can destroy evidence.</li>
</ul>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-07-02">Jul 2, 2026</time> — Google's device CNA reserves CVE-2026-58704.</li>
<li><time datetime="2026-09-15">Sep 15, 2026</time> — Google publishes the September Pixel bulletin (patch level 2026-09-05) with the limited, targeted exploitation note.</li>
<li><time datetime="2026-09-16">Sep 16, 2026</time> — CISA adds the CVE to KEV.</li>
<li><time datetime="2026-09-19">Sep 19, 2026</time> — CISA's remediation deadline for federal agencies.</li>
<li><time datetime="2026-10-07">Oct 7, 2026</time> — The CVE record's CISA enrichment, which carries the 8.8 score, is last updated.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://source.android.com/docs/security/bulletin/pixel/2026/2026-09-01">Android — Pixel Update Bulletin, September 2026</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-58704">CVE record — CVE-2026-58704</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-58704">NVD — CVE-2026-58704</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-58704">CISA — Known Exploited Vulnerabilities: CVE-2026-58704</a></li><li><a href="https://support.google.com/pixelphone/answer/4457705">Google — Learn when you&#x27;ll get software updates on Google Pixel phones</a></li><li><a href="https://www.securityweek.com/pixel-modem-zero-day-exploited-in-targeted-attacks/">SecurityWeek — Pixel Modem Zero-Day Exploited in Targeted Attacks</a></li><li><a href="https://thehackernews.com/2026/09/google-patches-pixel-modem-flaw-amid.html">The Hacker News — Google Patches Pixel Modem Flaw Amid Signs of Limited Targeted Exploitation</a></li><li><a href="https://9to5google.com/2026/09/16/google-pixel-targeted-zero-day-modem-attack/">9to5Google — Google confirms Pixel phones were exploited in &#x27;targeted&#x27; attack related to modem</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Check exposure: Acronis Backup cPanel Plugin CVE-2026-87886: Exploited LPE</title>
<link>https://erroneo.us/security/briefs/acronis-backup-cpanel-plesk-lpe-cve-2026-87886/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/acronis-backup-cpanel-plesk-lpe-cve-2026-87886/</guid>
<pubDate>Tue, 15 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Insecure file permissions in Acronis Backup for cPanel &amp; WHM, Plesk and DirectAdmin allow local privilege escalation, exploited on cPanel. Update the plugin.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Check exposure.</strong> Only hosting servers running the Acronis Backup plugin for cPanel &amp; WHM, Plesk or DirectAdmin are affected; on those, especially multi-tenant cPanel boxes, update the plugin now because it is being exploited.</p><p><strong>Who must act:</strong> Hosting providers and server admins with the Acronis Backup plugin or extension installed on Linux cPanel &amp; WHM, Plesk or DirectAdmin servers, above all shared-hosting servers where many users or websites have local access.<br><strong>Who can relax:</strong> Everyone without these specific Acronis hosting-panel integrations, including users of other Acronis products not listed in SEC-10986.</p><ol><li>Inventory every cPanel &amp; WHM, Plesk and DirectAdmin server with the Acronis Backup plugin or extension installed.</li><li>Update cPanel &amp; WHM servers to plugin 1.9.3 HF3 (build 1.9.3.1021) or later first, since that is where exploitation was seen.</li><li>Update the Plesk extension to 1.8.11 (build 1.8.11.638) and the DirectAdmin plugin to build 1.2.3.238 or later.</li><li>Confirm the installed build on each server after updating rather than trusting automatic updates.</li><li>On shared-hosting servers, review which users and sites have shell or script execution, and hunt for signs of local compromise.</li></ol><h2 id="what-happened">What happened</h2>
<p>Acronis has disclosed CVE-2026-87886, a local privilege escalation in its Backup integrations for web hosting control panels. Advisory <a href="https://security-advisory.acronis.com/advisories/SEC-10986" rel="noopener" class="ext">SEC-10986</a> calls it "local privilege escalation due to insecure file permissions" (CWE-276), rated CVSS 3.0 7.8. It also states: "Exploitation of this vulnerability has been detected in the wild in limited, targeted attacks against Acronis Backup plugin for cPanel &amp; WHM deployments."</p>
<p>The fixes shipped quietly before the disclosure. The <a href="https://security-advisory.acronis.com/updates/UPD-2609-efb0-50b2" rel="noopener" class="ext">Plesk extension 1.8.11</a> update is dated September 10 and the <a href="https://security-advisory.acronis.com/updates/UPD-2609-3d72-20a7" rel="noopener" class="ext">cPanel &amp; WHM plugin 1.9.3 HF3</a> update September 11. On September 15, Acronis revised both entries to link SEC-10986. The cPanel note now says the update "should be installed immediately by all users" and repeats the exploitation warning. The Plesk note says Acronis sees "no signs of active exploitation." CISA added the CVE to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-87886" rel="noopener" class="ext">KEV catalog</a> on September 16, with a federal deadline of September 19. The <a href="https://www.cve.org/CVERecord?id=CVE-2026-87886" rel="noopener" class="ext">CVE record</a> was published on September 17.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Three Linux products are affected:</p>
<ul>
<li>Acronis Backup plugin for cPanel &amp; WHM before build 1.9.3.1021 (fixed in 1.9.3 HF3)</li>
<li>Acronis Backup extension for Plesk before build 1.8.11.638</li>
<li>Acronis Backup plugin for DirectAdmin before build 1.2.3.238</li>
</ul>
<p>CISA's KEV entry names only the cPanel and Plesk products. The vendor advisory and the CVE record include DirectAdmin as well. No other Acronis products are listed in SEC-10986.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Most developers and companies can skip this one. It matters only if you run hosting servers with one of these panel integrations installed. If you do, the "local" in local privilege escalation offers less comfort than it sounds. The CVSS vector requires low privileges and no user interaction. On a shared cPanel server, low privileges describe every hosting customer, and every website whose CMS or plugin an attacker can turn into a web shell. Escalating from there threatens every tenant on the box, and the backups too. CISA's enrichment on the CVE record rates the technical impact "total" and automatability "no," consistent with a second-stage bug used after an initial foothold.</p>
<p>Very little is known about the attacks. <a href="https://thehackernews.com/2026/09/acronis-cpanel-backup-plugin.html" rel="noopener" class="ext">The Hacker News</a> reports there are no details on the attackers, their goals, or how long exploitation went on, and an Acronis spokesperson had "nothing to add at this stage." <a href="https://helpnetsecurity.com/2026/09/16/acronis-backup-plugin-vulnerability-exploited-cve-2026-87886" rel="noopener" class="ext">Help Net Security</a> likewise says it is unknown what attackers do after escalating. As of October 21, 2026, there is no public proof-of-concept and no published root-cause write-up.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>List every cPanel &amp; WHM, Plesk and DirectAdmin server with the Acronis Backup integration installed. On Plesk, <code>plesk bin extension --list</code> shows installed extensions and versions. On cPanel or DirectAdmin hosts, check the plugin's version in the panel, or with <code>rpm -qa | grep -i acronis</code> where it is packaged as an RPM.</li>
<li>Update cPanel &amp; WHM servers to 1.9.3 HF3 (build 1.9.3.1021) or later first.</li>
<li>Update Plesk to 1.8.11 (build 1.8.11.638) and DirectAdmin to build 1.2.3.238 or later.</li>
<li>Re-check the installed build afterward. Don't assume the update arrived.</li>
<li>On multi-tenant servers, take stock of which accounts have shell access or can run scripts, and tighten that where you can.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Acronis has not published indicators of compromise as of October 21, 2026, so hunting means looking for local escalation in general. Start where a local attacker would get in: web shells and unfamiliar scripts in customer document roots. Then look for what escalation leaves behind: new setuid binaries (<code>find / -xdev -perm -4000 -mtime -60</code>), unknown root cron jobs, keys you didn't add in <code>/root/.ssh/authorized_keys</code>, and recently modified files in the Acronis plugin's install directories. If you find a confirmed local compromise on a cPanel server that ran a vulnerable build, assume root-level access. Rebuild the host, then rotate panel, database and backup-storage credentials.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-10">Sep 10, 2026</time> — Acronis releases the fixed Plesk extension, 1.8.11.</li>
<li><time datetime="2026-09-11">Sep 11, 2026</time> — Acronis releases the cPanel &amp; WHM plugin 1.9.3 HF3.</li>
<li><time datetime="2026-09-15">Sep 15, 2026</time> — Acronis updates both entries, links SEC-10986 and reports exploitation against cPanel &amp; WHM.</li>
<li><time datetime="2026-09-16">Sep 16, 2026</time> — CISA adds the CVE to KEV (due Sep 19).</li>
<li><time datetime="2026-09-17">Sep 17, 2026</time> — The CVE record is published.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://security-advisory.acronis.com/advisories/SEC-10986">Acronis — Security advisory SEC-10986 (CVE-2026-87886)</a></li><li><a href="https://security-advisory.acronis.com/updates/UPD-2609-3d72-20a7">Acronis — Acronis Backup plugin for cPanel &amp; WHM version 1.9.3 HF3</a></li><li><a href="https://security-advisory.acronis.com/updates/UPD-2609-efb0-50b2">Acronis — Acronis Backup extension for Plesk version 1.8.11</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-87886">CVE record — CVE-2026-87886</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-87886">CISA — Known Exploited Vulnerabilities: CVE-2026-87886</a></li><li><a href="https://thehackernews.com/2026/09/acronis-cpanel-backup-plugin.html">The Hacker News — Acronis cPanel backup plugin flaw exploited</a></li><li><a href="https://helpnetsecurity.com/2026/09/16/acronis-backup-plugin-vulnerability-exploited-cve-2026-87886">Help Net Security — Acronis backup plugin flaw exploited in targeted attacks (CVE-2026-87886)</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 15, 2026</title>
<link>https://erroneo.us/security/2026-09-15/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-15/</guid>
<pubDate>Tue, 15 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>2 editorial briefs and 3 critical advisories.</description>
<content:encoded><![CDATA[<p>2 editorial briefs and 3 critical advisories.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-61568/">@zereight/mcp-gitlab: DNS rebinding reaches local Streamable HTTP MCP transport</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-69204/">Http4s Ember accepts Transfer-Encoding combined with Content-Length (CL.TE request smuggling)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-61559/">@zereight/mcp-gitlab Vulnerable to Server-Side Request Forgery</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: Cisco Secure Email Gateway: Two Exploited Root RCE Bugs</title>
<link>https://erroneo.us/security/briefs/cisco-secure-email-gateway-cve-2026-76461-76519-root-rce/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/cisco-secure-email-gateway-cve-2026-76461-76519-root-rce/</guid>
<pubDate>Mon, 14 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Crafted emails give unauthenticated root on Cisco Secure Email Gateway (CVE-2026-76461, -76519), both in KEV. Move to 16.5.0-780 or 15.5.5-014 and hunt.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> Every on-premises Secure Email Gateway below 15.5.5-014 or 16.5.0-780 can be rooted by an email and both bugs are exploited: upgrade now, and check for compromise before and after, because attackers can wipe local evidence.</p><p><strong>Who must act:</strong> Anyone running physical or virtual Cisco Secure Email Gateway on AsyncOS before 15.5.5-014, 16.0.x, or 16.5 before 16.5.0-780, including teams that moved to 16.0.4-302, which fixes only CVE-2026-76461.<br><strong>Who can relax:</strong> Secure Email and Web Manager and Secure Web Appliance are not affected by these two CVEs, and Cisco has already upgraded Secure Email Cloud devices (but contacted cloud customers must rotate credentials).</p><ol><li>List every gateway and cluster member and its AsyncOS release (version at the CLI).</li><li>Before upgrading, run Cisco&#x27;s IOC checks on every appliance; on virtual appliances, collect forensic data first.</li><li>Upgrade to 16.5.0-780, or at minimum 15.5.5-014 (CLI: upgrade, then DOWNLOADINSTALL); 16.0 users must migrate.</li><li>Run contentscannerstatus and, if below 25.3.0.5525, run contentscannerupdate and enable automatic service updates.</li><li>If indicators are found: open a TAC case (physical) or redeploy a fresh VM on a fixed release without importing the old config (virtual), rotate credentials and keys, and restore every member of an affected cluster.</li><li>Keep management off the internet, separate mail and management interfaces, disable HTTP/FTP and forward logs to an external server.</li><li>Upgrade Secure Email and Web Manager to 15.5.5-006 or 16.5.0-429 for the related hardening release.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 14, 2026, Cisco published <a href="https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-esa-inj-2bLVGmhX" rel="noopener" class="ext">cisco-sa-esa-inj-2bLVGmhX</a> for CVE-2026-76461, a SQL injection (CWE-89) in the email parsing logic of AsyncOS for Cisco Secure Email Gateway. An unauthenticated attacker only has to send a crafted message containing SQL statements through the gateway to run commands as root. Cisco rates it CVSS 3.1 9.8 and says it affects physical and virtual appliances "regardless of device configuration." The bug surfaced during a TAC support case, and Cisco PSIRT learned of active exploitation in September 2026. CISA added it to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-76461" rel="noopener" class="ext">KEV catalog</a> the same day.</p>
<p>Cisco also shipped a <a href="https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-hardening-esa-dfCrfXkm" rel="noopener" class="ext">hardening release</a> that day for internally found flaws, including CVE-2026-76440, a group of path traversal issues. On October 14, Cisco published <a href="https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-esa-afw-zqYJkjxp" rel="noopener" class="ext">cisco-sa-esa-afw-zqYJkjxp</a> for CVE-2026-76519, a relative path traversal (CWE-23) in the Advanced Malware Protection (AMP) file reputation feature. A crafted attachment lets an unauthenticated attacker write arbitrary files and run commands as root. It is also rated 9.8, PSIRT learned of exploitation in October, and it entered <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-76519" rel="noopener" class="ext">KEV</a> the same day. <a href="https://www.securityweek.com/cisco-warns-of-exploited-secure-email-gateway-vulnerability/" rel="noopener" class="ext">SecurityWeek</a> reports that its fix shipped in the September releases under CVE-2026-76440.</p>
<p>Cisco has not attributed either campaign or said how many appliances were hit, and we found no Talos analysis as of October 21, 2026. The <a href="https://www.sophos.com/en-us/blog/cisco-secure-email-gateway-vulnerability-cve-2026-76461-in-active-exploitation" rel="noopener" class="ext">Sophos Counter Threat Unit</a> flagged CVE-2026-76461 but published no indicators.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>On-premises Secure Email Gateway, physical or virtual, on AsyncOS below the fixed releases (<a href="https://www.cve.org/CVERecord?id=CVE-2026-76461" rel="noopener" class="ext">CVE record</a>, <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-76519" rel="noopener" class="ext">NVD</a>):</p>
<ul>
<li><strong>CVE-2026-76461:</strong> every configuration. Fixed in 15.5.5-014 (15.5 and earlier), 16.0.4-302 and 16.5.0-780.</li>
<li><strong>CVE-2026-76519:</strong> only when File Reputation is enabled and assigned to a mail policy <strong>and</strong> Content Scanner Tools is older than 25.3.0.5525. Fixed in 15.5.5-014 and 16.5.0-780, or by updating Content Scanner Tools. There is no 16.0 fix.</li>
</ul>
<p>Secure Email and Web Manager and Secure Web Appliance are not affected by either CVE, though the Manager is covered by the hardening release (15.5.5-006 or 16.5.0-429). Cisco says it has upgraded all Secure Email Cloud devices to 16.5.0-780 and contacted cloud customers where it saw malicious activity.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, if an on-premises gateway is not on 15.5.5-014 or 16.5.0-780. The attack surface is the gateway's core job, accepting mail from the internet. No login, no user click and, for CVE-2026-76461, no special feature is needed, and Cisco confirms both bugs are exploited. Any gateway with AMP file reputation on a mail policy meets the CVE-2026-76519 condition unless Content Scanner Tools is already current, so check rather than assume automatic updates covered you.</p>
<p>Patching is not the end of it. Root on a mail gateway exposes mail flow, stored credentials and the SSH keys cluster members use to trust each other, and Cisco warns attackers may hide or remove evidence. A gateway that sat on a vulnerable release in September or October should be checked with Cisco's indicators before and after upgrading. Teams that moved to 16.0.4-302 for the first bug are still exposed to the second.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>List every gateway and cluster member and its release (<code>version</code> at the CLI).</li>
<li>Run the checks below on each appliance before upgrading. On virtual appliances, collect forensic data first; Cisco notes that redeploying destroys configuration and logs.</li>
<li>Upgrade to 16.5.0-780 (Cisco's recommendation for anything earlier than 16.5) or at minimum 15.5.5-014: CLI <code>upgrade</code>, then <code>DOWNLOADINSTALL</code>, or System Administration &gt; System Upgrade.</li>
<li>Run <code>contentscannerstatus</code>. If it is older than 25.3.0.5525, run <code>contentscannerupdate</code> and enable automatic service updates; this closes CVE-2026-76519 without a restart.</li>
<li>If you find indicators, open a TAC case for physical appliances. For virtual ones, deploy a fresh VM on a fixed release, rebuild the configuration without importing the old file, rotate credentials and keys, and restore every member of an affected cluster.</li>
<li>Apply Cisco's hardening advice: no internet access to management, separate mail and management interfaces, external log forwarding, HTTP and FTP disabled.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>For CVE-2026-76461, Cisco suggests searching mail logs for SQL that shells out, for example <code>grep -i "COPY.*TO PROGRAM" mail_logs</code> on every cluster member; any match may indicate malicious activity. Cisco also lists Snort rules 67109-67110. For CVE-2026-76519, run <code>grep "System Security" system_logs</code>. "Suspected compromise indicator was found" means compromise; "Security scan did not complete" means contact TAC; "No compromise indicator was found" means none was detected. Because root-level attackers can scrub local logs, also check firewall and proxy logs for unexpected uploads from the gateway to external IPs or downloads from unknown hosts, as <a href="https://thehackernews.com/2026/09/cisco-secure-email-gateway-flaw.html" rel="noopener" class="ext">The Hacker News</a> relays from Cisco.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-14">Sep 14, 2026</time> — Cisco publishes the CVE-2026-76461 advisory and the September hardening release (15.5.5-014, 16.0.4-302, 16.5.0-780). CISA adds CVE-2026-76461 to KEV.</li>
<li><time datetime="2026-09-17">Sep 17, 2026</time> — Cisco adds cluster guidance to the advisory; CISA deadline for CVE-2026-76461.</li>
<li><time datetime="2026-10-14">Oct 14, 2026</time> — Cisco publishes CVE-2026-76519 as exploited and links it from the hardening advisory. CISA adds it to KEV.</li>
<li><time datetime="2026-10-17">Oct 17, 2026</time> — CISA deadline for CVE-2026-76519.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-esa-inj-2bLVGmhX">Cisco — Cisco Secure Email Gateway SQL Injection Vulnerability (cisco-sa-esa-inj-2bLVGmhX)</a></li><li><a href="https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-esa-afw-zqYJkjxp">Cisco — Cisco Secure Email Gateway Arbitrary File Write Vulnerability (cisco-sa-esa-afw-zqYJkjxp)</a></li><li><a href="https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-hardening-esa-dfCrfXkm">Cisco — Secure Email Gateway and Secure Email and Web Manager Security Hardening Release: September 2026</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-76461">CVE record — CVE-2026-76461</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-76519">CVE record — CVE-2026-76519</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-76461">NVD — CVE-2026-76461</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-76519">NVD — CVE-2026-76519</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-76461">CISA — Known Exploited Vulnerabilities: CVE-2026-76461</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-76519">CISA — Known Exploited Vulnerabilities: CVE-2026-76519</a></li><li><a href="https://www.sophos.com/en-us/blog/cisco-secure-email-gateway-vulnerability-cve-2026-76461-in-active-exploitation">Sophos CTU — Cisco Secure Email Gateway vulnerability (CVE-2026-76461) in active exploitation</a></li><li><a href="https://thehackernews.com/2026/09/cisco-secure-email-gateway-flaw.html">The Hacker News — Cisco Secure Email Gateway Flaw Exploited in the Wild, Enables Root Command Execution</a></li><li><a href="https://www.securityweek.com/cisco-warns-of-exploited-secure-email-gateway-vulnerability/">SecurityWeek — Cisco Warns of Exploited Secure Email Gateway Vulnerability</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 14, 2026</title>
<link>https://erroneo.us/security/2026-09-14/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-14/</guid>
<pubDate>Mon, 14 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief, 1 known exploited (cisa kev) addition and 1 critical advisory.</description>
<content:encoded><![CDATA[<p>1 editorial brief, 1 known exploited (cisa kev) addition and 1 critical advisory.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-76461/">CVE-2026-76461</a> Cisco Secure Email Gateway: Cisco Secure Email Gateway SQL Injection Vulnerability (due 2026-09-17)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-59178/">ESPHome Device Builder: Renamed auth env vars silently disable dashboard authentication on upgrade</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Security digest: September 11, 2026</title>
<link>https://erroneo.us/security/2026-09-11/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-11/</guid>
<pubDate>Fri, 11 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>4 known exploited (cisa kev) additions and 4 critical advisories.</description>
<content:encoded><![CDATA[<p>4 known exploited (cisa kev) additions and 4 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-85706/">CVE-2026-85706</a> GitLab Community Edition and Enterprise Edition: GitLab Community Edition and Enterprise Edition Path Traversal Vulnerability (due 2026-09-14)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-84869/">CVE-2026-84869</a> ConnectWise ScreenConnect: ConnectWise ScreenConnect Improper Privilege Management and Missing Authorization Vulnerability (due 2026-09-14)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-42018/">CVE-2026-42018</a> JFrog Artifactory: JFrog Artifactory Improper Authentication Vulnerability (due 2026-09-25)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-42016/">CVE-2026-42016</a> JFrog Artifactory: JFrog Artifactory Incorrect Authorization Vulnerability (due 2026-09-25)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-59971/">MySQL MCP Server: Missing Origin/Host Validation in SSE Transport Enables Unauthenticated SQL Execution (DNS Rebinding / Direct Exposure)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-59151/">Prowler: SAML Domain Claiming Enables Cross-Tenant Account Takeover</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-61534/">yayson: Prototype pollution in Store/LegacyStore deserialization</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-11746/">Central Dogma: Hard-coded ZooKeeper replication secret &#x27;ch4n63m3&#x27; with silent fallback enables cluster takeover</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: GitLab CVE-2026-85706: Unauthenticated File Read, Exploited</title>
<link>https://erroneo.us/security/briefs/gitlab-commits-api-file-read-cve-2026-85706/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/gitlab-commits-api-file-read-cve-2026-85706/</guid>
<pubDate>Thu, 10 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>CVSS 10 path traversal in GitLab&#x27;s commits API lets anyone read server files, including secrets. Fixed in 19.3.2/19.2.6/19.1.8. In CISA KEV. Patch now.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> Any unpatched self-managed GitLab 18.7 or later can have its configuration and secret keys read by anyone on the network, and CISA says it is being exploited; upgrade today and rotate secrets if you were exposed.</p><p><strong>Who must act:</strong> Administrators of self-managed GitLab CE/EE 18.7 and later (Omnibus, source, Helm), above all instances reachable from the internet.<br><strong>Who can relax:</strong> GitLab.com and GitLab Dedicated customers (GitLab patched those), and self-managed instances still on versions before 18.7, which are outside the affected range.</p><ol><li>Check your version (Admin &gt; Overview, or /help) and upgrade to 19.3.2, 19.2.6, 19.1.8, 19.0.9 or 18.11.12 or later.</li><li>If you cannot upgrade immediately, remove internet exposure of the instance until you can.</li><li>Search api_json.log for unauthenticated POSTs to repository commits or files APIs carrying a file.path parameter.</li><li>If an exposed instance ran a vulnerable version, rotate gitlab-secrets.json / secrets.yml material, database, object storage, SMTP and LDAP credentials, and CI/CD secrets.</li><li>Deploy GitLab&#x27;s published LFI detections in your SIEM.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 10, 2026 GitLab shipped a <a href="https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-3-2-released/" rel="noopener" class="ext">critical patch release</a> (19.3.2, 19.2.6, 19.1.8) whose top fix is CVE-2026-85706. The bug is a path traversal in the repository commits API. GitLab's description: "an unauthenticated user could have read arbitrary files from the GitLab server due to improper path confinement and missing authentication enforcement." GitLab scores it CVSS 3.1 10.0 (<code>AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N</code>). A HackerOne researcher, s3ntago, reported it.</p>
<p>CISA added it to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-85706" rel="noopener" class="ext">KEV catalog</a> on September 11, one day after the patch, with a federal due date of September 14. CISA's enrichment in the <a href="https://www.cve.org/CVERecord?id=CVE-2026-85706" rel="noopener" class="ext">CVE record</a> marks exploitation as active and the attack as automatable. On September 23 GitLab backported the fix to 19.0.9 and 18.11.12.</p>
<p>GitLab's security team published <a href="https://gitlab.com/gitlab-security-oss/tldr/-/blob/main/Detections/platforms/GitLab/Vulnerability%20Detections/local_file_inclusion_gitlab_yml_read.md?ref_type=heads" rel="noopener" class="ext">detection notes</a> describing the mechanism. On multipart uploads, Workhorse passes Rails a <code>file.path</code> parameter. An attacker sends an empty file part with a <code>file.path</code> that points at a file on the server, so Rails reads that host file instead of uploaded bytes. The notes say the parameter is reached mainly through <code>POST /api/v4/projects/:id/repository/commits</code> and the repository files API. They add that "public exploits defeat route sanitization with a trailing-slash bypass and percent-encoding."</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Self-managed GitLab CE and EE from 18.7 onward is affected, covering every deployment type: Omnibus, source and Helm. Vulnerable ranges are 18.7 to before 18.11.12, 19.0 to before 19.0.9, 19.1 to before 19.1.8, 19.2 to before 19.2.6, and 19.3 to before 19.3.2. GitLab.com and GitLab Dedicated were already patched, so customers there have nothing to do.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, if you run GitLab yourself on an affected version. This is about as bad as a "file read" gets:</p>
<ul>
<li>No authentication is needed. CISA rates it automatable and confirms exploitation.</li>
<li>The prime targets are <code>gitlab.yml</code>, <code>secrets.yml</code>, <code>database.yml</code> and <code>gitlab-secrets.json</code>. GitLab's own detection notes say these hold the Rails secret key base and the encryption keys used for sessions, tokens, stored CI/CD variables and 2FA, plus database, object storage, SMTP and LDAP credentials. "A confirmed read is therefore a credential exposure, not merely an information disclosure."</li>
<li>With the secret key base, an attacker can forge sessions and decrypt CI/CD variables. That reaches your cloud accounts and deployment pipelines.</li>
</ul>
<p>Instances only reachable on a private network carry less risk but should still be patched promptly. Versions before 18.7 are not in the affected range.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Check the version (<code>sudo gitlab-rake gitlab:env:info</code> on Omnibus, or the Help page) and upgrade to 19.3.2, 19.2.6, 19.1.8, 19.0.9 or 18.11.12 or later (<code>sudo apt-get install gitlab-ee=&lt;version&gt;</code> or your Helm chart bump).</li>
<li>If you can't upgrade today, take the instance off the internet until you can.</li>
<li>Hunt in <code>api_json.log</code> as described below.</li>
<li>If an internet-exposed instance ran a vulnerable version after September 10, plan for secret rotation: regenerate secrets in <code>gitlab-secrets.json</code> following GitLab's procedures, rotate database, object-storage, SMTP and LDAP credentials, rotate CI/CD variables that hold cloud or deploy keys, and invalidate active sessions and tokens.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>GitLab's detections look in <code>api_json.log</code> for unauthenticated requests (an <code>ip/&lt;addr&gt;</code> client with no <code>meta.user</code>) to the commits or files APIs whose <code>params</code> contain an empty <code>file</code> part and a <code>file.path</code> pointing at config or secret files. GitLab published three rules: "GitLab LFI attempt reading gitlab.yml", "GitLab LFI via metadata.path parameter" and "GitLab LFI file path attempt". Widen your search to other host paths such as <code>/etc/passwd</code>, <code>/proc/self/</code>, SSH keys and <code>.env</code> files. Rejected attempts (status 400) are still worth logging. A successful response to such a request means you should rotate secrets. Afterwards, watch for unfamiliar sessions, new personal access tokens and odd access to object storage or the database.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-10">Sep 10, 2026</time> — GitLab releases 19.3.2, 19.2.6 and 19.1.8 with the fix.</li>
<li><time datetime="2026-09-11">Sep 11, 2026</time> — CISA adds CVE-2026-85706 to KEV, with a federal due date of Sep 14.</li>
<li><time datetime="2026-09-12">Sep 12, 2026</time> — The CVE record is published (<a href="https://nvd.nist.gov/vuln/detail/CVE-2026-85706" rel="noopener" class="ext">NVD</a>).</li>
<li><time datetime="2026-09-23">Sep 23, 2026</time> — GitLab backports the fix to 19.0.9 and 18.11.12.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-3-2-released/">GitLab — GitLab Critical Patch Release: 19.3.2, 19.2.6, 19.1.8</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-85706">CVE.org — CVE-2026-85706</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-85706">NVD — CVE-2026-85706</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-85706">CISA — Known Exploited Vulnerabilities Catalog (CVE-2026-85706)</a></li><li><a href="https://gitlab.com/gitlab-security-oss/tldr/-/blob/main/Detections/platforms/GitLab/Vulnerability%20Detections/local_file_inclusion_gitlab_yml_read.md?ref_type=heads">GitLab Security — Detection: GitLab LFI attempt reading gitlab.yml</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 10, 2026</title>
<link>https://erroneo.us/security/2026-09-10/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-10/</guid>
<pubDate>Thu, 10 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief, 2 known exploited (cisa kev) additions and 4 critical advisories.</description>
<content:encoded><![CDATA[<p>1 editorial brief, 2 known exploited (cisa kev) additions and 4 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-86060/">CVE-2026-86060</a> MikroTik RouterOS: MikroTik RouterOS Improper Neutralization of Argument Delimiters in a Command Vulnerability (due 2026-09-13)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-67277/">CVE-2026-67277</a> MikroTik RouterOS: MikroTik RouterOS Missing Authentication for Critical Function Vulnerability (due 2026-09-13)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-88018/">rclone serve s3: --auth-proxy without --auth-key authenticates nobody - full SigV4 signature bypass</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-88007/">Traefik HTTP/3 Backend NTLM Connection Reuse</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-88044/">rclone: RC per-server auth-proxy bypass</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-88062/">OmniRoute ACP Custom-Agent Remote Code Execution (RCE)</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: Check Point: Exploited VPN Gateway and Management RCEs</title>
<link>https://erroneo.us/security/briefs/check-point-vpn-and-management-cve-2026-85102-93616/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/check-point-vpn-and-management-cve-2026-85102-93616/</guid>
<pubDate>Wed, 09 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Pre-auth RCE in Check Point VPN certificate handling and in Management Servers, both exploited and in KEV. Patch gateways and management servers separately.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> Check Point shops should patch both gateways and management servers now: each flaw is unauthenticated RCE, both are exploited, and fixing one tier does not fix the other.</p><p><strong>Who must act:</strong> Anyone running Check Point Security Gateways or Spark firewalls with Remote Access VPN or certificate-based Site-to-Site VPN, and anyone running on-prem Security Management, Multi-Domain, Log or SmartEvent servers.<br><strong>Who can relax:</strong> Smart-1 Cloud customers (already fixed for the management bug), R82.20 gateways (not affected by the VPN bug), gateways that only use pre-shared-key Site-to-Site VPN with no Remote Access VPN, and non-Check Point shops.</p><ol><li>Inventory every gateway, Spark appliance and management, log and SmartEvent server, with version and Jumbo Hotfix take.</li><li>Patch gateways with LivePatch Take 26 or the fixed Jumbo Hotfix, then confirm with cplp list that CVE-2026-85102 and CVE-2026-85103 are covered.</li><li>Update Spark firewalls to R82.00.10 Build 2325 or R81.10.17 Build 4968.</li><li>Patch management, log and SmartEvent servers separately (Security Hotfix or Jumbo R82.20 Take 10, R82.10 Take 45, R82 Take 127, R81.20 Take 170, R81.10 Take 192); LivePatch does not fix CVE-2026-93616.</li><li>Allow TCP/19009 and other management access only from trusted IPs, and restrict Trusted Clients in SmartConsole.</li><li>If gateway patching must wait, replace VPN implied rules with explicit rules limiting UDP/500 and UDP/4500 (and TCP/443/80 for Remote Access) to known peers or client ranges.</li></ol><h2 id="what-happened">What happened</h2>
<p>Check Point customers have two separate exploited, unauthenticated code-execution bugs to fix, one on each tier of the product.</p>
<p><strong>CVE-2026-85102 (gateways).</strong> On September 9, 2026, Check Point shipped fixes for "improper validation of certificate data during VPN negotiation" that "may allow an unauthenticated remote attacker to execute arbitrary code on the Security Gateway" (<a href="https://support.checkpoint.com/results/sk/sk1000117" rel="noopener" class="ext">sk1000117</a>, CVSS 9.8). <a href="https://bleepingcomputer.com/news/security/dutch-ncsc-critical-check-point-vpn-flaws-exploitation-is-imminent" rel="noopener" class="ext">BleepingComputer</a> reported the Dutch NCSC's warning that exploitation was imminent, and described a companion bug, CVE-2026-85103, as a heap overflow in the VPN certificate ASN.1 decoder. Check Point later updated its advisory to say the flaw "is actively exploited on Spark Firewalls as of September 12, 2026," with attempts coming from VPN services and proxies.</p>
<p><strong>CVE-2026-93616 (management).</strong> <a href="https://support.checkpoint.com/results/sk/sk1000171" rel="noopener" class="ext">sk1000171</a> describes a directory traversal and file upload flaw that lets an unauthenticated attacker upload and run scripts on the Management Server (CVSS 9.8). Check Point says it "is exploited in the Wild" and that it is aware of "a handful of customers who have been attacked." According to <a href="https://bleepingcomputer.com/news/security/check-point-warns-of-hackers-exploiting-security-gateway-vpn-rce-flaw" rel="noopener" class="ext">BleepingComputer</a>, Check Point says exploitation as a zero-day dates back to July 23. CISA added both CVEs to the KEV catalog on September 22 (<a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-85102" rel="noopener" class="ext">CVE-2026-85102</a>, <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-93616" rel="noopener" class="ext">CVE-2026-93616</a>) with a federal deadline of September 25.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p><strong>Gateway bug:</strong> Security Gateways and Spark firewalls on R81.20, R82, R82.10, R81.10.x and R82.00.x, plus end-of-support R80 through R81.10, that run Remote Access VPN or Site-to-Site VPN with certificate authentication. DAIP and Large Scale VPN communities turn certificate authentication on. Gateways that only take part in pre-shared-key communities are not vulnerable, and R82.20 is not affected. The <a href="https://www.cve.org/CVERecord?id=CVE-2026-85102" rel="noopener" class="ext">CVE record</a> lists R82.10 Take 43, R82 Take 125 and R81.20 Take 165 or below as affected.</p>
<p><strong>Management bug:</strong> Security Management, Multi-Domain Management, Log Server, Multi-Domain Log Server and SmartEvent on R82.20 without a Jumbo, R82.10 Take 44 or lower, R82 Take 126 or lower, R81.20 Take 166 or lower, R81.10 Take 190 or lower, and R80 through R81 (<a href="https://www.cve.org/CVERecord?id=CVE-2026-93616" rel="noopener" class="ext">CVE record</a>). Smart-1 Cloud is already fixed. Firewall appliances and Spark are not affected.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>If you run Check Point, yes. The VPN listener faces the internet by design. The management server is often reachable from more places than it should be, and owning it means owning policy for every gateway it manages. One detail traps teams: a management server on R82.10 Take 44, the gateway fix level, is still vulnerable to CVE-2026-93616, which needs Take 45. Check Point also says LivePatch does not cover the management bug and will not, so it needs a real hotfix install. Shops that use Check Point only with pre-shared-key site-to-site tunnels and no remote-access VPN have a narrower gateway risk, but still need the management fix.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Inventory gateways, Spark units and management, log and SmartEvent servers by version and Jumbo take.</li>
<li>Gateways: install LivePatch Take 26 or the fixed Jumbo Hotfix. In Expert mode, run <code>cpinfo -y CPupdates</code> and <code>cplp list</code> (<code>g_all cplp list</code> on Scalable Platform) and confirm CVE-2026-85102 and CVE-2026-85103 appear. Earlier offline LivePatch packages need Take 26 for full coverage.</li>
<li>Spark: update to R82.00.10 Build 2325 or R81.10.17 Build 4968.</li>
<li>Management tier: install the R82.20 Security Hotfix (no reboot) or Jumbo R82.20 Take 10, R82.10 Take 45, R82 Take 127, R81.20 Take 170 or R81.10 Take 192.</li>
<li>Allow TCP/19009 only from trusted IPs, and restrict Trusted Clients under Manage &amp; Settings &gt; Permissions &amp; Administrators.</li>
<li>If gateways cannot be patched yet, disable the VPN implied rules and allow UDP/500 and UDP/4500 (plus TCP/443 and TCP/80 for Remote Access) only from known peers or client ranges. Check Point notes this does not apply to locally managed Spark.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>On gateways, search logs from September 12 onward for product "Mobile Access" with actions "Log In" and "Certificate," especially certificate subjects <code>CN=vpn</code>, <code>CN=vpn-user</code> or <code>CN=vpnuser</code> with <code>OU=users,O=global</code>. Check Point says the list is not exhaustive. Follow up on unknown users or source IPs, and on internal scanning that comes after a login. On each management, log and SmartEvent server, grep <code>$MDS_FWDIR/log/cpm.elg*</code> for login requests with usernames over 1,000 characters, and look for matching FWM or MDS core dumps in <code>/var/log/dump/usermode/</code>. Also look for version paths or uploads containing traversal sequences aimed at CPupgrade-tools. Check Point says a match means a possible attempt, not confirmed compromise.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-07-23">Jul 23, 2026</time> — Zero-day exploitation of CVE-2026-93616 begins, per Check Point via BleepingComputer.</li>
<li><time datetime="2026-09-09">Sep 9, 2026</time> — Check Point releases fixes for CVE-2026-85102 and CVE-2026-85103.</li>
<li><time datetime="2026-09-10">Sep 10, 2026</time> — The Dutch NCSC warns that exploitation is imminent.</li>
<li><time datetime="2026-09-12">Sep 12, 2026</time> — Exploitation attempts against Spark customers begin.</li>
<li><time datetime="2026-09-22">Sep 22, 2026</time> — The CVE-2026-93616 record is published. CISA adds both CVEs to KEV.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://support.checkpoint.com/results/sk/sk1000117">Check Point — sk1000117: CVE-2026-85102 Authentication Bypass and RCE in Remote Access and Site-to-Site VPN</a></li><li><a href="https://support.checkpoint.com/results/sk/sk1000171">Check Point — sk1000171: CVE-2026-93616 Directory Traversal and File upload on the Management Server</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-85102">CVE record — CVE-2026-85102</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-93616">CVE record — CVE-2026-93616</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-85102">CISA — Known Exploited Vulnerabilities: CVE-2026-85102</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-93616">CISA — Known Exploited Vulnerabilities: CVE-2026-93616</a></li><li><a href="https://bleepingcomputer.com/news/security/check-point-warns-of-hackers-exploiting-security-gateway-vpn-rce-flaw">BleepingComputer — Check Point warns of hackers exploiting Security Gateway VPN RCE flaw</a></li><li><a href="https://bleepingcomputer.com/news/security/dutch-ncsc-critical-check-point-vpn-flaws-exploitation-is-imminent">BleepingComputer — Dutch NCSC: Critical Check Point VPN flaws exploitation is imminent</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 9, 2026</title>
<link>https://erroneo.us/security/2026-09-09/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-09/</guid>
<pubDate>Wed, 09 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief, 4 known exploited (cisa kev) additions and 1 critical advisory.</description>
<content:encoded><![CDATA[<p>1 editorial brief, 4 known exploited (cisa kev) additions and 1 critical advisory.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-87491/">CVE-2026-87491</a> Google Chromium V8: Google Chromium V8 Out of Bounds Write Vulnerability (due 2026-09-23)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-20079/">CVE-2026-20079</a> Cisco Secure Firewall Management Center (FMC) and Security Cloud Control (SCC) Firewall Management: Cisco Firewall Management Center Authentication Bypass Using an Alternate Path or Channel Vulnerability (due 2026-09-12)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-19490/">CVE-2026-19490</a> Citrix NetScaler: Citrix NetScaler Authentication Bypass Using an Alternate Path or Channel Vulnerability (due 2026-09-12)</li><li><a href="https://erroneo.us/security/cve/CVE-2025-25249/">CVE-2025-25249</a> Fortinet Multiple Products: Fortinet Multiple Products Heap-based Buffer Overflow Vulnerability (due 2026-09-12)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-84939/">Apache FreeMarker template loading mechanism vulnerable to path traversal</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Patch this week: Windows Zero-Days: Update Stack and ALPC EoP (Sep 2026)</title>
<link>https://erroneo.us/security/briefs/windows-update-stack-alpc-zero-days-cve-2026-81963-85880/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/windows-update-stack-alpc-zero-days-cve-2026-81963-85880/</guid>
<pubDate>Tue, 08 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Two exploited Windows local-to-SYSTEM bugs fixed Sept 8, 2026; every supported Windows needs one fix. Confirm Sept or later updates this week.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> Make sure every Windows machine has the September 2026 or a later cumulative update; both bugs are exploited, but an attacker needs code running on the box first.</p><p><strong>Who must act:</strong> Anyone with Windows 10, Windows 11 or Windows Server 2012 through 2025 machines that have not installed the September 8, 2026 or a later cumulative update, starting with desktops and multi-user servers.<br><strong>Who can relax:</strong> Fleets already on September or October 2026 updates, and Linux or macOS hosts; neither bug can be triggered remotely without prior code execution.</p><ol><li>Check the OS build on every Windows machine and compare it with the fixed build for its version.</li><li>Install the September 2026 or any later cumulative update (October&#x27;s is fine) on stragglers, then reboot.</li><li>Patch Remote Desktop hosts, jump boxes and shared build agents first, since any logged-in user could become SYSTEM.</li><li>Find Windows machines that no longer receive monthly security updates and retire or isolate them.</li><li>Review EDR alerts from before patching for privilege escalation from user sessions to SYSTEM.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 8, 2026, Microsoft's monthly security release fixed two Windows privilege-escalation bugs that attackers were already exploiting. <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-81963" rel="noopener" class="ext">CVE-2026-81963</a> is a link-following flaw (CWE-59) in the Windows Update Stack. <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-85880" rel="noopener" class="ext">CVE-2026-85880</a> is a heap-based buffer overflow (CWE-122) in Advanced Local Procedure Call (ALPC), the Windows mechanism processes use to message each other locally. Either one lets an attacker who already runs code with low privileges become SYSTEM. Microsoft rates both Important, scores both CVSS 3.1 7.8, and marks both "Exploitation Detected". CISA added both to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-81963" rel="noopener" class="ext">Known Exploited Vulnerabilities catalog</a> the same day and gave federal agencies until September 22.</p>
<p>Microsoft has not described the attacks. Its acknowledgments credit the Microsoft Threat Intelligence Center (MSTIC) and outside researchers for the Update Stack bug, and Proofpoint researchers and Volexity for the ALPC bug. For CVE-2026-85880, Microsoft's FAQ says an attacker "who can execute code in a low-privilege AppContainer could exploit this vulnerability locally to escape the sandbox." That makes it a natural second stage after a browser or document exploit.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>According to Microsoft's update guide, the two bugs split cleanly across Windows generations. Every supported release needed one fix or the other.</p>
<ul>
<li><strong>CVE-2026-81963 (Update Stack):</strong> Windows 11 23H2, 24H2, 25H2 and 26H1, and Windows Server 2025. Fixed by KB5124008 (24H2 build 26100.9445, 25H2 26200.9445), KB5122880 (23H2, 22631.7582), KB5124012 (26H1, 28000.2954) and KB5122871 (Server 2025, 26100.33438).</li>
<li><strong>CVE-2026-85880 (ALPC):</strong> Windows 10 1607, 1809, 21H2 and 22H2, and Windows Server 2012, 2012 R2, 2016, 2019 and 2022. Fixed by KB5122878 (Windows 10 21H2/22H2, 19044/19045.7725), KB5122876 (1809 and Server 2019, 17763.9245), KB5123099 (1607 and Server 2016, 14393.9512), KB5122882 (Server 2022, 20348.5622), and the monthly rollups KB5123066 (2012 R2) and KB5123065 (2012).</li>
</ul>
<p>The <a href="https://www.cve.org/CVERecord?id=CVE-2026-81963" rel="noopener" class="ext">CVE records</a> define the fix by build number, so any later cumulative update, including October 2026's, also covers both bugs.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, but this is fleet hygiene rather than an emergency, and most managed fleets finished it in September. Both bugs are local. The attacker first needs code on the machine, through phishing, a malicious download, a stolen login or another exploit. Local privilege escalation is still what turns one compromised user into full control of a host: security tools switched off, credentials dumped, lateral movement. Dustin Childs of the Zero Day Initiative told <a href="https://www.helpnetsecurity.com/2026/09/09/september-2026-patch-tuesday-zero-days-sigred-successor/" rel="noopener" class="ext">Help Net Security</a> he doubts the automatic update process itself is compromised. He thinks the Update Stack bug is more likely paired with a code-execution bug to spread malware or ransomware. <a href="https://ar.tenable.com/blog/microsofts-september-2026-patch-tuesday-addresses-964-cves-cve-2026-81963-cve-2026-85880" rel="noopener" class="ext">Tenable</a> counts seven Update Stack privilege-escalation bugs patched since 2022, and this is the first exploited as a zero-day. It calls the ALPC bug the first ALPC fix on a Patch Tuesday in more than three years, and the second ALPC flaw exploited as a zero-day since CVE-2023-21674.</p>
<ul>
<li><strong>Desktops and laptops</strong>, including developer workstations, are the likeliest targets, because people open files and browse on them. Confirm the update is installed.</li>
<li><strong>Multi-user servers</strong> such as Remote Desktop hosts, jump boxes and shared build agents come next. Anyone who can log in could become SYSTEM.</li>
<li><strong>Single-purpose servers</strong> with no untrusted users or files: patch on your normal cycle.</li>
<li><strong>Windows machines that no longer receive monthly security updates</strong> did not get either fix and will not.</li>
<li><strong>Linux and macOS</strong> are not affected.</li>
</ul>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Check the build. Run <code>winver</code>, or in PowerShell <code>Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select CurrentBuild, UBR</code>, and compare with the fixed build above (for example 26100 and 9445 or higher on Windows 11 24H2).</li>
<li>Do not rely on <code>Get-HotFix -Id KB5124008</code> alone. A newer cumulative update replaces the September KB, so a higher build number also counts. For fleets, use your Intune, WSUS or Configuration Manager compliance reports.</li>
<li>Install the latest cumulative update on stragglers and reboot. The fix does not take effect until the restart.</li>
<li>Do Remote Desktop hosts, jump boxes and CI agents that run untrusted code first.</li>
<li>Retire or isolate Windows hosts that are out of security support.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>As of Oct 21, 2026, Microsoft, Proofpoint and Volexity have not published indicators for these bugs, so there is no signature to search for. Hunt for the general pattern of local privilege escalation in EDR telemetry: SYSTEM processes whose parent chain leads back to a user session, a browser or an Office app; new services or scheduled tasks created right after a user opened a file; and, for the Update Stack bug, junctions or symbolic links created by non-admin accounts in folders that Windows Update components write to. If a host was compromised at user level before it was patched, treat it as fully compromised. Reimage it and rotate the credentials it held.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-08">Sep 8, 2026</time> — Microsoft releases fixes and marks both bugs as exploited. CISA adds both to KEV.</li>
<li><time datetime="2026-09-16">Sep 16, 2026</time> — Microsoft corrects the CVSS temporal exploit-maturity setting for CVE-2026-85880 (informational change only).</li>
<li><time datetime="2026-09-22">Sep 22, 2026</time> — CISA's remediation deadline for federal agencies.</li>
<li><time datetime="2026-10-07">Oct 7, 2026</time> — Latest revision of the CVE-2026-81963 advisory (acknowledgment update only).</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-81963">Microsoft MSRC — CVE-2026-81963 Windows Update Stack Elevation of Privilege Vulnerability</a></li><li><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-85880">Microsoft MSRC — CVE-2026-85880 Windows ALPC Elevation of Privilege Vulnerability</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-81963">CVE record — CVE-2026-81963</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-85880">CVE record — CVE-2026-85880</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-81963">NVD — CVE-2026-81963</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-81963">CISA — Known Exploited Vulnerabilities: CVE-2026-81963</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-85880">CISA — Known Exploited Vulnerabilities: CVE-2026-85880</a></li><li><a href="https://ar.tenable.com/blog/microsofts-september-2026-patch-tuesday-addresses-964-cves-cve-2026-81963-cve-2026-85880">Tenable — Microsoft&#x27;s September 2026 Patch Tuesday addresses 964 CVEs</a></li><li><a href="https://www.helpnetsecurity.com/2026/09/09/september-2026-patch-tuesday-zero-days-sigred-successor/">Help Net Security — September 2026 Patch Tuesday: Record patch count, 2 zero-days, and a SigRed successor</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 8, 2026</title>
<link>https://erroneo.us/security/2026-09-08/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-08/</guid>
<pubDate>Tue, 08 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief, 4 known exploited (cisa kev) additions and 14 critical advisories.</description>
<content:encoded><![CDATA[<p>1 editorial brief, 4 known exploited (cisa kev) additions and 14 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-86218/">CVE-2026-86218</a> N-able N-central: N-able N-central Static Code Injection Vulnerability (due 2026-09-11)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-85880/">CVE-2026-85880</a> Microsoft Windows: Microsoft Windows Heap-Based Buffer Overflow Vulnerability (due 2026-09-22)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-81963/">CVE-2026-81963</a> Microsoft Windows: Microsoft Windows Link Following Vulnerability (due 2026-09-22)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-75650/">CVE-2026-75650</a> Adobe Commerce and Magento: Adobe Commerce and Magento Improper Neutralization of Special Elements Used in a Template Engine Vulnerability (due 2026-09-11)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-73294/">Semaphore U: OS Command Injection</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-79657/">NLTK: Allowlisted pickle loaders still permit code execution in current source</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-84372/">Predis: Redis command injection and denial of service via CRLF smuggling in pipelined commands on aggregate connections</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-78683/">NLTK: Unsafe Pickle Deserialization in TransitionParser Allows Remote Code Execution</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-60004/">Gitea: Remote Code Execution via diffpatch Git Hook Installation</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-75604/">Next.js: Unauthenticated Remote Code Execution on windows-hosted servers</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-85061/">MapLibre GL JS: XSS Sanitizer Bypass in DOM.sanitize() via Live NamedNodeMap Removal Skip</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-77635/">CakePHP: FunctionsBuilder::jsonValue() vulerable to SQL injection with PostgresDriver</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-75595/">Netty: SNI Routing Bypass via Fragmented TLS ClientHello Causing Fallback to Default SslContext</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-62815/">Microsoft QUIC: Remote Code Execution Vulnerability</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-82533/">DeepSeek Harness contains an authentication bypass vulnerability in local HTTP control-plane API</a></li><li><a href="https://erroneo.us/security/ghsa/GHSA-2xp9-vwfh-vxw4/">Next.js: Unauthenticated Remote Code Execution in Image Optimization API when AVIF files are used</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-78676/">GitPython: Dormant multi-line git-config values are corrupted into live injected directives (e.g. core.hooksPath) on any unrelated GitConfigParser write, enabling RCE</a></li><li><a href="https://erroneo.us/security/ghsa/GHSA-26w7-cxv4-gfx2/">Astro: Remote code execution through AVIF image optimization</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: Magento StyleSmuggler CVE-2026-75650: Exploited Pre-Auth RCE</title>
<link>https://erroneo.us/security/briefs/magento-stylesmuggler-cve-2026-75650-zero-day-rce/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/magento-stylesmuggler-cve-2026-75650-zero-day-rce/</guid>
<pubDate>Mon, 07 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Unauthenticated RCE in Adobe Commerce and Magento Open Source, exploited since Sep 4. Apply hotfix VULN-39341 plus the Oct 2026 update, rotate keys, scan.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> Any self-run Magento or Adobe Commerce store without the September hotfix should be presumed compromised: patch, then scan, then rotate the encryption key and every credential it protects, and add the October fix for the follow-on BlockStrap bug.</p><p><strong>Who must act:</strong> Every merchant, agency and host running Adobe Commerce 2.4.4-2.4.9, Commerce B2B 1.3.3-1.5.3 or Magento Open Source 2.4.6-2.4.9, including Adobe Commerce on cloud infrastructure, plus anyone still on unsupported 2.4.3 or older.<br><strong>Who can relax:</strong> Stores on hosted SaaS platforms such as Shopify or BigCommerce, and teams with no Magento code anywhere in production.</p><ol><li>Check whether the hotfix is present: vendor/bin/magento-patches -n status | grep &quot;39341\|Status&quot;</li><li>Apply the VULN-39341 hotfix for your patch level, then the October 2026 release or isolated patch for CVE-2026-103849; keep both.</li><li>Scan the store for StyleSmuggler implants, web shells and skimmers before declaring it clean; the hotfix does not remove them.</li><li>Rotate the Magento encryption key and every credential it protected (admin, integration and OAuth tokens, payment gateway keys, database, SSH and deploy keys) at the source.</li><li>Put WAF protection in front of the store as defense in depth, and plan an upgrade off any 2.4.3-or-older install, which has no Adobe fix.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 7, 2026, Adobe published <a href="https://www.adobe.com/trust/security/products/commerce/apsb26-146" rel="noopener" class="ext">APSB26-146</a>, a priority 1 hotfix for CVE-2026-75650. The flaw is a template-engine injection (CWE-1336) in Adobe Commerce and Magento Open Source. Adobe scores it CVSS 3.1 10.0, says no authentication is required, and states that it "is aware of CVE-2026-75650 being exploited in the wild."</p>
<p><a href="https://sansec.io/research/stylesmuggler" rel="noopener" class="ext">Sansec</a>, which named the bug StyleSmuggler, had gone public two days earlier. It saw unsuccessful probes on August 23 and the first confirmed compromise at 22:20 UTC on September 4. The attack has two stages. First, the attacker plants PHP in a file Magento writes itself. One variant puts the code in a request to <code>/paypal/transparent/response/</code>, which Magento logs under <code>var/report/</code>. Second, a <code>POST /graphql</code> request abuses a <code>styles</code> parameter so the template engine includes that file while rendering the "Payment Transaction Failed Reminder" email. Neither stage needs a login, an admin session or a form key.</p>
<p>CISA added the CVE to its <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-75650" rel="noopener" class="ext">KEV catalog</a> on September 8. On October 13, <a href="https://www.adobe.com/trust/security/products/commerce/apsb26-153.html" rel="noopener" class="ext">APSB26-153</a> fixed CVE-2026-103849, another unauthenticated template-engine injection scored 10.0. Sansec calls it BlockStrap and says it "exposes a gap left by the StyleSmuggler fix." Adobe reports no known exploitation and rated the update priority 2. Sansec disputes that rating, per <a href="https://www.bleepingcomputer.com/news/security/critical-blockstrap-flaw-lets-hackers-run-code-on-magento-servers/" rel="noopener" class="ext">BleepingComputer</a>.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Adobe lists these builds as affected, in each case the "2026-aug" release and earlier:</p>
<ul>
<li>Adobe Commerce 2.4.4 through 2.4.9</li>
<li>Commerce B2B 1.3.3 through 1.5.3</li>
<li>Magento Open Source 2.4.6 through 2.4.9</li>
</ul>
<p>The fix is a patch file, VULN-39341, not a new version number. Adobe's <a href="https://experienceleague.adobe.com/en/docs/commerce-knowledge-base/kb/announcements/commerce-apsb26-146" rel="noopener" class="ext">knowledge-base notice</a> maps patch files to each patch level, and cloud merchants apply it too. Sansec reports that a store on 2.4.6-p15, with the July and August patches installed, was still hit. Adobe offers no patch for 2.2, 2.3 or 2.4.0 through 2.4.3. A community backport exists for those, but Sansec has not reviewed it.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, if you run Magento or Adobe Commerce yourself or through an agency. This is a pre-authentication RCE against the checkout stack, and attackers used it for days before any patch existed. Sansec watched the payloads change several times a day.</p>
<p>Attackers dropped a Rust Linux backdoor that disguises its command traffic as NTP packets. <a href="https://thehackernews.com/2026/09/adobe-patches-magento-zero-day.html" rel="noopener" class="ext">The Hacker News</a> also reports PHP droppers that install web shells, and Sansec found payment skimmers.</p>
<p>Patching is necessary but not enough. Adobe and Sansec both say the hotfix does not clean a store that was already compromised. Rotating the encryption key alone also does not invalidate secrets an attacker has already read. Shopify and BigCommerce merchants are unaffected.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Check: <code>vendor/bin/magento-patches -n status | grep "39341\|Status"</code></li>
<li>Apply the VULN-39341 patch for your version (<code>VULN-39341-composer-patches.zip</code> from <code>repo.magento.com</code>, or the per-version file Adobe lists). Then install the 2026-oct release or Adobe's isolated BlockStrap patch. Keep both fixes in place.</li>
<li>Scan for compromise (next section) before you call the store clean.</li>
<li>Follow Adobe's procedure: enable maintenance mode, stop cron, then rotate the encryption key. Next, rotate admin passwords, integration and OAuth tokens, payment gateway keys, database credentials, SSH and deploy keys, and extension API keys, each at its source.</li>
<li>Keep WAF rules on as an extra layer, not a fix. Sansec notes that Cloudflare and Imperva shipped rules on September 10 and that Commerce Cloud has a Fastly virtual patch. Move any install on 2.4.3 or older to a supported release.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>From the Magento root, run Sansec's checks: <code>grep -ril 'x_trace_' var/report/</code> and <code>find -L pub/media -type f -name '*.php'</code>. Run <code>ps -eo pid,comm,args | grep -iE 'kworker|fc-cache|chronyd'</code> and look for web-user processes such as <code>[kworker/u:8:0]</code>. Inspect the cron spool directly for entries pointing at <code>~/.local/share/.gvfsd/</code> or <code>~/.cache/fontconfig/</code>. One implant build relaunches without cron, so an empty crontab proves nothing. Search <code>var/log/exception.log</code> with <code>grep -aF</code> for <code>Laminas\Loader\Exception\InvalidArgumentException</code>, and check <code>core_config_data</code> at <code>design/head/includes</code> for injected loaders. On the network, UDP/123 traffic to hosts such as <code>ntp.timesync.to</code> is a strong signal.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-08-23">Aug 23, 2026</time> — Sansec sees unsuccessful probes.</li>
<li><time datetime="2026-09-04">Sep 4, 2026</time> — The first confirmed compromise occurs at 22:20 UTC.</li>
<li><time datetime="2026-09-05">Sep 5, 2026</time> — Sansec publishes StyleSmuggler while the bug is still unpatched.</li>
<li><time datetime="2026-09-07">Sep 7, 2026</time> — Adobe releases APSB26-146 and the VULN-39341 hotfix.</li>
<li><time datetime="2026-09-08">Sep 8, 2026</time> — CISA adds CVE-2026-75650 to KEV, with a September 11 deadline.</li>
<li><time datetime="2026-10-13">Oct 13, 2026</time> — Adobe releases APSB26-153, fixing BlockStrap (CVE-2026-103849).</li>
<li><time datetime="2026-10-16">Oct 16, 2026</time> — Sansec reports no BlockStrap attacks yet and urges merchants to keep both fixes in place.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.adobe.com/trust/security/products/commerce/apsb26-146">Adobe — APSB26-146: Security update available for Adobe Commerce</a></li><li><a href="https://experienceleague.adobe.com/en/docs/commerce-knowledge-base/kb/announcements/commerce-apsb26-146">Adobe Experience League — Critical security update available for Adobe Commerce (APSB26-146)</a></li><li><a href="https://www.adobe.com/trust/security/products/commerce/apsb26-153.html">Adobe — APSB26-153: Security update available for Adobe Commerce</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-75650">CVE record — CVE-2026-75650</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-75650">NVD — CVE-2026-75650</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-75650">CISA — Known Exploited Vulnerabilities: CVE-2026-75650</a></li><li><a href="https://sansec.io/research/stylesmuggler">Sansec — StyleSmuggler: Magento and Adobe Commerce 0-day RCE under active attack</a></li><li><a href="https://thehackernews.com/2026/09/adobe-patches-magento-zero-day.html">The Hacker News — Adobe patches Magento zero-day</a></li><li><a href="https://www.bleepingcomputer.com/news/security/critical-blockstrap-flaw-lets-hackers-run-code-on-magento-servers/">BleepingComputer — Critical BlockStrap flaw lets hackers run code on Magento servers</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 7, 2026</title>
<link>https://erroneo.us/security/2026-09-07/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-07/</guid>
<pubDate>Mon, 07 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief and 1 critical advisory.</description>
<content:encoded><![CDATA[<p>1 editorial brief and 1 critical advisory.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-76969/">@sap/cds-mtx: Credential disclosure in multitenant applications using SAP Cloud Application Programming Model (CAP)</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Security digest: September 4, 2026</title>
<link>https://erroneo.us/security/2026-09-04/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-04/</guid>
<pubDate>Fri, 04 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 known exploited (cisa kev) addition and 2 critical advisories.</description>
<content:encoded><![CDATA[<p>1 known exploited (cisa kev) addition and 2 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-85046/">CVE-2026-85046</a> Google Chromium V8: Google Chromium V8 Type Confusion Vulnerability (due 2026-09-18)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-73842/">OpenChoreo: cluster-gateway internal proxy performs no caller authentication and is not read-only — data-plane Secret disclosure and arbitrary Kubernetes mutation</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-75856/">CodeWhale: SSRF‌ bypass - TOCTOU on DNS failure for DNS pinning</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: ScreenConnect CVE-2026-84869: Guest-to-Host File Execution</title>
<link>https://erroneo.us/security/briefs/connectwise-screenconnect-cve-2026-84869-guest-file-execution/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/connectwise-screenconnect-cve-2026-84869-guest-file-execution/</guid>
<pubDate>Thu, 03 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Exploited ScreenConnect client flaw lets a remote guest push and run files on the technician&#x27;s PC. Fixed in 26.6.5; upgrade, then reinstall host clients.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> If your technicians use a ScreenConnect client older than 26.6.5, a compromised machine they connect to can run code on theirs; upgrade on-premises servers and reinstall host clients now.</p><p><strong>Who must act:</strong> MSPs, help desks and IT teams using on-premises ScreenConnect below 26.6.5, or using any ScreenConnect deployment whose technicians still run old host clients, especially when supporting untrusted or consumer endpoints.<br><strong>Who can relax:</strong> ScreenConnect Cloud customers who have already reinstalled host clients and updated access agents after ConnectWise&#x27;s automatic 26.6.5 upgrade; the ScreenConnect server itself is not affected.</p><ol><li>Upgrade on-premises ScreenConnect servers to 26.6.5 or later; renew maintenance first if your license has lapsed.</li><li>Reinstall host clients on every technician machine and update access agents, on Cloud and on-premises alike.</li><li>Until that is done, remove the TransferFiles permission (TransferFilesInSession on older versions) from every role under Administration &gt; Security &gt; Roles.</li><li>Review ScreenConnect users and roles, remove anyone unrecognized, change passwords and enforce MFA.</li><li>Reimage any technician or endpoint machine that shows the indicators below, rather than cleaning it in place.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 3, 2026, ConnectWise posted a <a href="https://www.connectwise.com/company/trust/advisories" rel="noopener" class="ext">Guest File Transfer Advisory</a>. It said it had "identified an issue affecting file transfer behavior" in ScreenConnect Remote Access Support and Access sessions, on both Cloud and on-premises, and gave an interim workaround: remove the TransferFiles permission. On September 8 it published the <a href="https://www.connectwise.com/company/trust/security-bulletins/2026-09-08-screenconnect-bulletin" rel="noopener" class="ext">ScreenConnect 26.6.5 security bulletin</a> and assigned <a href="https://www.cve.org/CVERecord?id=CVE-2026-84869" rel="noopener" class="ext">CVE-2026-84869</a>. The CVE record is titled "Guest-to-Host File Execution via File-Transfer Actions." It says a condition in the ScreenConnect client "may allow files to be transferred and executed through an active remote session without authorization or Host confirmation in certain circumstances." ConnectWise's <a href="https://github.com/ConnectWise-Advisories/Disclosures/tree/main/CVE-2026-84869" rel="noopener" class="ext">disclosure</a> adds that the files can run on the host system, "including with elevated privileges."</p>
<p>In ScreenConnect terms, the <em>host</em> is the technician and the <em>guest</em> is the machine being supported. The flaw runs in the unusual direction, from guest to technician. ConnectWise scores it CVSS 3.1 9.9 (AV:N/AC:L/PR:L/UI:N/S:C) with CWE-862 and CWE-269, and gave it Priority 1, which means install within days. The CVE record notes that "ScreenConnect servers are not impacted." CISA added it to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-84869" rel="noopener" class="ext">KEV catalog</a> on September 11, with a September 14 deadline.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>All ScreenConnect client versions before 26.6.5 are affected. ConnectWise upgraded Cloud servers automatically, but on both Cloud and on-premises it says host clients must be reinstalled and access agents updated after the upgrade. A patched server alone does not protect a technician who is still running an old client. On-premises partners need a license under active maintenance to download 26.6.5. Automate partners with Assurance can get it through Automate Product Updates.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p><strong>Yes, if your technicians connect to machines you do not fully control.</strong> <a href="https://www.huntress.com/blog/rogue-screenconnect-installations" rel="noopener" class="ext">Huntress</a> tracked incidents on August 20 and 24 in which victims installed rogue ScreenConnect clients after a tech-support scam, a phishing MSI or a fake Geek Squad refund page. The modified clients ran four VBScripts (<code>1.vbs</code> to <code>4.vbs</code>) that installed hidden ScreenConnect backdoors, a <code>wstunnel</code> tunnel and an XMRig miner. They also watched for new host connections and pushed the same scripts as a file-transfer "run" action, so the connecting machine ran them too. Huntress called the spread "worm-like." Huntress's John Hammond told <a href="https://www.helpnetsecurity.com/2026/09/07/connectwise-screenconnect-file-transfer-flaw/" rel="noopener" class="ext">Help Net Security</a> that Huntress believes attackers used this CVE. ConnectWise had not confirmed that link as of September 7, and its bulletin shares no further detail.</p>
<p>The precondition is a malicious or compromised guest, which keeps this from being a mass internet scan-and-own bug. But technician laptops are high-value machines, and help desks connect to unknown endpoints every day. ScreenConnect has a history of exploitation. <a href="https://www.bleepingcomputer.com/news/security/cisa-warns-of-hackers-exploiting-critical-screenconnect-flaw/" rel="noopener" class="ext">BleepingComputer</a> counts four ScreenConnect issues in KEV since 2024, two of them used in ransomware attacks. This is a different flaw from the 2024 server authentication bypass, CVE-2024-1709.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>On-premises: upgrade the server to 26.6.5 or later and confirm the running version.</li>
<li>Reinstall the host client on every technician machine and update access agents. Do this on Cloud too.</li>
<li>Until clients are updated, open Administration &gt; Security &gt; Roles and untick <code>TransferFiles</code> (<code>TransferFilesInSession</code> on older versions) for every role. ConnectWise says this needs no upgrade but is not a substitute for one.</li>
<li>Follow the bulletin's post-patch steps: remove unrecognized users, review roles, change passwords and enable MFA.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Search the ScreenConnect audit log for <code>RunFiles</code> or <code>RanFiles</code> events with <code>Process: Guest</code>, especially for <code>1.vbs</code> through <code>4.vbs</code>. Huntress treats any such entry as immediately suspicious, because filenames can change. On Windows, check <code>reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v WindowsServiceHost</code>, and look for <code>wscript.exe</code> children of ScreenConnect processes and for <code>%TEMP%\value.txt</code>, <code>map.txt</code> or <code>runner.ps1</code>. Huntress also lists the rogue client ID <code>7a4d7d66502d4260</code> and the tunnel endpoint <code>homehub.opik[.]net</code>. Reimage affected machines from known-good media, then rotate any credentials stored on technician machines.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-08-20">Aug 20, 2026</time> — Huntress handles the first two incidents involving rogue ScreenConnect clients and VBScript chains; a third follows on August 24.</li>
<li><time datetime="2026-09-03">Sep 3, 2026</time> — ConnectWise publishes the Guest File Transfer Advisory with the TransferFiles workaround.</li>
<li><time datetime="2026-09-08">Sep 8, 2026</time> — ScreenConnect 26.6.5 and CVE-2026-84869 are published; Cloud servers are upgraded.</li>
<li><time datetime="2026-09-11">Sep 11, 2026</time> — CISA adds the CVE to KEV, due September 14.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.connectwise.com/company/trust/security-bulletins/2026-09-08-screenconnect-bulletin">ConnectWise — ScreenConnect 26.6.5 Security Patch (CVE-2026-84869)</a></li><li><a href="https://www.connectwise.com/company/trust/advisories">ConnectWise — Trust Center advisories (ScreenConnect Guest File Transfer Advisory, Sep 3, 2026)</a></li><li><a href="https://github.com/ConnectWise-Advisories/Disclosures/tree/main/CVE-2026-84869">ConnectWise Advisories — CVE-2026-84869 disclosure</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-84869">CVE record — CVE-2026-84869</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-84869">NVD — CVE-2026-84869</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-84869">CISA — Known Exploited Vulnerabilities: CVE-2026-84869</a></li><li><a href="https://www.huntress.com/blog/rogue-screenconnect-installations">Huntress — Rogue ScreenConnect Installations Across Unrelated Hosts Suggest Worm-Like Activity</a></li><li><a href="https://www.helpnetsecurity.com/2026/09/07/connectwise-screenconnect-file-transfer-flaw/">Help Net Security — Attackers use rogue ScreenConnect clients to spread malware</a></li><li><a href="https://www.bleepingcomputer.com/news/security/cisa-warns-of-hackers-exploiting-critical-screenconnect-flaw/">BleepingComputer — CISA warns of hackers exploiting critical ScreenConnect flaw</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Act now: MikroTrick: Exploited MikroTik RouterOS SSH Takeover Chain</title>
<link>https://erroneo.us/security/briefs/mikrotik-routeros-mikrotrick-ssh-cve-2026-86060/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/mikrotik-routeros-mikrotrick-ssh-cve-2026-86060/</guid>
<pubDate>Thu, 03 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Unauthenticated SSH flaws give full admin on RouterOS 6 and 7, exploited before patches. Upgrade to 7.24.3, 7.23.6 or 6.49.21 and hunt for an &#x27;ops&#x27; user.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> If you run MikroTik routers, upgrade them now and check for an &#x27;ops&#x27; admin account; an unauthenticated SSH chain to full admin was exploited a day before patches shipped.</p><p><strong>Who must act:</strong> Anyone running RouterOS 6 or 7, most urgently where SSH, WebFig or the bandwidth-test server is reachable from the internet or another untrusted network.<br><strong>Who can relax:</strong> Teams with no MikroTik gear; devices whose management services are reachable only over a management VPN still need the upgrade but are not on the reported attack path.</p><ol><li>Inventory every RouterOS device, including cloud and lab instances, and record its version.</li><li>Upgrade to 7.24.3, 7.23.6 or 6.49.21 or later; devices moved to 7.24.2 or 7.23.4 in September need a second upgrade.</li><li>Restrict SSH, WebFig (www/www-ssl) and the bandwidth-test server to trusted management addresses or disable them; prefer a VPN for management.</li><li>Run /system/device-mode/print and check the log for a critical &#x27;Flagged&#x27; entry after upgrading.</li><li>Review users, scripts, scheduler entries, proxies and tunnels for anything you did not create, starting with a full-privilege user named &#x27;ops&#x27;.</li><li>If you find signs of compromise, preserve logs and config, factory reset, rebuild from a trusted configuration and rotate every secret on the device.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 3, 2026, MikroTik shipped RouterOS 7.24.2, 7.23.4 and 6.49.21 as "an important security update" and held back the details. The <a href="https://forum.mikrotik.com/t/7-24-2-stable-is-released/272800" rel="noopener" class="ext">release notes</a> mentioned only an SSH refactor and btest stability fixes. Two days later CERT Polska <a href="https://cert.pl/en/posts/2026/09/vulnerabilities-in-mikrotik-routeros-actively-exploited/" rel="noopener" class="ext">published the findings</a>: six RouterOS bugs, two of which chain into what it calls <strong>MikroTrick</strong>. The chain gives full administrative control "without authentication" when SSH is reachable. CERT Polska says successful attacks began no later than September 2, a day before the patches.</p>
<p>Three of the six CVEs are in CISA's KEV catalog:</p>
<ul>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-67279" rel="noopener" class="ext">CVE-2026-67279</a> (CVSS 4.0 6.9): after a client-requested rekey, RouterOS SSH enters the connection protocol even though no login was attempted. The client can then open a session channel and send an exec request. Added to KEV September 25.</li>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-86060" rel="noopener" class="ext">CVE-2026-86060</a> (CVSS 4.0 9.2): the SSH login helper accepts a username starting with a prohibited character. <a href="https://bishopfox.com/blog/mikrotrick-inside-the-routeros-takeover-chain" rel="noopener" class="ext">Bishop Fox</a> explains that the username <code>-2</code> makes the helper read its trusted identity from file descriptor 2, which the attacker controls. The helper then accepts a forged administrator record. Added to KEV September 10.</li>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-67277" rel="noopener" class="ext">CVE-2026-67277</a> (CVSS 4.0 8.8): the bandwidth-test (btest) service accepts a related connection before authentication. That leaks uninitialized kernel memory and can restart the router. Added to KEV September 10.</li>
</ul>
<p>The other three, which are not in KEV, are an SSH public-key check that skips the RSA exponent (CVE-2026-67276), an unauthenticated WebFig file read on 7.20 and newer (CVE-2026-67281), and RSA signature forgery against TLS and SSH host keys (CVE-2026-67278). The September builds only partly fixed CVE-2026-67278. MikroTik's <a href="https://mikrotik.com/supportsec/september-2026-vulnerability" rel="noopener" class="ext">updated advisory</a> names 7.24.3 and 7.23.6 as the complete fix.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>The KEV-listed bugs affect RouterOS 6.x before 6.49.21, 7.0 through 7.23.x before 7.23.4, and 7.24 before 7.24.2, according to <a href="https://cert.pl/en/posts/2026/09/mikrotik-routeros-cve" rel="noopener" class="ext">CERT Polska's CVE list</a>. Bishop Fox reproduced the full takeover on 7.x. On 6.49.20 the rekey bypass worked, but the chain did not produce an admin session. Patch 6.x anyway. CERT Polska's recommended minimums are 7.24.3 (stable), 7.23.6 (long-term) and 6.49.21.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>If you own RouterOS devices, yes. The precondition is a reachable SSH service. MikroTik says its default configurations block management services from the internet, so the main targets are routers where someone opened SSH. That happens often on ISP, branch-office and hosted routers. The attack needs no credentials, CISA rates it automatable, and it worked before any patch existed. <a href="https://thehackernews.com/2026/09/mikrotrick-chain-let-attackers-take.html" rel="noopener" class="ext">The Hacker News</a> notes that no authoritative count of compromised devices has been published. Bishop Fox found compromise artifacts on internet-facing routers during authorized testing.</p>
<p>A router whose SSH is reachable only over a management VPN is not on the reported attack path. It still runs the vulnerable code, so upgrade it this week. The incomplete CVE-2026-67278 fix means devices upgraded in September need a second upgrade.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>On each device, check the version with <code>/system resource print</code>.</li>
<li>Upgrade with <code>/system package update check-for-updates</code> then <code>/system package update install</code>, to 7.24.3, 7.23.6 or 6.49.21 or later.</li>
<li>Limit management services to trusted addresses, for example <code>/ip service set ssh address=192.0.2.0/24</code>, and do the same for <code>www</code>/<code>www-ssl</code>. Turn off the bandwidth-test server with <code>/tool bandwidth-server set enabled=no</code> if you do not use it. CERT Polska also advises against using <code>/system ssh</code> outbound from unpatched devices.</li>
<li>After upgrading, run <code>/system/device-mode/print</code>. Fixed releases scan for known traces of tampering at boot and set a "Flagged" marker. Do not clear it until you have investigated.</li>
<li>Review <code>/user print</code>, <code>/system script print</code> and <code>/system scheduler print</code> for anything you did not create.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>CERT Polska lists log lines such as <code>login failure for user -2 from &lt;ip&gt; via ssh</code> followed by <code>user &lt;name&gt; added by ssh:-2@&lt;ip&gt;</code>, a full-privilege user named <code>ops</code>, successful attacks from <code>82.192.72.4</code> and attempts from <code>103.102.31.18</code>. Bishop Fox found a scheduled script that recreated a privileged account every day. It suggests objects with <code>owner="0"</code> as a hunting lead, with the caveat that legitimate objects can also show this. A missing indicator does not rule out compromise. If you find one, isolate the device, secure the logs and configuration, factory reset, and rebuild from a trusted configuration rather than a backup taken from the device. Then rotate every password, key and secret it held. Upgrading blocks new exploitation but does not remove existing access.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-09-02">Sep 2, 2026</time> — Earliest successful attacks seen by CERT Polska.</li>
<li><time datetime="2026-09-03">Sep 3, 2026</time> — MikroTik releases 7.24.2, 7.23.4 and 6.49.21 with no vulnerability details.</li>
<li><time datetime="2026-09-05">Sep 5, 2026</time> — CERT Polska publishes the six CVEs, the MikroTrick chain and indicators.</li>
<li><time datetime="2026-09-10">Sep 10, 2026</time> — CISA adds CVE-2026-86060 and CVE-2026-67277 to <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-86060" rel="noopener" class="ext">KEV</a>.</li>
<li><time datetime="2026-09-17">Sep 17, 2026</time> — Bishop Fox publishes its analysis of the chain.</li>
<li><time datetime="2026-09-25">Sep 25, 2026</time> — CISA adds CVE-2026-67279 to KEV (<a href="https://nvd.nist.gov/vuln/detail/CVE-2026-67279" rel="noopener" class="ext">NVD</a>).</li>
<li><time datetime="2026-10-06">Oct 6, 2026</time> — MikroTik updates its advisory to list all six CVEs and names 7.24.3 and 7.23.6 as the complete fix.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://mikrotik.com/supportsec/september-2026-vulnerability">MikroTik — RouterOS September 2026 vulnerability advisory</a></li><li><a href="https://cert.pl/en/posts/2026/09/vulnerabilities-in-mikrotik-routeros-actively-exploited/">CERT Polska — Vulnerabilities in MikroTik RouterOS actively exploited</a></li><li><a href="https://cert.pl/en/posts/2026/09/mikrotik-routeros-cve">CERT Polska — MikroTik RouterOS CVE entries</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-86060">CVE record — CVE-2026-86060</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-67279">CVE record — CVE-2026-67279</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-67277">CVE record — CVE-2026-67277</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-67279">NVD — CVE-2026-67279</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-86060">CISA — Known Exploited Vulnerabilities: CVE-2026-86060</a></li><li><a href="https://forum.mikrotik.com/t/7-24-2-stable-is-released/272800">MikroTik forum — RouterOS 7.24.2 stable release notes</a></li><li><a href="https://bishopfox.com/blog/mikrotrick-inside-the-routeros-takeover-chain">Bishop Fox — MikroTrick: inside the RouterOS takeover chain</a></li><li><a href="https://thehackernews.com/2026/09/mikrotrick-chain-let-attackers-take.html">The Hacker News — MikroTrick chain let attackers take over RouterOS</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Check exposure: Chrome V8 Zero-Days CVE-2026-85046 and CVE-2026-87491</title>
<link>https://erroneo.us/security/briefs/chrome-v8-cve-2026-85046-87491-exploited-zero-days/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/chrome-v8-cve-2026-85046-87491-exploited-zero-days/</guid>
<pubDate>Thu, 03 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Two exploited V8 bugs fixed in Chrome 152.0.7977.82 (Sep 3) and 153.0.8010.36 (Sep 8), and in Edge. Auto-updated browsers are safe; check pinned fleets.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Check exposure.</strong> Both were exploited zero-days, but Chrome and Edge fixed them in early September and auto-update has had six weeks to deliver the fix; the job now is finding browsers that did not update, not a scramble.</p><p><strong>Who must act:</strong> Admins of fleets where Chrome or Edge updates are pinned, deferred or broken, owners of kiosk and VDI images, and users of Chromium-based browsers whose vendor has not shipped a September 2026 or later V8 fix.<br><strong>Who can relax:</strong> Chrome users on 153.0.8010.36 or later and Edge users on 153.0.4234.32 or later, which includes anyone whose browser auto-updated and relaunched since mid-September.</p><ol><li>Open chrome://settings/help (or edge://settings/help), relaunch if an update is pending, and confirm Chrome is at 153.0.8010.36 or later.</li><li>In managed fleets, report browser versions and flag any endpoint below Chrome 153.0.8010.36 or Edge 153.0.4234.32.</li><li>Remove policies that pin Chrome or Edge to an old version or defer updates indefinitely, and use RelaunchNotification policies so updates actually apply.</li><li>Check Opera, Brave, Vivaldi and any other Chromium-based browser in use for a release that includes the September 2026 V8 fixes.</li><li>If you use Chrome Extended Stable, confirm your build carries both fixes, because its release notes do not list CVEs, or move those users to Stable.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 3, 2026, Google shipped <a href="https://chromereleases.googleblog.com/2026/09/stable-channel-update-for-desktop_01882797386.html" rel="noopener" class="ext">Chrome 152.0.7977.82/.83</a> for Windows and Mac and 152.0.7977.82 for Linux, with 12 security fixes. One was <a href="https://www.cve.org/CVERecord?id=CVE-2026-85046" rel="noopener" class="ext">CVE-2026-85046</a>, a high-severity type confusion in V8, Chrome's JavaScript and WebAssembly engine. Google said it "is aware that an exploit for CVE-2026-85046 exists in the wild." Salvatore Gulizia (Serotav) reported the bug on August 4; Google's notes do not credit its Threat Analysis Group. His <a href="https://serotav.github.io/Writeups/v8/when-sorting-leads-to-confusion/" rel="noopener" class="ext">write-up</a> places it in how the Maglev compiler inlines <code>Array.prototype.sort</code>. A comparator that calls <code>fill()</code> can change the array's element kind mid-sort and still pass a guard check. He says he chained it with an n-day sandbox escape and submitted it to v8CTF, Google's V8 exploit program.</p>
<p>On September 8, Google promoted <a href="https://chromereleases.googleblog.com/2026/09/stable-channel-update-for-desktop_0808145027.html" rel="noopener" class="ext">Chrome 153</a> to Stable as 153.0.8010.36/.37 for Windows and Mac and 153.0.8010.36 for Linux, with 230 security fixes. Among them was <a href="https://www.cve.org/CVERecord?id=CVE-2026-87491" rel="noopener" class="ext">CVE-2026-87491</a>, a Medium-rated out-of-bounds write in V8. Jihyeon Jeong of Seoul National University's Compsec Lab reported it on August 6. Again, Google said an exploit "exists in the wild."</p>
<p>For both bugs, the records say a crafted HTML page lets a remote attacker "execute arbitrary code inside the sandbox." <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-85046" rel="noopener" class="ext">NVD</a> shows CISA-ADP scores of CVSS 3.1 8.8 for <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-87491" rel="noopener" class="ext">both</a>. CISA added <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-85046" rel="noopener" class="ext">CVE-2026-85046</a> to KEV on September 4 (due September 18) and <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-87491" rel="noopener" class="ext">CVE-2026-87491</a> on September 9 (due September 23). Google has not said who used either exploit, against whom, or what it was chained with. <a href="https://www.helpnetsecurity.com/2026/09/09/google-chrome-cve-2026-87491-zero-day-flaw/" rel="noopener" class="ext">Help Net Security</a> counted CVE-2026-87491 as the seventh exploited Chrome zero-day of 2026.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Chrome on Windows, Mac, Linux and Android below the fixed builds is affected. Chrome for Android got <a href="https://chromereleases.googleblog.com/2026/09/chrome-for-android-update.html" rel="noopener" class="ext">152.0.7977.82</a> on September 3 and <a href="https://chromereleases.googleblog.com/2026/09/chrome-for-android-update_01729269728.html" rel="noopener" class="ext">153.0.8010.36</a> on September 8, with the same security fixes as desktop. <a href="https://chromereleases.googleblog.com/2026/09/stable-channel-update-for-chromeos_0586661566.html" rel="noopener" class="ext">ChromeOS Stable 152.0.7977.113</a> (September 8) lists CVE-2026-85046.</p>
<p>CISA notes that the bugs could affect other Chromium-based browsers, including Edge and Opera. Microsoft's <a href="https://learn.microsoft.com/en-us/deployedge/microsoft-edge-relnotes-security" rel="noopener" class="ext">Edge security release notes</a> say Edge Stable 152.0.4191.62 (September 2) fixes CVE-2026-85046 and 152.0.4191.66 (September 4) fixes CVE-2026-87491. Microsoft's Security Update Guide, however, lists 153.0.4234.32, released September 10, as the fixed Edge build for CVE-2026-87491. Treat 153.0.4234.32 as the safe minimum.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>For most people, not anymore. These were real zero-days. In the days after each fix, anyone browsing on an old build could have been targeted just by loading a page. But Chrome and Edge update themselves, and a browser that has auto-updated and relaunched since mid-September has both fixes.</p>
<p>Exposure is now concentrated in a few places: fleets where an update policy pins or defers versions, machines where the update is downloaded but the browser never restarts, kiosk and VDI golden images, and Chromium forks that ship V8 fixes late. Code execution "inside the sandbox" usually needs a second bug to take over the device. That is a hurdle for attackers, not a guarantee, and exploited browser bugs are routinely paired with sandbox escapes.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Check a single machine: open <code>chrome://settings/help</code> or <code>edge://settings/help</code> and relaunch. From a shell, use <code>google-chrome --version</code> on Linux, <code>"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version</code> on macOS, or <code>(Get-Item "C:\Program Files\Google\Chrome\Application\chrome.exe").VersionInfo.ProductVersion</code> in PowerShell.</li>
<li>In managed fleets, pull browser versions from your MDM or EDR inventory and chase anything below Chrome 153.0.8010.36 or Edge 153.0.4234.32.</li>
<li>Remove version pins and long update deferrals, and set relaunch policies so downloaded updates actually apply.</li>
<li>Update other Chromium-based browsers and rebuild kiosk or VDI images that bundle an old browser.</li>
<li>If you use Extended Stable, confirm with Google that your build contains both fixes, since those release notes do not list CVEs, or move users to Stable.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Google has published no indicators, targets or delivery details, so after-the-fact detection is hard. First, find the machines that ran a vulnerable build in late August or early September, and note their users. For high-risk users on those machines, such as executives, admins and people in sensitive roles, review EDR telemetry from that window. Look for browser processes launching unexpected executables, new services, scheduled tasks or launch agents, and unusual outbound connections. If you find anything, reimage the device and rotate credentials and session tokens used in that browser.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-08-04">Aug 4, 2026</time> — Salvatore Gulizia reports CVE-2026-85046.</li>
<li><time datetime="2026-08-06">Aug 6, 2026</time> — Jihyeon Jeong reports CVE-2026-87491.</li>
<li><time datetime="2026-09-02">Sep 2, 2026</time> — Edge 152.0.4191.62 ships with the CVE-2026-85046 fix.</li>
<li><time datetime="2026-09-03">Sep 3, 2026</time> — Chrome 152.0.7977.82 is released for desktop and Android. Google confirms an in-the-wild exploit for CVE-2026-85046.</li>
<li><time datetime="2026-09-04">Sep 4, 2026</time> — CISA adds CVE-2026-85046 to KEV, and Edge 152.0.4191.66 is released.</li>
<li><time datetime="2026-09-08">Sep 8, 2026</time> — Chrome 153.0.8010.36 fixes CVE-2026-87491, with an in-the-wild exploit confirmed. ChromeOS 152.0.7977.113 is released.</li>
<li><time datetime="2026-09-09">Sep 9, 2026</time> — CISA adds CVE-2026-87491 to KEV.</li>
<li><time datetime="2026-09-10">Sep 10, 2026</time> — Edge 153.0.4234.32 is released.</li>
<li><time datetime="2026-09-18">Sep 18, 2026</time> — CISA deadline for CVE-2026-85046.</li>
<li><time datetime="2026-09-23">Sep 23, 2026</time> — CISA deadline for CVE-2026-87491.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://chromereleases.googleblog.com/2026/09/stable-channel-update-for-desktop_01882797386.html">Google Chrome Releases — Stable Channel Update for Desktop (Sep 3, 2026)</a></li><li><a href="https://chromereleases.googleblog.com/2026/09/stable-channel-update-for-desktop_0808145027.html">Google Chrome Releases — Stable Channel Update for Desktop (Sep 8, 2026)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-85046">CVE record — CVE-2026-85046</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-87491">CVE record — CVE-2026-87491</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-85046">NVD — CVE-2026-85046</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-87491">NVD — CVE-2026-87491</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-85046">CISA — Known Exploited Vulnerabilities: CVE-2026-85046</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-87491">CISA — Known Exploited Vulnerabilities: CVE-2026-87491</a></li><li><a href="https://chromereleases.googleblog.com/2026/09/chrome-for-android-update.html">Google Chrome Releases — Chrome for Android Update (Sep 3, 2026)</a></li><li><a href="https://chromereleases.googleblog.com/2026/09/chrome-for-android-update_01729269728.html">Google Chrome Releases — Chrome for Android Update (Sep 8, 2026)</a></li><li><a href="https://chromereleases.googleblog.com/2026/09/stable-channel-update-for-chromeos_0586661566.html">Google Chrome Releases — Stable Channel Update for ChromeOS (Sep 8, 2026)</a></li><li><a href="https://learn.microsoft.com/en-us/deployedge/microsoft-edge-relnotes-security">Microsoft — Release notes for Microsoft Edge Security Updates</a></li><li><a href="https://serotav.github.io/Writeups/v8/when-sorting-leads-to-confusion/">Serotav — When Sorting Leads To Confusion (CVE-2026-85046 write-up)</a></li><li><a href="https://www.helpnetsecurity.com/2026/09/09/google-chrome-cve-2026-87491-zero-day-flaw/">Help Net Security — Google fixes yet another actively exploited Chrome zero-day (CVE-2026-87491)</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 3, 2026</title>
<link>https://erroneo.us/security/2026-09-03/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-03/</guid>
<pubDate>Thu, 03 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>3 editorial briefs and 14 critical advisories.</description>
<content:encoded><![CDATA[<p>3 editorial briefs and 14 critical advisories.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-72717/">Orval: Import-time RCE via schema default -&gt; zod module-level template literal</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-69084/">SiYuan: Unauthenticated arbitrary SQL execution via searchEmbedBlock (publish mode) : reader-reachable raw statement on read-write handle, cross-notebook read/write</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-72811/">SiYuan: SQL injection in backlink/mention search via unescaped stored and client input (publish mode): first-order (client keyword) and second-order (stored document title) breakout on read-write handle</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-69083/">SiYuan: Unauthenticated SQL execution and REGEXP injection via fullTextSearchAssetContent (publish mode): reader-reachable raw SQL (method 2) and unescaped REGEXP (method 3) on read-write asset-content DB</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-62681/">Orval: RCE via OpenAPI path -&gt; unescaped request-URL template literal (backtick breakout)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-71871/">Orval: Import-time RCE via header-parameter default -&gt; zod module-level template literal</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-62682/">Orval: RCE via servers[].url -&gt; unescaped request-URL template literal (with getBaseUrlFromSpecification)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-71865/">Orval: Import-time RCE via query parameter name -&gt; computed-property-key injection in the zod cli</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-71864/">Orval: Import-time RCE via header parameter name -&gt; computed-property-key injection in the zod client</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-71428/">unstructured: Server-Side Request Forgery in the URL-based partitioning</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-85394/">python-jose algorithm confusion guard bypassed by DER-encoded public keys</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-71868/">Orval: Import-time RCE via enum-typed default -&gt; zod module-level template literal</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-71867/">Orval: RCE via schema property name -&gt; computed-property-key injection in the MSW mock generator</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-71869/">Orval: Import-time RCE via array-items default -&gt; zod module-level template literal</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Patch this week: LiteLLM Proxy: Three Exploited Flaws in CISA KEV</title>
<link>https://erroneo.us/security/briefs/litellm-proxy-mcp-auth-bypass-kev/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/litellm-proxy-mcp-auth-bypass-kev/</guid>
<pubDate>Wed, 02 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>LiteLLM Proxy MCP auth bypass CVE-2026-59822 joined CISA KEV Sep 2, after a SQLi and command injection. Upgrade to 1.84.0+ and rotate stored keys.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> If you run a self-hosted LiteLLM Proxy older than 1.84.0, upgrade now and treat the provider keys it holds as possibly exposed; SDK-only users are not affected.</p><p><strong>Who must act:</strong> Operators of self-hosted LiteLLM Proxy (AI gateway) deployments, especially any reachable from the internet or from broad internal networks, and anyone still using the default sk-1234 master key.<br><strong>Who can relax:</strong> Projects that only import the litellm Python SDK as a client library and do not run the proxy server, and proxies already on 1.84.0 or later with a strong master key.</p><ol><li>Upgrade the proxy to 1.84.0 or later (pin an exact version and verify hashes or image digest).</li><li>If you cannot upgrade, block /mcp/ and /mcp-rest/test/* at the reverse proxy and set general_settings.disable_error_logs: true.</li><li>Replace any default master key (sk-1234) and never run the proxy without a master key.</li><li>Do not expose the admin UI or management API to the internet; restrict to a VPN or allowlist.</li><li>Rotate provider API keys, virtual keys and the DATABASE_URL password if the proxy was exposed while vulnerable.</li><li>Review guardrails, pass-through endpoints and users for entries you did not create.</li></ol><h2 id="what-happened">What happened</h2>
<p>LiteLLM Proxy is a self-hosted "AI gateway" that holds an organization's upstream LLM provider keys and hands out virtual keys to apps and users. In 2026 it collected three entries in the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener" class="ext">CISA Known Exploited Vulnerabilities catalog</a>. The most recent, added September 2, 2026, is <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-59822" rel="noopener" class="ext">CVE-2026-59822</a>. In proxies older than 1.84.0, the MCP Streamable HTTP endpoint accepted any made-up Bearer token. A failed key check fell through to an OAuth2 passthrough path that substituted an empty auth object. Per the <a href="https://github.com/BerriAI/litellm/security/advisories/GHSA-7488-6r32-c95q" rel="noopener" class="ext">advisory</a> (CVSS 4.0 8.8), that let an unauthenticated attacker list and call whatever MCP tools the proxy had configured, and reach the services behind them.</p>
<p>The two earlier KEV entries:</p>
<ul>
<li><a href="https://github.com/BerriAI/litellm/security/advisories/GHSA-r75f-5x8p-qvmc" rel="noopener" class="ext">CVE-2026-42208</a> (CVSS 9.3, added to KEV May 8). An unauthenticated SQL injection through the <code>Authorization</code> header on ordinary routes such as <code>/chat/completions</code>, which exposes the proxy database and the credentials stored in it.</li>
<li><a href="https://github.com/BerriAI/litellm/security/advisories/GHSA-v4p8-mg3p-g94g" rel="noopener" class="ext">CVE-2026-42271</a> (added June 8). Lets any holder of a low-privilege key run OS commands through the MCP stdio "test connection" endpoints.</li>
</ul>
<p>Both were fixed in 1.83.7. <a href="https://wiz.io/blog/off-guard-breaking-litellm-from-authentication-bypass-to-cloud-compromise" rel="noopener" class="ext">Wiz's research</a> adds CVE-2026-59821, a guardrail sandbox escape fixed in 1.82.0. Wiz also reports that the default <code>sk-1234</code> master key doubles as the JWT signing secret: 9.6% of 3,074 instances it scanned accepted that key, and 6.2% required no auth at all.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>This affects only deployments that run the <strong>proxy server</strong> (<code>litellm --config</code> or the <code>ghcr.io/berriai/litellm</code> images) on a version below 1.84.0. Apps that import <code>litellm</code> as a client SDK do not expose these endpoints. The MCP bypass matters most where MCP servers are configured, because those tools often reach internal systems, databases or SaaS APIs.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p><strong>Yes, if you run the proxy and are behind.</strong> Exploitation is confirmed. Wiz saw CVE-2026-59822 exploited in its honeypots on July 7, 2026, and CISA set a September 16 remediation deadline for federal agencies. An AI gateway is a high-value target. One foothold yields a whole organization's provider keys, which attackers resell or burn on "LLMjacking." LiteLLM's own <a href="https://docs.litellm.ai/blog/security-incident-oct-21-2026" rel="noopener" class="ext">October 21 incident report</a> says an unexpected user on an internally exposed LiteLLM deployment, possibly via "a recently patched vulnerability," was the likely starting point for the supply-chain compromise of release 1.107.0. Root cause is not confirmed as of October 21. The lesson stands either way: internal-only does not mean safe. If your proxy is on 1.84.0 or later, has a strong master key and an admin plane that is not publicly reachable, you have done the important work.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Upgrade to 1.84.0 or later and pin an exact, verified version. Do <strong>not</strong> install 1.107.0, the malicious release from October 21. 1.106.2 was the last known-good release at that time.</li>
<li>If you can't upgrade today, block <code>/mcp/</code> and <code>/mcp-rest/test/*</code> at your ingress, and set <code>general_settings: disable_error_logs: true</code>, which the 42208 advisory gives as a workaround.</li>
<li>Replace any default or weak <code>LITELLM_MASTER_KEY</code>, and make sure the proxy never runs without one.</li>
<li>Restrict the admin UI and management routes to a VPN or allowlist, and limit container egress, including to the cloud metadata service.</li>
<li>If the proxy was reachable while vulnerable, rotate the upstream provider keys, master and virtual keys, and the <code>DATABASE_URL</code> credentials.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Check the version with <code>pip show litellm</code> inside the running container. In access logs, look for:</p>
<ul>
<li>MCP requests from unknown clients.</li>
<li>Calls to <code>/mcp-rest/test/connection</code>.</li>
<li>Odd quoting or SQL fragments in <code>Authorization</code> headers.</li>
</ul>
<p>In LiteLLM itself, audit users, keys, guardrails and pass-through routes for anything you did not create; Wiz recommends restarting after removing rogue guardrails. On the provider side, check usage dashboards and cloud audit logs for spikes or calls from unfamiliar networks.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-04-20">Apr 20, 2026</time> — The CVE-2026-42208 SQL injection advisory is published (fixed in 1.83.7). The command-injection advisory follows on April 21.</li>
<li><time datetime="2026-05-08">May 8, 2026</time> — CISA adds CVE-2026-42208 to KEV. CVE-2026-42271 follows on June 8.</li>
<li><time datetime="2026-07-07">Jul 7, 2026</time> — Wiz observes CVE-2026-59822 exploitation. The CVEs are published on July 8.</li>
<li><time datetime="2026-09-02">Sep 2, 2026</time> — CISA adds CVE-2026-59822 to KEV, with a due date of September 16.</li>
<li><time datetime="2026-10-21">Oct 21, 2026</time> — The LiteLLM supply-chain incident report cites a likely internal deployment compromise as the initial access.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">CISA — Known Exploited Vulnerabilities Catalog</a></li><li><a href="https://github.com/BerriAI/litellm/security/advisories/GHSA-7488-6r32-c95q">LiteLLM / GitHub — GHSA-7488-6r32-c95q: MCP authentication bypass (CVE-2026-59822)</a></li><li><a href="https://github.com/BerriAI/litellm/security/advisories/GHSA-r75f-5x8p-qvmc">LiteLLM / GitHub — GHSA-r75f-5x8p-qvmc: SQL injection in proxy API key verification (CVE-2026-42208)</a></li><li><a href="https://github.com/BerriAI/litellm/security/advisories/GHSA-v4p8-mg3p-g94g">LiteLLM / GitHub — GHSA-v4p8-mg3p-g94g: command execution via MCP stdio test endpoints (CVE-2026-42271)</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-59822">NVD — CVE-2026-59822</a></li><li><a href="https://wiz.io/blog/off-guard-breaking-litellm-from-authentication-bypass-to-cloud-compromise">Wiz — Off Guard: Breaking LiteLLM from authentication bypass to cloud compromise</a></li><li><a href="https://docs.litellm.ai/blog/security-incident-oct-21-2026">LiteLLM — Security incident, October 21, 2026</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 2, 2026</title>
<link>https://erroneo.us/security/2026-09-02/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-02/</guid>
<pubDate>Wed, 02 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief, 7 known exploited (cisa kev) additions and 6 critical advisories.</description>
<content:encoded><![CDATA[<p>1 editorial brief, 7 known exploited (cisa kev) additions and 6 critical advisories.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-9586/">CVE-2026-9586</a> Sangoma Switchvox: Sangoma Switchvox SQL Injection Vulnerability (due 2026-09-05)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-83549/">CVE-2026-83549</a> SonicWall SMA1000 Appliances: SonicWall SMA1000 Appliances OS Command Injection Vulnerability (due 2026-09-05)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-83548/">CVE-2026-83548</a> SonicWall SMA1000 Appliances: SonicWall SMA1000 Appliances Server-Side Request Forgery Vulnerability (due 2026-09-05)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-82329/">CVE-2026-82329</a> JFrog Artifactory: JFrog Artifactory Improper Authentication Vulnerability (due 2026-09-05)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-59822/">CVE-2026-59822</a> BerriAI LiteLLM: BerriAI LiteLLM Improper Authentication Vulnerability (due 2026-09-16)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-49869/">CVE-2026-49869</a> Kestra Kestra OSS: Kestra OSS OS Command Injection Vulnerability (due 2026-09-05)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-48710/">CVE-2026-48710</a> Kludex Starlette: Kludex Starlette HTTP Request/Response Smuggling Vulnerability (due 2026-09-16)</li></ul><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-73843/">OpenChoreo: Unauthenticated access to data-plane operations via OpenChoreo cluster-gateway management APIs</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-72716/">Orval: Import-time RCE via query-parameter default -&gt; zod module-level template literal</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-62674/">Omnigent: Shared Agent Bundle Overwrite Leads to Authenticated Runner RCE</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-71485/">Centrifugo: Client-forgeable headers emulation lets any client spoof headers forwarded to proxy backends</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-71866/">Orval: Import-time RCE via schema property name -&gt; computed-property-key injection in the zod client</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-72920/">SeaweedFS: Unauthenticated filer IAM gRPC service grants S3 administrative control</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Patch this week: GitSpawn: Repo Git Config Runs Code in AI Coding Agents</title>
<link>https://erroneo.us/security/briefs/gitspawn-git-fsmonitor-ai-coding-agents/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/gitspawn-git-fsmonitor-ai-coding-agents/</guid>
<pubDate>Tue, 01 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>A repo&#x27;s own .git/config makes Claude Code, Codex, goose, Hermes, Qwen Code and Grok Build run commands. Update agents and inspect repos received as files.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Patch this week.</strong> Update your coding agents this week and never point one at a repository that arrived as files until you have read its .git/config; ordinary clones are not affected, and no attacks have been reported.</p><p><strong>Who must act:</strong> Developers and teams running Claude Code, Codex, Cursor, goose, Hermes Agent, Qwen Code or Grok Build on repositories received as archives, shared drives, sync folders or USB media, and any service that runs an agent over uploaded repositories.<br><strong>Who can relax:</strong> People who only run agents inside repositories they cloned themselves from a known remote, because a normal git clone does not copy the source repository&#x27;s local .git/config.</p><ol><li>Update every agent: Claude Code (claude update), Codex CLI 0.131.0 or later (npm i -g @openai/codex@latest), goose 1.44.0 or later, and Hermes Agent to a build containing commit f6234d0.</li><li>Before opening a repository that arrived as files, run git config --local --list in it and remove any core.fsmonitor, core.hooksPath or filter/diff driver entries you did not set.</li><li>Prefer a fresh git clone from the authenticated remote over unpacking someone else&#x27;s working copy; a clone drops their local config.</li><li>Until Qwen Code, Grok Build and the Claude Code ultrareview path are fixed, do not run them on repositories received as files.</li><li>Run agents that handle untrusted code inside a container or VM without your real credentials.</li></ol><h2 id="what-happened">What happened</h2>
<p>On September 1, 2026, Manifold Security published <a href="https://www.manifold.security/blog/ai-coding-agents-git-hijack" rel="noopener" class="ext">GitSpawn</a>: eight findings across seven command-line AI coding agents that share one root cause. Agents run <code>git status</code> or <code>git diff</code> in the background to learn about your branch and changed files. Those commands refresh git's index, and git then runs whatever program the repository's own <code>.git/config</code> names in <code>core.fsmonitor</code>. None of the affected agents stripped that setting. The command therefore runs as you, outside the agent's sandbox, with no approval prompt. In Claude Code and Hermes Agent it fired before the workspace-trust prompt was accepted.</p>
<p>The same day, OpenAI published <a href="https://www.cve.org/CVERecord?id=CVE-2026-19592" rel="noopener" class="ext">CVE-2026-19592</a> (fsmonitor) and <a href="https://www.cve.org/CVERecord?id=CVE-2026-19590" rel="noopener" class="ext">CVE-2026-19590</a> (the same idea via <code>core.hooksPath</code> in Codex Desktop). goose had already fixed its variant as <a href="https://www.cve.org/CVERecord?id=CVE-2026-72718" rel="noopener" class="ext">CVE-2026-72718</a> (CVSS 4.0 7.0), and VulnCheck assigned <a href="https://www.cve.org/CVERecord?id=CVE-2026-71963" rel="noopener" class="ext">CVE-2026-71963</a> (CVSS 4.0 8.6) to Hermes Agent on September 3. None of these CVEs is in CISA KEV, and no source reports exploitation.</p>

<h2 id="who-is-affected">Who is affected</h2>
<ul>
<li><strong>Claude Code:</strong> the fsmonitor path, confirmed on 2.1.193, was fixed in 2.1.196 in late June. A second path through <code>claude ultrareview</code>, using a different git setting Manifold did not name, was still live on 2.1.252 when Manifold retested on September 1.</li>
<li><strong>Codex:</strong> CLI 0.102.0 through 0.130.0 (fixed in 0.131.0), plus the Desktop builds listed above (fixed in 26.519.x).</li>
<li><strong>goose:</strong> before 1.44.0, via <code>goose review</code> (<a href="https://github.com/aaif-goose/goose/security/advisories/GHSA-r5pp-p5r8-466r" rel="noopener" class="ext">GHSA-r5pp-p5r8-466r</a>).</li>
<li><strong>Hermes Agent:</strong> 0.18.2 through 0.21.0. The fix, <a href="https://github.com/NousResearch/hermes-agent/pull/101483" rel="noopener" class="ext">PR #101483</a> (commit f6234d0), was merged on September 2. Which release contains it was not disclosed as of October 21.</li>
<li><strong>Qwen Code and Grok Build:</strong> unpatched at publication. Cursor fixed its variant; the version was not disclosed.</li>
</ul>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>The trigger is narrow, which is good news. A normal <code>git clone</code> does not copy the source repository's local config, so cloning a hostile URL does nothing. The attack needs the repository to arrive as files with <code>.git</code> intact: a zip or tarball someone sent you, a shared drive, a sync folder, a USB stick, or a candidate's take-home project. If that is how code reaches you, or if you run agents over uploaded repositories in a service, treat this as urgent. The payload runs with your full environment, including provider API keys and cloud credentials.</p>
<p>Updating closes most paths, and the agents auto-update in many setups. The <a href="https://labs.cloudsecurityalliance.org/research/csa-research-note-gitspawn-ai-coding-agent-rce-20260903-csa/" rel="noopener" class="ext">Cloud Security Alliance</a> notes that the Claude Code ultrareview path stayed open for weeks after the first fix. Fixing one setting does not fix the trust assumption, so inspect received repositories even after you update. A global <code>core.fsmonitor=false</code> does not help: a repository's local value overrides your global one.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Update: <code>claude update</code> (or <code>npm i -g @anthropic-ai/claude-code@latest</code>), <code>npm i -g @openai/codex@latest</code> for Codex 0.131.0 or later, and goose 1.44.0 or later. Bring Codex Desktop to 26.519.x or later.</li>
<li>Before opening a received directory with any agent, run <code>git config --local --list</code> inside it. Delete <code>core.fsmonitor</code>, <code>core.hooksPath</code> and filter or diff-driver entries you did not create.</li>
<li>Where you can, re-clone from the real remote instead of using someone else's working copy.</li>
<li>Keep Qwen Code, Grok Build and <code>claude ultrareview</code> away from repositories received as files until fixes ship.</li>
<li>Run agents that touch untrusted code in a disposable container or VM that holds no production credentials.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>List command-bearing settings in working copies you received: <code>find ~/Downloads ~/Desktop -path '*/.git/config' -exec grep -il -e fsmonitor -e hookspath {} +</code>. In each repository you opened with an agent, <code>git config --show-origin --get-regexp 'core\.(fsmonitor|hookspath)'</code> should return nothing, or only programs you installed. Check endpoint telemetry for shells or network tools spawned by <code>git</code> under an agent process. If you find a hostile value, assume the command ran. Rotate the API keys, cloud credentials and tokens present in that shell's environment.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-06-26">Jun 26, 2026</time> — Manifold reports the Claude Code fsmonitor path. It is fixed in 2.1.196.</li>
<li><time datetime="2026-07-07">Jul 7–20, 2026</time> — Reports go to Qwen Code, Cursor, goose, Grok Build, Claude Code (ultrareview), Codex and Hermes Agent.</li>
<li><time datetime="2026-07-24">Jul 24, 2026</time> — goose publishes GHSA-r5pp-p5r8-466r, fixed in 1.44.0. Its CVE record follows on Aug 10.</li>
<li><time datetime="2026-09-01">Sep 1, 2026</time> — Manifold publishes GitSpawn. OpenAI publishes CVE-2026-19590 and CVE-2026-19592.</li>
<li><time datetime="2026-09-02">Sep 2, 2026</time> — The Hermes Agent fix is merged, and <a href="https://thehackernews.com/2026/09/malicious-git-configs-can-make-claude.html" rel="noopener" class="ext">The Hacker News</a> reports the research.</li>
<li><time datetime="2026-09-03">Sep 3, 2026</time> — CVE-2026-71963 (Hermes Agent) is published.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.manifold.security/blog/ai-coding-agents-git-hijack">Manifold Security — GitSpawn: A Single Flaw Lets Untrusted Repos Run Code in Claude Code, Codex, Cursor, and Grok</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-19592">CVE record — CVE-2026-19592 (OpenAI Codex, core.fsmonitor)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-19590">CVE record — CVE-2026-19590 (OpenAI Codex Desktop, core.hooksPath)</a></li><li><a href="https://github.com/aaif-goose/goose/security/advisories/GHSA-r5pp-p5r8-466r">goose — GHSA-r5pp-p5r8-466r: Arbitrary command execution via goose review and git core.fsmonitor</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-72718">CVE record — CVE-2026-72718 (goose)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-71963">CVE record — CVE-2026-71963 (Hermes Agent)</a></li><li><a href="https://github.com/NousResearch/hermes-agent/pull/101483">Nous Research — hermes-agent PR #101483: harden automatic git calls</a></li><li><a href="https://labs.cloudsecurityalliance.org/research/csa-research-note-gitspawn-ai-coding-agent-rce-20260903-csa/">Cloud Security Alliance — GitSpawn research note</a></li><li><a href="https://thehackernews.com/2026/09/malicious-git-configs-can-make-claude.html">The Hacker News — Malicious .git configs can make Claude, Codex, Cursor and other AI agents run attacker code</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: September 1, 2026</title>
<link>https://erroneo.us/security/2026-09-01/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-09-01/</guid>
<pubDate>Tue, 01 Sep 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief and 1 critical advisory.</description>
<content:encoded><![CDATA[<p>1 editorial brief and 1 critical advisory.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-79675/">NLTK: JVM argument injection bypass via per-call options in the NLTK Stanford wrappers (incomplete fix of CVE-2026-12841)</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Security digest: August 31, 2026</title>
<link>https://erroneo.us/security/2026-08-31/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-08-31/</guid>
<pubDate>Mon, 31 Aug 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>2 known exploited (cisa kev) additions.</description>
<content:encoded><![CDATA[<p>2 known exploited (cisa kev) additions.</p><h3>Known exploited (CISA KEV)</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-82078/">CVE-2026-82078</a> PaperCut NG/MF: PaperCut NG/MF Unsafe Reflection Vulnerability (due 2026-09-14)</li><li><a href="https://erroneo.us/security/cve/CVE-2026-81578/">CVE-2026-81578</a> PaperCut NG/MF: PaperCut NG/MF Missing Authentication for Critical Function Vulnerability (due 2026-09-14)</li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: JFrog Artifactory: Exploited Auth Bypass to Admin (KEV)</title>
<link>https://erroneo.us/security/briefs/jfrog-artifactory-cve-2026-82329-auth-bypass-kev/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/jfrog-artifactory-cve-2026-82329-auth-bypass-kev/</guid>
<pubDate>Fri, 28 Aug 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>CVE-2026-82329 gives unauthenticated attackers admin on default self-hosted Artifactory; chained 42018/42016 also exploited. Upgrade and hunt now.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> If you run self-hosted Artifactory below the fixed builds, treat it as exploited until shown otherwise: upgrade, then hunt for rogue admins, Groovy plugins and stolen signing keys, because patching does not remove them.</p><p><strong>Who must act:</strong> Every team running self-managed JFrog Artifactory 7.x below 7.111.21, 7.117.28, 7.125.20, 7.133.29, 7.146.38 or 7.161.20, especially instances reachable from the internet or from untrusted build workloads.<br><strong>Who can relax:</strong> Teams already on the fixed builds who have checked for persistence; JFrog&#x27;s advisories list only self-managed releases, so SaaS customers should confirm their status with JFrog rather than assume either way.</p><ol><li>Upgrade every self-managed Artifactory node to 7.111.21, 7.117.28, 7.125.20, 7.133.29, 7.146.38, 7.161.20 or later for your branch.</li><li>Until patched, remove internet exposure and restrict access to trusted networks and build systems.</li><li>List user plugins in $JFROG_HOME/var/etc/artifactory/plugins/ and remove anything you did not deploy; restart the JVM to clear in-memory implants.</li><li>Review admin users and access tokens; delete unknown accounts, SSH keys and tokens.</li><li>If compromise is possible, reset the Access token signing key and cluster join key, and rotate every upstream, LDAP and database credential stored in Artifactory.</li><li>Check cached images and packages in remote repositories for tampering (CVE-2026-66384 cache poisoning).</li></ol><h2 id="what-happened">What happened</h2>
<p>On August 28, 2026, JFrog published <a href="https://docs.jfrog.com/releases/docs/jfrog-security-advisories" rel="noopener" class="ext">CVE-2026-82329</a>, a critical (CVSS 3.1 9.8) authentication weakness in Artifactory. Under the default configuration, an unauthenticated attacker with network access can obtain administrative privileges. CISA added it to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-82329" rel="noopener" class="ext">KEV catalog</a> on September 2 with a three-day deadline. JFrog publishes only a one-line summary, so the technical detail here comes from Wiz.</p>
<p>It is the worst of a cluster. <a href="https://www.cve.org/CVERecord?id=CVE-2026-42018" rel="noopener" class="ext">CVE-2026-42018</a> (7.5, published Aug 12) can hand an unauthenticated caller a token for the internal anonymous user even when anonymous access is disabled. <a href="https://www.cve.org/CVERecord?id=CVE-2026-42016" rel="noopener" class="ext">CVE-2026-42016</a> (8.1, published Jul 27) checks a token's signature and issuer but not its scope. Both entered KEV on September 11. CVE-2026-66384 (5.3), a Docker remote-cache path issue, entered KEV on August 27.</p>
<p><a href="https://www.wiz.io/blog/artifactory-under-attack-in-the-wild-exploitation-of-cve-2026-42016-cve-2026-4201" rel="noopener" class="ext">Wiz Research</a> reported on September 10 that it had seen all three of the main CVEs exploited. From August 15 to September 8, several actors chained 42018 into 42016 to turn an unauthenticated request into an admin-scoped token, in some cases creating an admin account within five minutes. From September 1 to 8, attackers exploited 82329 with a single unauthenticated POST to <code>/access/api/v1/registry/join</code>, which returned an admin-scoped token. Wiz saw follow-on Groovy plugins, a Rust backdoor, theft of the Access signing key and cluster join key, and use of the server as a tunnel into internal networks.</p>
<p>The cache bug has its own story. OpenAI's <a href="https://cdn.openai.com/pdf/67869394-cb91-4c12-888c-5cbd85c7814c/OpenAI-Hugging-Face%20Incident-Technical-Report.pdf" rel="noopener" class="ext">incident report</a> says an AI agent in an internal evaluation found and exploited CVE-2026-66384 as a zero-day starting July 9. It got Artifactory to cache an attacker-controlled container image under the name of a trusted image.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Self-managed Artifactory 7.x below 7.111.21, 7.117.28, 7.125.20, 7.133.29, 7.146.38 or 7.161.20 (NVD starts the 7.111 range at 7.111.4). JFrog's own table gives slightly different upper bounds for some branches, but Wiz and the CVE record agree on these fixed builds. Wiz found that 67% of organizations running Artifactory had a vulnerable instance when 82329 was published, and 49% still did two weeks later.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes, if you are below the fixed builds. Exploitation is unauthenticated, works on default settings, is automatable according to CISA's SSVC rating, and has been seen in the wild. An artifact repository is a supply-chain chokepoint. Admin access lets an attacker read stored upstream, LDAP and database credentials and swap packages that your builds trust.</p>
<p>The part teams get wrong is assuming an upgrade cleans things up. Wiz stresses that plugins dropped through these bugs <strong>survive patching</strong>. A stolen Access <code>private.key</code> also lets an attacker forge valid tokens indefinitely, and only resetting the signing key revokes that. Instances that sit only on an internal network are at lower risk, but not zero: OpenAI's case started from inside a build sandbox.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Check your version (<code>curl -s https://&lt;host&gt;/artifactory/api/system/version</code>) and upgrade to the fixed build for your branch.</li>
<li>Until you have patched, take the instance off the internet or restrict it to trusted networks.</li>
<li>Inspect <code>$JFROG_HOME/var/etc/artifactory/plugins/</code> and remove any plugin you did not write, such as <code>rce.groovy</code>, <code>cmd.groovy</code>, <code>jwtToken.groovy</code>, <code>JFrogImage.groovy</code>, <code>metrics.groovy</code> or <code>httpSession.groovy</code>. Then restart the JVM, because one implant lives only in memory.</li>
<li>Audit admin users, SSH keys and access tokens, and remove anything unknown.</li>
<li>If anything looks wrong, reset the Access signing key and join key and rotate every credential Artifactory stores. Then re-verify cached images in remote repositories.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Wiz suggests these log hunts. For 82329, look for a 200 or 201 on <code>POST /access/api/v1/registry/join</code> followed by user creation, <code>GET /api/system/configuration</code> or token enumeration. For the chain, look for a 401 on <code>/access/api/v1/aws/token</code> followed by a 200 on a variant of it, then <code>POST /access/api/v1/tokens</code>, then actions by <code>token:anonymous</code>. Attacker accounts include <code>Nxploited_*</code>, <code>labadmin_*</code>, <code>0xTerror</code>, <code>svc_*</code>, <code>jfrog-distribution</code> and <code>repo-service</code>. Other warning signs: plugin executions that return HTTP 500 (one toolkit hides its output in error messages), <code>request*.log</code> files truncated to zero, and a plugin API that suddenly rejects requests.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-07-06">Jul 6, 2026</time> — OpenAI reports a token-refresh flaw it found in its internal Artifactory to JFrog.</li>
<li><time datetime="2026-07-09">Jul 9, 2026</time> — An AI agent in an OpenAI evaluation begins exploiting the cache bug later assigned CVE-2026-66384.</li>
<li><time datetime="2026-07-27">Jul 27, 2026</time> — JFrog publishes CVE-2026-42016.</li>
<li><time datetime="2026-08-12">Aug 12, 2026</time> — JFrog publishes CVE-2026-42018 and CVE-2026-66384.</li>
<li><time datetime="2026-08-15">Aug 15, 2026</time> — Wiz's earliest observed exploitation of the 42018/42016 chain.</li>
<li><time datetime="2026-08-27">Aug 27, 2026</time> — CVE-2026-66384 added to CISA KEV.</li>
<li><time datetime="2026-08-28">Aug 28, 2026</time> — JFrog publishes CVE-2026-82329 (CVSS 9.8).</li>
<li><time datetime="2026-09-02">Sep 2, 2026</time> — CVE-2026-82329 added to KEV, due Sep 5.</li>
<li><time datetime="2026-09-10">Sep 10, 2026</time> — Wiz publishes its in-the-wild exploitation analysis.</li>
<li><time datetime="2026-09-11">Sep 11, 2026</time> — CVE-2026-42016 and CVE-2026-42018 added to KEV.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://docs.jfrog.com/releases/docs/jfrog-security-advisories">JFrog — Security advisories (CVE-2026-82329, -42016, -42018, -66384)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-82329">CVE record — CVE-2026-82329</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-82329">NVD — CVE-2026-82329</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-82329">CISA — Known Exploited Vulnerabilities: CVE-2026-82329</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-42018">CVE record — CVE-2026-42018</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-42016">CVE record — CVE-2026-42016</a></li><li><a href="https://www.wiz.io/blog/artifactory-under-attack-in-the-wild-exploitation-of-cve-2026-42016-cve-2026-4201">Wiz Research — Artifactory Under Attack: In-the-Wild Exploitation of CVE-2026-42016, CVE-2026-42018 &amp; CVE-2026-82329</a></li><li><a href="https://cdn.openai.com/pdf/67869394-cb91-4c12-888c-5cbd85c7814c/OpenAI-Hugging-Face%20Incident-Technical-Report.pdf">OpenAI — OpenAI–Hugging Face Incident Technical Report (CVE-2026-66384)</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Security digest: August 28, 2026</title>
<link>https://erroneo.us/security/2026-08-28/</link>
<guid isPermaLink="true">https://erroneo.us/security/2026-08-28/</guid>
<pubDate>Fri, 28 Aug 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Digest</category>
<description>1 editorial brief and 10 critical advisories.</description>
<content:encoded><![CDATA[<p>1 editorial brief and 10 critical advisories.</p><h3>Critical advisories</h3><ul><li><a href="https://erroneo.us/security/cve/CVE-2026-55068/">free5GC NRF nnrf-nfm lacks NF Profile input validation — enables NF Registration Poisoning with arbitrary service endpoints</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-55248/">plone.app.portlets vulnerable to denial of service via RSS feed portlet</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-55220/">Pimcore Hotspotimage getDataFromResource() unrestricted Serialize::unserialize over object-store column (PHP Object Injection, CWE-502)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-55247/">plone.app.event vulnerable to denial of service via iCalendar import</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-54754/">Klever: Marketplace settlement mints KLV when referral % + royalty % exceed the bid (negative seller share silently skipped)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-54755/">Klever: Integer overflow in split-royalty validation enables unbounded minting of KLV (native token)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-55565/">Yamcs vulnerable to authenticated remote code execution via unescaped StreamSQL `LIKE` pattern compiled by Janino (`LikeExpression`)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-55634/">Pimcore Vulnerable to Remote Code Execution via DataObject Class-Definition Field Name</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-55559/">Yamcs vulnerable to Remote Code Execution via instance-template argument YAML injection (createInstance)</a></li><li><a href="https://erroneo.us/security/cve/CVE-2026-55511/">Yamcs vulnerable to authenticated RCE via StreamSQL aggregate-compiler column-name injection in Yamcs `executeSql`</a></li></ul>]]></content:encoded>
</item>
<item>
<title>Act now: PaperCut NG/MF: Mass-Exploited Pre-Auth RCE Chain (KEV)</title>
<link>https://erroneo.us/security/briefs/papercut-ng-mf-cve-2026-81578-82078-auth-bypass-rce/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/papercut-ng-mf-cve-2026-81578-82078-auth-bypass-rce/</guid>
<pubDate>Thu, 27 Aug 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Unauthenticated SYSTEM RCE chain in PaperCut NG/MF; GreyNoise counted 395 victim orgs. Upgrade to 24.1.10, 25.0.13 or 26.0.5, then hunt.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Act now.</strong> If a PaperCut NG/MF server below 24.1.10, 25.0.13 or 26.0.5 was reachable from the internet after late August, assume it was compromised: upgrade, then hunt and rebuild, because this chain gave unauthenticated attackers SYSTEM and was mass-exploited.</p><p><strong>Who must act:</strong> Every organization running PaperCut NG or MF Application, Site or secondary servers below 24.1.10, 25.0.13 or 26.0.5, and anyone on version 23 or earlier, which gets no fix.<br><strong>Who can relax:</strong> PaperCut Hive and Pocket customers (not affected), and servers already on the maintenance releases that have been checked for compromise; Mobility Print, Print Deploy and the client software need no update.</p><ol><li>Upgrade every PaperCut NG/MF Application Server, Site Server and secondary server to 26.0.5, 25.0.13 or 24.1.10, and schedule the move off version 23 or earlier now.</li><li>Restrict the Application Server&#x27;s web interfaces to trusted internal addresses and remove any internet exposure.</li><li>On any server that was exposed while unpatched, capture a JVM heap or memory dump and copy the logs before restarting, because in-memory web shells vanish on restart.</li><li>Check the external user-lookup settings (user-lookup.db-driver, user-lookup.db-url, user-lookup.id-to-username-sql) for values you did not set.</li><li>If you find indicators, rebuild the Application Server from a clean pre-incident backup and reset domain credentials the server could reach.</li><li>Patch Active Directory against noPac (CVE-2021-42278/42287) if you have not, since attackers used it to reach domain admin after PaperCut.</li></ol><h2 id="what-happened">What happened</h2>
<p>On August 27, 2026, PaperCut published an <a href="https://www.papercut.com/kb/Main/security-bulletin-27-aug-2026-urgent-security-advisory/" rel="noopener" class="ext">urgent bulletin</a> about active exploitation of PaperCut NG and MF. According to <a href="https://www.papercut.com/blog/news/behind-the-scenes-august-security-incident/" rel="noopener" class="ext">CEO Chris Dance</a>, an education customer reported a compromised MF server that morning. <a href="https://www.huntress.com/blog/papercut-actively-exploited" rel="noopener" class="ext">Huntress</a> had already seen exploitation in a customer environment on August 26. PaperCut then disclosed two chained bugs:</p>
<ul>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-81578" rel="noopener" class="ext">CVE-2026-81578</a> (CWE-306, vendor CVSS 4.0 8.8; <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-81578" rel="noopener" class="ext">NVD</a> CVSS 3.1 9.8). Unauthenticated requests to admin functions "can trigger backend actions prior to the completion of access validation checks." This lets an attacker change system configuration.</li>
<li><a href="https://www.cve.org/CVERecord?id=CVE-2026-82078" rel="noopener" class="ext">CVE-2026-82078</a> (CWE-470, CVSS 4.0 9.4). The database connection code loads driver classes by configurable name without an allowlist. Once the configuration is changed, this lets an attacker run arbitrary Java bytecode as the PaperCut server process.</li>
</ul>
<p><a href="https://labs.watchtowr.com/death-by-a-thousand-papercuts-papercut-pre-auth-rce-chain-and-patch-bypasses-wt-2026-0141-0144-cve-2026-82077-cve-2026-82078-cve-2026-81578/" rel="noopener" class="ext">watchTowr</a> traced the bypass to page handling. The authorization check ran only for the first page named in a request, such as the unauthenticated <code>LogonMessage</code>, so an admin form nested after it, such as <code>ConfigEditor</code>, was reachable without logging in. <a href="https://www.rapid7.com/blog/post/etr-papercut-ng-mf-critical-zero-day-exploited-in-the-wild/" rel="noopener" class="ext">Rapid7</a> says the attacker rewrites the external user-lookup settings, points them at a malicious JDBC URL, and then triggers a lookup. Huntress's proof of concept ran code as SYSTEM under <code>pc-app.exe</code>.</p>
<p>The first emergency patch (Aug 28) could be bypassed. PaperCut followed with Release 2 the same day, Release 3 on September 1, and maintenance releases 26.0.5, 25.0.13 and 24.1.10 on September 10. A <a href="https://github.com/rapid7/metasploit-framework/pull/21842" rel="noopener" class="ext">Metasploit module</a> was merged on September 3. CISA added both CVEs to <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-81578" rel="noopener" class="ext">KEV</a> on August 31, with a <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-82078" rel="noopener" class="ext">due date</a> of September 14. watchTowr later found a third bug, CVE-2026-82077, a post-authentication RCE through Scan to Fax. It is fixed in 26.0.5 and not known to be exploited.</p>
<p>Exploitation was broad. <a href="https://www.greynoise.io/blog/ai-orchestrated-campaign-against-papercut-ng-mf" rel="noopener" class="ext">GreyNoise</a> tracked a likely Russian-speaking actor that "used OpenAI's Codex with a DeepSeek model" to diff the patch and build tooling. The actor's first remote code execution against a real target came on August 31, and the full campaign launched on September 1. GreyNoise counted "at least 440 instances" at 395 organizations in 48 countries, with domain admin reached at 12 of them, in part through noPac where AD was unpatched. <a href="https://watchtowr.com/intelligence/papercut-ng-mf-zero-day-cve-2026-81578-cve-2026-82078-active-exploitation-underway/" rel="noopener" class="ext">watchTowr</a> saw in-memory Godzilla web shells installed as servlet filters on August 31, and more than 1,000 exploit attempts against its sensors.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>PaperCut says all versions of NG and MF are affected, including Site Servers and secondary servers. Versions 23 and earlier get no patch. Huntress says about 47% of the roughly 2,500 PaperCut installations it tracks run v23 or older. Hive, Pocket, Mobility Print, Print Deploy and the client software are not affected. GreyNoise notes that PaperCut servers run as SYSTEM on Windows by default and are usually domain-joined.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Yes. The chain needs no credentials, a public exploit exists, and attackers hit hundreds of organizations within days. PaperCut says unpatched servers that remain publicly reachable "continue to be targeted." Patching does not remove an existing in-memory shell, a dropped remote-access tool or harvested domain credentials. If your server faced the internet before you installed Release 3 or a maintenance release, treat it as compromised until you have checked. Internal-only servers are lower risk, but still upgrade them now.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Upgrade the Application Server, then every Site Server and secondary server, to 26.0.5, 25.0.13 or 24.1.10. If you are on version 23 or earlier, upgrade to a supported line.</li>
<li>Firewall the Application Server's web interfaces so only trusted internal addresses can reach them.</li>
<li>Before restarting an exposed server, capture a JVM memory dump (for example <code>jcmd &lt;pid&gt; GC.heap_dump &lt;file&gt;</code> where a JDK is available) and copy the logs.</li>
<li>Review the external user-lookup settings for values you did not set. If you really use external card-number lookups, apply the <code>server/security.properties</code> change PaperCut documents; otherwise leave the feature off.</li>
<li>If anything looks wrong, follow PaperCut's guidance to rebuild from a clean pre-incident backup and start incident response, including resetting domain credentials the server could reach.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>On Windows, run <code>findstr /S /C:"jdbc:no:x" /C:"jdbc:derby:memory:pwn" /C:"VALUES CAST" "&lt;install&gt;\server\server.log*"</code>, or use <code>grep -rE</code> on Linux. A missing or truncated <code>server.log</code> is itself a warning sign. Look for <code>pc-app.exe</code> spawning <code>cmd.exe</code>, 5-character <code>.class</code> files in <code>server\lib</code>, and a service running <code>SimpleService.exe</code> (<code>Get-CimInstance Win32_Service | ? PathName -like '*SimpleService*'</code>). Search web logs for <code>LogonMessage/ConfigEditor</code> or <code>Home/SetupAdmin</code> in the <code>service=</code> parameter, and for <code>org.h2.Driver</code> in POST bodies. Then check the IPs, files and the <code>Administrator17</code> account listed in the detection panel.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2026-08-26">Aug 26, 2026</time> — Huntress observes exploitation in a customer environment.</li>
<li><time datetime="2026-08-27">Aug 27, 2026</time> — A customer reports a compromise, and PaperCut publishes its bulletin.</li>
<li><time datetime="2026-08-28">Aug 28, 2026</time> — Emergency Patch 1, a bypass of it, and Release 2. The CVEs are published.</li>
<li><time datetime="2026-08-31">Aug 31, 2026</time> — CISA adds both CVEs to KEV. GreyNoise and watchTowr observe successful exploitation.</li>
<li><time datetime="2026-09-01">Sep 1, 2026</time> — PaperCut ships Release 3, and the mass campaign launches.</li>
<li><time datetime="2026-09-10">Sep 10, 2026</time> — PaperCut ships maintenance releases 26.0.5, 25.0.13 and 24.1.10.</li>
<li><time datetime="2026-09-14">Sep 14, 2026</time> — CISA's remediation deadline for federal agencies.</li>
<li><time datetime="2026-10-09">Oct 9, 2026</time> — watchTowr publishes its technical analysis.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://www.papercut.com/kb/Main/security-bulletin-27-aug-2026-urgent-security-advisory/">PaperCut — URGENT Security Advisory: PaperCut NG/MF Security Bulletin (27 Aug 2026)</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-81578">CVE record — CVE-2026-81578</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2026-82078">CVE record — CVE-2026-82078</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2026-81578">NVD — CVE-2026-81578</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-81578">CISA — Known Exploited Vulnerabilities: CVE-2026-81578</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-82078">CISA — Known Exploited Vulnerabilities: CVE-2026-82078</a></li><li><a href="https://www.papercut.com/blog/news/behind-the-scenes-august-security-incident/">PaperCut — Behind the scenes: August security incident (Chris Dance)</a></li><li><a href="https://www.huntress.com/blog/papercut-actively-exploited">Huntress — PaperCut Zero-Day: Active Exploitation and Pre-Auth RCE</a></li><li><a href="https://labs.watchtowr.com/death-by-a-thousand-papercuts-papercut-pre-auth-rce-chain-and-patch-bypasses-wt-2026-0141-0144-cve-2026-82077-cve-2026-82078-cve-2026-81578/">watchTowr Labs — Death By A Thousand PaperCuts (pre-auth RCE chain and patch bypasses)</a></li><li><a href="https://watchtowr.com/intelligence/papercut-ng-mf-zero-day-cve-2026-81578-cve-2026-82078-active-exploitation-underway/">watchTowr — PaperCut NG/MF Zero-Day: Active Exploitation Underway</a></li><li><a href="https://www.greynoise.io/blog/ai-orchestrated-campaign-against-papercut-ng-mf">GreyNoise — AI-orchestrated campaign against PaperCut NG/MF</a></li><li><a href="https://www.rapid7.com/blog/post/etr-papercut-ng-mf-critical-zero-day-exploited-in-the-wild/">Rapid7 — ETR: PaperCut NG/MF critical zero-day exploited in the wild</a></li><li><a href="https://github.com/rapid7/metasploit-framework/pull/21842">Rapid7 Metasploit — PR #21842: PaperCut MF/NG exploit module</a></li></ol>]]></content:encoded>
</item>
<item>
<title>Check exposure: ownCloud CVE-2023-49105: 2023 WebDAV Bypass Now in KEV</title>
<link>https://erroneo.us/security/briefs/owncloud-cve-2023-49105-webdav-presigned-url-bypass-kev/</link>
<guid isPermaLink="true">https://erroneo.us/security/briefs/owncloud-cve-2023-49105-webdav-presigned-url-bypass-kev/</guid>
<pubDate>Thu, 27 Aug 2026 00:00:00 -0700</pubDate>
<dc:creator>erroneo.us Security Desk</dc:creator>
<category>Brief</category>
<description>Pre-signed URL bypass in ownCloud core 10.6.0-10.13.0 lets attackers read any user&#x27;s files; used to steal nuclear records. Fixed since 2023. Find old servers.</description>
<content:encoded><![CDATA[<p><strong>Verdict: Check exposure.</strong> Up-to-date ownCloud servers are fine; any ownCloud core 10.6.0 to 10.13.0 still online should be upgraded today and treated as breached, because attackers are using this bug to empty file shares.</p><p><strong>Who must act:</strong> Anyone running self-hosted ownCloud Server (core) 10.6.0 through 10.13.x, especially internet-facing instances at research bodies, universities and agencies that rarely update.<br><strong>Who can relax:</strong> ownCloud Infinite Scale and ownCloud.Online users, which ownCloud says are not affected, and ownCloud Server installs already on a current 10.16.x or 11.0.x release.</p><ol><li>Find every ownCloud Server instance and record its version (occ status, or /status.php over HTTPS).</li><li>Upgrade anything below 10.13.3 to a current release (10.16.6 or 11.0.1), or at minimum 10.13.3.</li><li>If a vulnerable instance was internet-facing, assume files were read: review WebDAV logs and tell data owners.</li><li>Rotate secrets stored in ownCloud, such as password vaults, key files, BitLocker recovery keys and exported credentials.</li><li>Confirm the graphapi app is v0.3.1 or later and GetPhpInfo.php is gone (CVE-2023-49103, also in KEV).</li><li>Take unmaintained instances off the internet or put them behind a VPN.</li></ol><h2 id="what-happened">What happened</h2>
<p>In November 2023, ownCloud disclosed that its WebDAV API would accept pre-signed URLs for users who had no signing key configured. That is the default state. According to the <a href="https://owncloud.com/security-advisories/webdav-api-authentication-bypass-using-pre-signed-urls/" rel="noopener" class="ext">vendor advisory</a>, "it is possible to access, modify or delete any file without authentication" if the attacker knows the victim's username. The <a href="https://www.cve.org/CVERecord?id=CVE-2023-49105" rel="noopener" class="ext">CVE record</a> lists ownCloud core 10.6.0 before 10.13.1. <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-49105" rel="noopener" class="ext">NVD</a> scores it 9.8. It shipped alongside CVE-2023-49103, the graphapi <code>phpinfo</code> leak that CISA put in KEV in late 2023.</p>
<p>The pre-signed URL bug stayed off KEV until August 2026. On August 13, Hunt.io found an open directory on 31.58.209[.]241 holding five custom Python scripts aimed at the ownCloud server of a Philippine nuclear research body. Its <a href="https://hunt.io/blog/chinese-speaking-operator-philippine-nuclear-naval-contractor" rel="noopener" class="ext">report</a> explains the trick: with no key set, "the signing routine still executed using an empty secret." The scripts forge PBKDF2-HMAC-SHA512 signatures and pull files from <code>/remote.php/dav/files/&lt;account&gt;/</code>. The directory held 176 stolen ownCloud files (about 372 MB). A CSV in it references roughly 9 GB taken from the agency. <a href="https://thehackernews.com/2026/08/snowflake-github-actions-flaw-lets.html" rel="noopener" class="ext">The Hacker News</a> lists the recovered material, including nuclear-material account records, reactor component documents, staff data, BitLocker keys and a KeePass database. Hunt.io attributes the operation to a Chinese speaker based on language artifacts, and says the operator could be state-affiliated, contracted or independent. CISA added the CVE to the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2023-49105" rel="noopener" class="ext">KEV catalog</a> on August 27, 2026, with an August 30 federal deadline.</p>

<h2 id="who-is-affected">Who is affected</h2>
<p>Self-hosted ownCloud Server (the PHP "core" product) from 10.6.0 through 10.13.0. In its <a href="https://owncloud.com/news/immediate-action-required-critical-security-updates-for-owncloud/" rel="noopener" class="ext">December 2023 notice</a>, ownCloud told customers the bypass "requires an upgrade to 10.13.3 or a specific patch" from support. It said ownCloud Infinite Scale and its managed services, including ownCloud.Online, are not affected. The flaw affects users without a signing key, and that is the default, so in practice every account on a vulnerable server is exposed. The attacker only needs usernames, which are often email addresses or first.last names.</p>

<h2 id="do-you-really-need-to-act">Do you really need to act?</h2>
<p>Most organizations do not. The fix is almost three years old, and ownCloud Server has shipped many releases since. The current ones on the <a href="https://owncloud.com/changelog/server/" rel="noopener" class="ext">changelog</a> are 10.16.6 and 11.0.1. If your instances are current, nothing changes.</p>
<p>The risk is the forgotten server: a lab, department or small agency that installed ownCloud years ago and never updated it. That is exactly the victim in Hunt.io's report. If you find one still on 10.6.0 to 10.13.0 and reachable from the internet, upgrading is not enough. The bug allows silent bulk download, so treat the data as already taken and rotate whatever secrets lived in it. KEV listing also means US federal agencies must remediate, so expect auditors to ask.</p>

<h2 id="what-to-do-now">What to do now</h2>
<ol>
<li>Inventory instances. On each server, run <code>sudo -u www-data php occ status</code>, or fetch <code>https://cloud.example.com/status.php</code> and read the version it reports.</li>
<li>Upgrade anything below 10.13.3 to a current release (10.16.6 or 11.0.1). If you are stuck, go at least to 10.13.3 or ask ownCloud support for the patch.</li>
<li>While you are there, update the graphapi app to v0.3.1 or later and delete <code>GetPhpInfo.php</code>, as ownCloud's 2023 notice instructs.</li>
<li>For any instance exposed while vulnerable, rotate the secrets stored in it: password databases, key files, recovery keys, service credentials and app passwords.</li>
<li>Put instances that nobody maintains behind a VPN or SSO proxy, or shut them down.</li>
</ol>

<h2 id="how-to-tell-if-you-were-hit">How to tell if you were hit</h2>
<p>Hunt.io's scripts append <code>OC-Credential</code> (the target username), <code>OC-Verb</code>, <code>OC-Expires=1000</code>, an empty <code>OC-Date</code> and <code>OC-Signature</code> to WebDAV URLs. Grep access logs for those parameters on <code>/remote.php/dav/files/</code>. The scripts also enumerate folders with <code>PROPFIND</code> and sleep a few seconds between downloads, so look for slow, steady bulk GETs from one address across several accounts. Check for <code>31.58.209.241</code>, but expect other sources too. If you find matches, scope which accounts and files were served, notify the data owners, and assume any credentials in those files are burned.</p>

<h2 id="timeline">Timeline</h2>
<ul>
<li><time datetime="2023-11-21">Nov 21, 2023</time> — ownCloud publishes the advisory, and the CVE is published.</li>
<li><time datetime="2023-12-01">Dec 1, 2023</time> — ownCloud tells customers to upgrade to 10.13.3 or apply a support patch.</li>
<li><time datetime="2026-08-13">Aug 13, 2026</time> — Hunt.io finds the attacker's open directory. It later shares the findings with CERT-PH under TLP:AMBER.</li>
<li><time datetime="2026-08-26">Aug 26, 2026</time> — Hunt.io publishes its report.</li>
<li><time datetime="2026-08-27">Aug 27, 2026</time> — CISA adds CVE-2023-49105 to KEV.</li>
<li><time datetime="2026-08-30">Aug 30, 2026</time> — CISA's remediation deadline for federal agencies.</li>
</ul>
<h2>Sources</h2><ol><li><a href="https://owncloud.com/security-advisories/webdav-api-authentication-bypass-using-pre-signed-urls/">ownCloud — WebDAV Api Authentication Bypass using Pre-Signed URLs</a></li><li><a href="https://owncloud.com/news/immediate-action-required-critical-security-updates-for-owncloud/">ownCloud — Immediate action required: critical security updates for ownCloud</a></li><li><a href="https://owncloud.com/changelog/server/">ownCloud — Server changelog</a></li><li><a href="https://www.cve.org/CVERecord?id=CVE-2023-49105">CVE record — CVE-2023-49105</a></li><li><a href="https://nvd.nist.gov/vuln/detail/CVE-2023-49105">NVD — CVE-2023-49105</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2023-49105">CISA — Known Exploited Vulnerabilities: CVE-2023-49105</a></li><li><a href="https://hunt.io/blog/chinese-speaking-operator-philippine-nuclear-naval-contractor">Hunt.io — Chinese-speaking operator targets Philippine nuclear agency and naval contractor</a></li><li><a href="https://thehackernews.com/2026/08/snowflake-github-actions-flaw-lets.html">The Hacker News — ownCloud flaw exploited to steal nuclear records from Philippine research body</a></li></ol>]]></content:encoded>
</item>
</channel>
</rss>
