<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>LNX Inc. news</title>
<link>https://lnxinc.com/news/</link>
<atom:link href="https://lnxinc.com/feed.xml" rel="self" type="application/rss+xml"/>
<description>Field notes, published tools, and company news from LNX Inc.</description>
<language>en-us</language>
<lastBuildDate>Fri, 30 Oct 2026 13:32:43 GMT</lastBuildDate>
<item>
<title>MSP Threat Briefing: October 29, 2026</title>
<link>https://lnxinc.com/news/msp-threat-briefing-2026-10-29/</link>
<guid isPermaLink="true">https://lnxinc.com/news/msp-threat-briefing-2026-10-29/</guid>
<pubDate>Thu, 29 Oct 2026 12:00:00 GMT</pubDate>
<description>CISA lists Fragnesia, a Linux kernel flaw chained with PHP2Shell to get root on firewalls. Federal deadline is October 31. ConnectWise starts restores.</description>
<category>threat-briefing</category><category>managed-it</category>
<content:encoded><![CDATA[
<article class="post">
  <header class="page-hero">
    <div class="wrap narrow">
      <nav class="crumbs" aria-label="Breadcrumb"><ol><li><a href="/">Home</a></li><li class="sep" aria-hidden="true">/</li><li><a href="/news/">News</a></li><li class="sep" aria-hidden="true">/</li><li aria-current="page">MSP Threat Briefing: October 29, 2026</li></ol></nav>
      <p class="tag-mono"><time datetime="2026-10-29">October 29, 2026</time> · 4 min read · LNX Inc.</p>
      <h1>MSP Threat Briefing: October 29, 2026</h1>
      <p class="hero-body">CISA lists Fragnesia, a Linux kernel flaw chained with PHP2Shell to get root on firewalls. Federal deadline is October 31. ConnectWise starts restores.</p>
    </div>
  </header>
  <div class="wrap narrow post-media"><picture class="media h410"><source type="image/avif" srcset="/img/threat-briefing-480.avif 480w, /img/threat-briefing-800.avif 800w, /img/threat-briefing-1200.avif 1200w" sizes="(min-width: 800px) 760px, 100vw"><source type="image/webp" srcset="/img/threat-briefing-480.webp 480w, /img/threat-briefing-800.webp 800w, /img/threat-briefing-1200.webp 1200w" sizes="(min-width: 800px) 760px, 100vw"><img src="/img/threat-briefing-1200.jpg" srcset="/img/threat-briefing-480.jpg 480w, /img/threat-briefing-800.jpg 800w, /img/threat-briefing-1200.jpg 1200w" sizes="(min-width: 800px) 760px, 100vw" width="1200" height="800" alt="A security analyst seen from behind, reviewing three monitors of status tiles and a world map in a dark office before dawn" fetchpriority="high" decoding="async"></picture></div>
  <div class="wrap narrow prose"><p>PHP2Shell now has a second stage. CISA added Fragnesia, a Linux kernel privilege escalation flaw, to its exploited list on October 28. Attackers are using it to turn a PHP2Shell foothold into root. Federal agencies have until October 31, two days from now.</p>
<ol><li>Update the kernel on every Linux server that runs PHP, starting with internet-facing ones. Reboot into the new kernel.</li><li>Ask your firewall, VPN and appliance vendors whether their firmware is affected by CVE-2026-46300, and take management interfaces off the internet.</li><li>Confirm the PHP2Shell fixes are in place. The federal deadline for those is today.</li><li>For ConnectWise Cloud Backup, re-authorize Microsoft 365 tenants with the new app as ConnectWise instructs, and keep the old app connections disabled.</li></ol>
<h2 id="1-update-fragnesia-lets-php2shell-attackers-become-root">1. Update: Fragnesia lets PHP2Shell attackers become root</h2>
<p>This follows the PHP2Shell items in the <a href="/news/msp-threat-briefing-2026-10-26/">October 26</a> and <a href="/news/msp-threat-briefing-2026-10-27/">October 27</a> briefings. CISA added CVE-2026-46300 to its Known Exploited Vulnerabilities catalog on October 28 (<a href="https://www.cisa.gov/news-events/alerts/2026/10/28/cisa-adds-two-known-exploited-vulnerabilities-catalog" rel="noopener">CISA alert</a>). The <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-46300" rel="noopener">catalog entry</a> says it can be chained with CVE-2026-109618 and CVE-2026-109619 &quot;to implant PHP webshells and run commands as root.&quot; The federal due date is October 31, and CISA flags it for forensic triage.</p>
<p>Fragnesia is a local privilege escalation in the kernel's XFRM ESP-in-TCP code. It lets a local user write into the in-memory copy of read-only files. The files on disk do not change, so a reboot erases both the change and the evidence. It was <a href="https://www.openwall.com/lists/oss-security/2026/05/13/3" rel="noopener">disclosed on oss-security</a> on May 13, 2026, with a public exploit, and major distributions have shipped fixes since. The new part is confirmed use in attacks.</p>
<p>The attack chain comes from Dream Research's <a href="https://dreamgroup.com/blog/chained-php2shell-exploit-roots-25-servers" rel="noopener">October 26 report</a>. Dream says an operator it ties to China used a custom PHP2Shell exploit against the PHP-based management server on one vendor's firewalls. The operator then used Fragnesia to edit <code>/etc/pam.d/su</code> in memory so <code>su root</code> asked for no password. Dream counts 25 rooted systems: 24 firewalls and one internal firewall management server, including a US government-affiliated network. From that server the operator read an LDAP service account password and listed domain users and groups.</p>
<p>Dream does not name the firewall vendor and says the vendor has been notified. The claims have not been independently confirmed, and Dream published no IP addresses or hashes.</p>
<p><strong>Who is exposed.</strong> Any client with a Linux server running PHP that has not had a kernel update since May: web servers, WordPress and Magento hosts, intranet apps and Nextcloud boxes. Also exposed are appliances built on Linux and PHP whose management page faces the internet. Ubuntu lists <a href="https://ubuntu.com/security/CVE-2026-46300" rel="noopener">20.04 and older as not affected</a> on its standard kernels.</p>
<p><strong>What to do.</strong></p>
<ul><li>Update the kernel and reboot. Fixed Ubuntu packages are <code>linux</code> 7.0.0-22.22 (26.04), 6.8.0-124.124 (24.04) and 5.15.0-181.191 (22.04); cloud kernels have their own versions on the <a href="https://ubuntu.com/security/CVE-2026-46300" rel="noopener">Ubuntu page</a>. Debian fixed it in DSA-6306-1 (bookworm, 6.1.174-1) and DSA-6295-1 (trixie, 6.12.90-1), per the <a href="https://security-tracker.debian.org/tracker/CVE-2026-46300" rel="noopener">Debian tracker</a>. For other distributions, check the vendor's tracker for CVE-2026-46300.</li><li>Fragnesia is a separate bug from the earlier Dirty Frag flaws (CVE-2026-43284, CVE-2026-43500). A kernel patched for Dirty Frag is not proof of a Fragnesia fix. Check this CVE on its own.</li><li>If you cannot reboot soon, Ubuntu's <a href="https://ubuntu.com/blog/dirty-frag-linux-vulnerability-fixes-available" rel="noopener">Dirty Frag mitigation</a> applies: block the <code>esp4</code> and <code>esp6</code> modules. This breaks IPsec VPNs on that host, such as strongSwan.</li><li>For firewalls and other appliances, the fix has to come from the vendor's firmware. Ask the vendor directly. Until then, restrict management access to a VPN or a short allow-list.</li><li>Patch PHP to 8.2.35, 8.3.36, 8.4.27 or 8.5.12 to close the entry point. CISA's due date for both PHP2Shell CVEs is October 29.</li><li>Look before you reboot a suspect host. A changed <code>/etc/pam.d/su</code> in memory disappears on reboot. Have your incident responder capture evidence first.</li><li>Hunt on PHP hosts and appliances for small unexpected PHP files in web-readable folders, new systemd services or <code>rc.local</code> entries, and outbound SSH sessions you did not set up.</li><li>If a firewall or management server was compromised, rotate any directory service accounts stored in its configuration. Then review Active Directory for new accounts and password spraying.</li></ul>
<h2 id="quick-hits">Quick hits</h2>
<p><strong>ConnectWise Cloud Backup restores have started.</strong> The <a href="https://www.connectwise.com/company/trust/advisories" rel="noopener">October 28 update</a> says phased restoration has begun with Microsoft 365, through a new app called ConnectWise Cloud Backup for M365. Partners must reset passwords, set up MFA if needed, and re-authorize each tenant with the new app. ConnectWise says not to re-enable previously disabled apps unless it tells you to. After re-authorizing, confirm new snapshots actually complete. No new indicators were published.</p>
<p><strong>VMware ESX logging flaw is on the exploited list.</strong> CISA also added CVE-2026-41709 on October 28, with a November 11 federal due date. Broadcom rates it low (CVSS 2.7). It lets someone who already has admin access perform some operations without them being logged. It is fixed in builds ESXi-9.1.0.0-25370933, ESXi-9.0.2.0100-25595025 and ESXi80U3j-25429389, and in VCF 5.2.4, per <a href="https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/SecurityAdvisories/0/38017" rel="noopener">VMSA-2026-0006</a>. It does not let anyone in; it helps someone already inside avoid the logs. Patch at your next maintenance window, along with the vCenter fixes in the same advisory.</p>
<h2 id="sources">Sources</h2>
<ul><li><a href="https://www.cisa.gov/news-events/alerts/2026/10/28/cisa-adds-two-known-exploited-vulnerabilities-catalog" rel="noopener">CISA: two known exploited vulnerabilities added, October 28, 2026</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-46300" rel="noopener">CISA Known Exploited Vulnerabilities catalog: CVE-2026-46300</a></li><li><a href="https://www.openwall.com/lists/oss-security/2026/05/13/3" rel="noopener">oss-security: Fragnesia disclosure, May 13, 2026</a></li><li><a href="https://dreamgroup.com/blog/chained-php2shell-exploit-roots-25-servers" rel="noopener">Dream Research: chained PHP2Shell exploit roots 25 servers</a></li><li><a href="https://ubuntu.com/security/CVE-2026-46300" rel="noopener">Ubuntu: CVE-2026-46300</a></li><li><a href="https://security-tracker.debian.org/tracker/CVE-2026-46300" rel="noopener">Debian security tracker: CVE-2026-46300</a></li><li><a href="https://ubuntu.com/blog/dirty-frag-linux-vulnerability-fixes-available" rel="noopener">Ubuntu: Dirty Frag fixes and mitigation</a></li><li><a href="https://www.connectwise.com/company/trust/advisories" rel="noopener">ConnectWise security advisories</a></li><li><a href="https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/SecurityAdvisories/0/38017" rel="noopener">Broadcom VMSA-2026-0006</a></li></ul></div>
  <div class="wrap narrow chip-row post-tags"><span class="chip-outline">threat-briefing</span><span class="chip-outline">managed-it</span></div>
</article>
]]></content:encoded>
</item>
<item>
<title>MSP Threat Briefing: October 28, 2026</title>
<link>https://lnxinc.com/news/msp-threat-briefing-2026-10-28/</link>
<guid isPermaLink="true">https://lnxinc.com/news/msp-threat-briefing-2026-10-28/</guid>
<pubDate>Wed, 28 Oct 2026 12:00:00 GMT</pubDate>
<description>CISA lists the Brotli decoder flaw and Adobe Commerce PolyShell as exploited. Both carry a November 10 federal deadline.</description>
<category>threat-briefing</category><category>managed-it</category>
<content:encoded><![CDATA[
<article class="post">
  <header class="page-hero">
    <div class="wrap narrow">
      <nav class="crumbs" aria-label="Breadcrumb"><ol><li><a href="/">Home</a></li><li class="sep" aria-hidden="true">/</li><li><a href="/news/">News</a></li><li class="sep" aria-hidden="true">/</li><li aria-current="page">MSP Threat Briefing: October 28, 2026</li></ol></nav>
      <p class="tag-mono"><time datetime="2026-10-28">October 28, 2026</time> · 5 min read · LNX Inc.</p>
      <h1>MSP Threat Briefing: October 28, 2026</h1>
      <p class="hero-body">CISA lists the Brotli decoder flaw and Adobe Commerce PolyShell as exploited. Both carry a November 10 federal deadline.</p>
    </div>
  </header>
  <div class="wrap narrow post-media"><picture class="media h410"><source type="image/avif" srcset="/img/threat-briefing-480.avif 480w, /img/threat-briefing-800.avif 800w, /img/threat-briefing-1200.avif 1200w" sizes="(min-width: 800px) 760px, 100vw"><source type="image/webp" srcset="/img/threat-briefing-480.webp 480w, /img/threat-briefing-800.webp 800w, /img/threat-briefing-1200.webp 1200w" sizes="(min-width: 800px) 760px, 100vw"><img src="/img/threat-briefing-1200.jpg" srcset="/img/threat-briefing-480.jpg 480w, /img/threat-briefing-800.jpg 800w, /img/threat-briefing-1200.jpg 1200w" sizes="(min-width: 800px) 760px, 100vw" width="1200" height="800" alt="A security analyst seen from behind, reviewing three monitors of status tiles and a world map in a dark office before dawn" fetchpriority="high" decoding="async"></picture></div>
  <div class="wrap narrow prose"><p>CISA added two flaws to its exploited list on October 27. One is the Brotli decoder bug covered here for the past week. The other is PolyShell, a file upload flaw in Adobe Commerce and Magento that a skimming crew has used against hundreds of stores.</p>
<ol><li>Finish Brotli patching on Node.js, .NET, Python and Windows PHP, starting with internet-facing Express 5 apps. Restart every updated process.</li><li>Confirm every Adobe Commerce or Magento store you manage has Adobe's APSB26-73 fix. Then check its database and media folders for the indicators below, even if it is patched.</li><li>Keep ConnectWise Cloud Backup app connections disabled until ConnectWise sends restoration instructions.</li></ol>
<h2 id="1-update-cisa-adds-the-brotli-decoder-flaw-to-its-exploited-list">1. Update: CISA adds the Brotli decoder flaw to its exploited list</h2>
<p>This follows item 2 in the <a href="/news/msp-threat-briefing-2026-10-27/">October 27 briefing</a>. CISA added CVE-2026-111497 to its Known Exploited Vulnerabilities catalog on October 27 (<a href="https://www.cisa.gov/news-events/alerts/2026/10/27/cisa-adds-two-known-exploited-vulnerabilities-catalog" rel="noopener">CISA alert</a>). The <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener">catalog</a> sets a November 10 due date for federal civilian agencies.</p>
<p>The evidence is still thin, but it is growing. Previdian's <a href="https://previdian.com/CVE-2026-111497" rel="noopener">sensor page</a> shows one exploitation attempt on October 27 from a US address. Previdian notes this does not show the target was vulnerable or that the attempt worked. ELLIO's <a href="https://ellio.tech/en/blog/node2shell-cve-2026-111497-rce-on-stock-nodejs-builds/" rel="noopener">analysis</a> of the October 26 payload found it never reached code execution in 50 tries against a vulnerable Node.js 24.22.0 build. ELLIO calls it likely a &quot;first-generation attempt&quot;. Expect better versions.</p>
<p>ELLIO also says the source address, <code>94.154.43[.]7</code>, carries tags for PHP2Shell exploitation and GlobalProtect and FortiOS SSL VPN probing. If it shows up in your logs, check all three.</p>
<p><strong>Who is exposed.</strong> Clients running custom web apps, portals or APIs on Node.js, ASP.NET Core or Python that decompress outside data. Sysdig's <a href="https://www.sysdig.com/blog/node2shell-cve-2026-111497-detecting-the-node-js-brotli-rce" rel="noopener">reachability table</a> marks Express 5 with <code>express.json()</code> as reachable by default. Express 4 with body-parser 1.20.x rejects Brotli bodies, but other middleware or proxies in front of it may not. Sysdig also lists Koa body parsers and Fastify with <code>@fastify/compress</code>. Server-side <code>fetch()</code> decodes Brotli responses, so outbound calls to untrusted servers count too.</p>
<p><strong>What to do.</strong></p>
<ul><li>Update Node.js to 22.23.4, 24.22.1 or 26.12.1 (<a href="https://nodejs.org/en/blog/vulnerability/october-2026-security-releases" rel="noopener">Node.js security release</a>). Move end-of-life lines to a supported one.</li><li>Install .NET 8.0.33, 9.0.22 or 10.0.14 and rebuild self-contained apps (<a href="https://devblogs.microsoft.com/dotnet/dotnet-october-2026-oob-security-updates/" rel="noopener">.NET blog</a>).</li><li>Update the Python <code>Brotli</code> package to 1.2.1 and <code>brotlicffi</code> to 1.2.1.0. On Windows PHP hosts, install the <code>-1</code> builds (<a href="https://www.php.net/archive/2026.php#2026-10-26-1" rel="noopener">php.net</a>).</li><li>Run <code>node --version</code> inside running containers, not only on the host image list. Restart and redeploy after updating.</li><li>Watch web-facing Node.js processes for a crash followed by a shell or an unexpected outbound connection. A sensor will not see the overflow, only what follows it.</li><li>The indicator table in the <a href="/news/msp-threat-briefing-2026-10-27/">October 27 briefing</a> still applies. ELLIO published no new indicators after October 26.</li></ul>
<h2 id="2-adobe-commerce-polyshell-is-exploited-and-on-the-cisa-list">2. Adobe Commerce PolyShell is exploited and on the CISA list</h2>
<p>CVE-2026-48356, known as PolyShell, is an unrestricted file upload flaw in Adobe Commerce and Magento Open Source. It can lead to code execution on the server. Adobe fixed it in security bulletin APSB26-73 in July 2026. CISA added it to the exploited catalog on October 27, also with a November 10 due date.</p>
<p>The main campaign is documented by Sansec, the researcher. Its <a href="https://sansec.io/research/magento-cms-block-loader-deepveindrilling" rel="noopener">October 24 report</a> tracks one operator across 953 stores since July 2025. The operator uploaded webshells through PolyShell, then planted a JavaScript loader in Magento's <code>cms_block</code> table. In March, 471 stores were infected in one hour. The loader serves its payload only to real shoppers, which hides it from scanners. Sansec has not recovered the final payload, so the goal is unclear. The Hacker News <a href="https://thehackernews.com/2026/10/adobe-commerce-polyshell-attacks-breach.html" rel="noopener">reports</a> that the campaign is ongoing.</p>
<p>Two details matter for cleanup. The loader can give the attacker write access to the database, and deleting the script does not remove it. And Sansec found the loader on a fully patched 2.4.7-p10 store after a clean scan. Patching closes the door. It does not evict someone already inside.</p>
<p><strong>Who is exposed.</strong> Clients with a self-hosted Magento or Adobe Commerce store, including stores an agency built and nobody has updated since. Sansec found that 60% of Magento 2 installs missing a core patch also had files uploaded through PolyShell or SessionReaper (CVE-2025-54236).</p>
<p><strong>What to do.</strong></p>
<ul><li>Confirm APSB26-73 (PolyShell) and APSB25-88 (SessionReaper) are installed. Check the store's version in its admin panel against Adobe's bulletin.</li><li>Search <code>cms_block.content</code> and <code>cms_page</code> for <code>fpCode</code>, <code>se_referrer</code> and <code>localStorage.getItem</code>. Include your table prefix. Check <code>update_time</code> for recent writes.</li><li>Look for unexpected files in <code>pub/media/custom_options/</code> and <code>pub/media/customer_address/</code>, and for <code>accesson.php</code> anywhere in the webroot.</li><li>Review <code>admin_user</code> for accounts nobody recognizes.</li><li>If you find the loader, remove it, remove webshells, and change database, admin and API integration passwords. Returning shoppers may keep running the payload from browser storage after you remove it.</li></ul>
<div class="table-wrap"><table><thead><tr><th>Indicator (from Sansec)</th><th>Value</th></tr></thead><tbody><tr><td>Current loader domain</td><td><code>deepveindrilling[.]com</code> (registered October 6, 2026)</td></tr><tr><td>Earlier loader and tracker domains</td><td><code>additionalver[.]com</code>, <code>lanhd6549tdhse[.]top</code>, <code>neswnsssn[.]click</code>, <code>manulfie[.]click</code>, <code>hdfdsi84j3h[.]top</code>, <code>c85grt98sd[.]com</code></td></tr><tr><td>Payload URLs</td><td><code>leqdger[.]click/ssl/</code>, <code>crypto-insider[.]top/ssl/</code></td></tr><tr><td>Decoy response string</td><td><code>QWE=123;</code></td></tr><tr><td>Browser localStorage keys</td><td><code>fpCode</code>, <code>136c1e07507f4a97</code>, <code>136c1e07507f4a98</code></td></tr><tr><td>Database location</td><td><code>cms_block.content</code>, also <code>cms_page</code></td></tr></tbody></table></div>
<h2 id="quick-hits">Quick hits</h2>
<p><strong>ConnectWise Cloud Backup.</strong> Restoration is ready but waiting on a third-party validation, per the <a href="https://www.connectwise.com/company/trust/advisories" rel="noopener">October 27 update</a>. Backup restore access comes first, then full re-enrollment with instructions. ConnectWise lists no new indicators and says existing backup archives show no sign of compromise. Keep affected app connections disabled and keep reviewing client Microsoft 365 tenants.</p>
<h2 id="sources">Sources</h2>
<ul><li><a href="https://www.cisa.gov/news-events/alerts/2026/10/27/cisa-adds-two-known-exploited-vulnerabilities-catalog" rel="noopener">CISA: two known exploited vulnerabilities added, October 27, 2026</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener">CISA Known Exploited Vulnerabilities catalog</a></li><li><a href="https://sansec.io/research/magento-cms-block-loader-deepveindrilling" rel="noopener">Sansec: Magento CMS block loader campaign (deepveindrilling)</a></li><li><a href="https://thehackernews.com/2026/10/adobe-commerce-polyshell-attacks-breach.html" rel="noopener">The Hacker News: Adobe Commerce PolyShell attacks and Brotli exploit traffic</a></li><li><a href="https://previdian.com/CVE-2026-111497" rel="noopener">Previdian: CVE-2026-111497 telemetry</a></li><li><a href="https://ellio.tech/en/blog/node2shell-cve-2026-111497-rce-on-stock-nodejs-builds/" rel="noopener">ELLIO: Node2Shell analysis and observed exploit traffic</a></li><li><a href="https://www.sysdig.com/blog/node2shell-cve-2026-111497-detecting-the-node-js-brotli-rce" rel="noopener">Sysdig: detecting the Node.js Brotli RCE</a></li><li><a href="https://nodejs.org/en/blog/vulnerability/october-2026-security-releases" rel="noopener">Node.js October 2026 security releases</a></li><li><a href="https://devblogs.microsoft.com/dotnet/dotnet-october-2026-oob-security-updates/" rel="noopener">.NET October 2026 out-of-band security updates</a></li><li><a href="https://www.php.net/archive/2026.php#2026-10-26-1" rel="noopener">PHP: updated Windows builds for Brotli security fix, October 26, 2026</a></li><li><a href="https://www.connectwise.com/company/trust/advisories" rel="noopener">ConnectWise security advisories</a></li></ul></div>
  <div class="wrap narrow chip-row post-tags"><span class="chip-outline">threat-briefing</span><span class="chip-outline">managed-it</span></div>
</article>
]]></content:encoded>
</item>
<item>
<title>MSP Threat Briefing: October 27, 2026</title>
<link>https://lnxinc.com/news/msp-threat-briefing-2026-10-27/</link>
<guid isPermaLink="true">https://lnxinc.com/news/msp-threat-briefing-2026-10-27/</guid>
<pubDate>Tue, 27 Oct 2026 12:00:00 GMT</pubDate>
<description>CISA adds PHP2Shell to its exploited list, and the Brotli decoder flaw now has .NET and PHP for Windows fixes plus reported exploit traffic.</description>
<category>threat-briefing</category><category>managed-it</category>
<content:encoded><![CDATA[
<article class="post">
  <header class="page-hero">
    <div class="wrap narrow">
      <nav class="crumbs" aria-label="Breadcrumb"><ol><li><a href="/">Home</a></li><li class="sep" aria-hidden="true">/</li><li><a href="/news/">News</a></li><li class="sep" aria-hidden="true">/</li><li aria-current="page">MSP Threat Briefing: October 27, 2026</li></ol></nav>
      <p class="tag-mono"><time datetime="2026-10-27">October 27, 2026</time> · 5 min read · LNX Inc.</p>
      <h1>MSP Threat Briefing: October 27, 2026</h1>
      <p class="hero-body">CISA adds PHP2Shell to its exploited list, and the Brotli decoder flaw now has .NET and PHP for Windows fixes plus reported exploit traffic.</p>
    </div>
  </header>
  <div class="wrap narrow post-media"><picture class="media h410"><source type="image/avif" srcset="/img/threat-briefing-480.avif 480w, /img/threat-briefing-800.avif 800w, /img/threat-briefing-1200.avif 1200w" sizes="(min-width: 800px) 760px, 100vw"><source type="image/webp" srcset="/img/threat-briefing-480.webp 480w, /img/threat-briefing-800.webp 800w, /img/threat-briefing-1200.webp 1200w" sizes="(min-width: 800px) 760px, 100vw"><img src="/img/threat-briefing-1200.jpg" srcset="/img/threat-briefing-480.jpg 480w, /img/threat-briefing-800.jpg 800w, /img/threat-briefing-1200.jpg 1200w" sizes="(min-width: 800px) 760px, 100vw" width="1200" height="800" alt="A security analyst seen from behind, reviewing three monitors of status tiles and a world map in a dark office before dawn" fetchpriority="high" decoding="async"></picture></div>
  <div class="wrap narrow prose"><p>Two items today. CISA now lists both PHP2Shell flaws as exploited, which ends any argument about priority. A Brotli decoder flaw that sits inside Node.js, .NET, Python and PHP for Windows picked up new patches over the weekend, and one sensor network reports exploit traffic.</p>
<ol><li>Finish patching every PHP server to the October 21 releases. Federal agencies have until October 29; treat that as your deadline too.</li><li>Inventory Node.js, .NET and Python services that handle Brotli data, and update them to the fixed versions below. Restart them afterwards.</li><li>On Windows PHP servers, install the new <code>-1</code> builds that bundle Brotli 1.2.1.</li></ol>
<h2 id="1-update-cisa-adds-both-php2shell-flaws-to-its-exploited-list">1. Update: CISA adds both PHP2Shell flaws to its exploited list</h2>
<p>This follows item 1 in the <a href="/news/msp-threat-briefing-2026-10-26/">October 26 briefing</a>. CISA added CVE-2026-109618 and CVE-2026-109619 to its Known Exploited Vulnerabilities catalog on October 26 (<a href="https://www.cisa.gov/news-events/alerts/2026/10/26/cisa-adds-two-known-exploited-vulnerabilities-catalog" rel="noopener">CISA alert</a>). The catalog sets a due date of October 29 for federal civilian agencies.</p>
<p>Nothing about the fix has changed. What has changed is the evidence. Until the weekend, every report described failed attempts. Adel Karimi's honeypots then recorded working code execution on October 24, as covered yesterday. The Hacker News <a href="https://thehackernews.com/2026/10/cisa-confirms-active-exploitation-of.html" rel="noopener">reports</a> that Karimi called his setup an intentionally favorable single-worker mod_php profile. So reliability on other configurations is not yet measured. Do not read that as a reason to wait.</p>
<p><strong>Who is exposed.</strong> Any PHP site, hosting panel, intranet app or appliance on a build older than October 21. That includes vendor appliances that ship PHP inside. The Hacker News article links advisories from Synology, QNAP, NETGEAR, SonicWall, Veeam, Hikvision and dozens of others.</p>
<p><strong>What to do.</strong></p>
<ul><li>Update to PHP 8.5.12, 8.4.27, 8.3.36 or 8.2.35 (<a href="https://www.php.net/archive/2026.php#2026-10-21-5" rel="noopener">php.net advisory</a>). Restart PHP-FPM and Apache, then confirm the running version.</li><li>Check each appliance vendor's PHP2Shell advisory for products you manage. Appliances will not pick up an OS package update.</li><li>Keep <code>session.upload_progress.enabled=0</code> set in <code>php.ini</code> or the FPM pool file. PHP says it must apply before request parsing, so <code>ini_set()</code> and <code>.user.ini</code> do not work. It is also the interim fix for CVE-2026-115560, which is still unpatched.</li><li>Hunt for <code>/bin/sh</code> started by <code>apache2</code>, <code>httpd</code> or <code>php-fpm</code>. The indicator table in the <a href="/news/msp-threat-briefing-2026-10-26/">October 26 briefing</a> still applies; no new indicators were published in the last day.</li></ul>
<h2 id="2-brotli-decoder-flaw-new-net-and-php-for-windows-fixes-and-reported-exploit-traffic">2. Brotli decoder flaw: new .NET and PHP for Windows fixes, and reported exploit traffic</h2>
<p>CVE-2026-111497 is an out-of-bounds write in Google's Brotli decoder. Crafted compressed data can crash a process, leak its memory or lead to code execution. Brotli versions 1.0.3 through 1.2.0 are affected; 1.0.10, 1.1.1 and 1.2.1 are fixed (<a href="https://broccoli2shell.com/" rel="noopener">researchers' tracking page</a>). It is rated 9.2 under CVSS 4.0 in the GitHub advisory. Microsoft rates it 8.1 under CVSS 3.1.</p>
<p>Node.js disclosed it on October 21 (<a href="https://nodejs.org/en/blog/vulnerability/october-2026-security-releases" rel="noopener">Node.js security release</a>). Three developments since then matter to MSPs:</p>
<ul><li><strong>.NET, October 25.</strong> Microsoft shipped out-of-band .NET 8.0.33, 9.0.22 and 10.0.14 (<a href="https://devblogs.microsoft.com/dotnet/dotnet-october-2026-oob-security-updates/" rel="noopener">.NET blog</a>). The same release re-issues two incomplete fixes from October 13. Microsoft rates the Brotli flaw &quot;Exploitation More Likely&quot;, <a href="https://www.theregister.com/security/2026/10/26/microsoft-releases-emergency-net-security-fixes-for-google-brotli-bug/5305515" rel="noopener">reported by The Register</a>.</li><li><strong>PHP for Windows, October 26.</strong> PHP published rebuilt Windows packages 8.5.12-1, 8.4.27-1, 8.3.36-1 and 8.2.35-1 with Brotli 1.2.1 (<a href="https://www.php.net/archive/2026.php#2026-10-26-1" rel="noopener">php.net</a>). The flaw is reachable through the cURL extension only when automatic response decompression is turned on. That is off by default, but apps and HTTP libraries can enable it.</li><li><strong>Exploit traffic, October 26.</strong> ELLIO <a href="https://ellio.tech/en/blog/node2shell-cve-2026-111497-rce-on-stock-nodejs-builds/" rel="noopener">reports</a> its sensors recorded an exploit payload aimed at Node.js v24.22.0 on x86-64. It does not report a successful compromise. Other researchers have not seen active exploitation, <a href="https://cyberscoop.com/brotli-critical-vulnerability-decompression-library-node2shell-broccoli2shell/" rel="noopener">reported by CyberScoop</a>. It was not in the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener">CISA catalog</a> when we checked on October 27.</li></ul>
<p><strong>Who is exposed.</strong> Clients running custom web apps, portals or APIs on Node.js, ASP.NET Core or Python. Exposure depends on whether the app decompresses Brotli data from outside. In Node.js, that includes <code>fetch()</code> of a Brotli-compressed response. In .NET, it means request decompression, <code>HttpClient</code> automatic decompression or the Brotli APIs; .NET Framework is not affected. Line-of-business software and appliances that bundle these runtimes are exposed too, and their vendors may be slower.</p>
<p><strong>What to do.</strong></p>
<ul><li>Update Node.js to 22.23.4, 24.22.1 or 26.12.1. Node 25, 23, 20 and older are end of life and get no fix; move them to a supported line.</li><li>Install .NET 8.0.33, 9.0.22 or 10.0.14 on servers and rebuild self-contained apps. A runtime update does not reach an app that ships its own runtime.</li><li>Update the Python <code>Brotli</code> package to 1.2.1 and <code>brotlicffi</code> to 1.2.1.0. Update lockfiles so builds do not reinstall the old versions.</li><li>On Windows PHP hosts, install the <code>-1</code> packages from <a href="https://www.php.net/downloads.php?os=windows" rel="noopener">php.net downloads</a>.</li><li>Restart every updated process and redeploy container images. A running process keeps the old decoder.</li><li>If an inbound service cannot be patched yet, reject <code>Content-Encoding: br</code> request bodies at the proxy, load balancer or WAF.</li><li>Ask software vendors whose products bundle Node.js, .NET or Python when they will ship a fix.</li></ul>
<div class="table-wrap"><table><thead><tr><th>Indicator (from ELLIO)</th><th>Value</th></tr></thead><tbody><tr><td>Exploit source IP</td><td><code>94.154.43[.]7</code></td></tr><tr><td>Scanner user agent</td><td><code>Mozilla/5.0 (compatible; node2shell-check/1.0)</code></td></tr><tr><td>Exploit request body SHA-256</td><td><code>7fcbdaaecd4419e2930927844f3b772668204737a4e7602a2290c991c93c5c4b</code></td></tr><tr><td>Request shape</td><td>POST with <code>Content-Encoding: br</code>; the exploit body was 23,069,983 bytes</td></tr></tbody></table></div>
<p>ELLIO describes the user agent as an exposure checker that maps which hosts decompress Brotli. A hit means you were scanned, not compromised.</p>
<h2 id="quick-hits">Quick hits</h2>
<p><strong>ConnectWise Cloud Backup.</strong> Onboarding has slipped. The October 25 update targeted October 26. The <a href="https://www.connectwise.com/company/trust/advisories" rel="noopener">October 26 update</a> says only that ConnectWise is preparing for phased onboarding, with no new date. It lists no new indicators. Keep the affected app connections disabled until ConnectWise sends instructions for your service.</p>
<h2 id="sources">Sources</h2>
<ul><li><a href="https://www.cisa.gov/news-events/alerts/2026/10/26/cisa-adds-two-known-exploited-vulnerabilities-catalog" rel="noopener">CISA: two known exploited vulnerabilities added (PHP), October 26, 2026</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener">CISA Known Exploited Vulnerabilities catalog</a></li><li><a href="https://thehackernews.com/2026/10/cisa-confirms-active-exploitation-of.html" rel="noopener">The Hacker News: CISA confirms active exploitation of two PHP2Shell flaws</a></li><li><a href="https://www.php.net/archive/2026.php#2026-10-21-5" rel="noopener">PHP: critical remote code execution vulnerabilities, October 21, 2026</a></li><li><a href="https://www.php.net/archive/2026.php#2026-10-26-1" rel="noopener">PHP: updated Windows builds for Brotli security fix, October 26, 2026</a></li><li><a href="https://nodejs.org/en/blog/vulnerability/october-2026-security-releases" rel="noopener">Node.js October 2026 security releases</a></li><li><a href="https://devblogs.microsoft.com/dotnet/dotnet-october-2026-oob-security-updates/" rel="noopener">.NET October 2026 out-of-band security updates</a></li><li><a href="https://broccoli2shell.com/" rel="noopener">Broccoli2Shell tracking page for CVE-2026-111497</a></li><li><a href="https://ellio.tech/en/blog/node2shell-cve-2026-111497-rce-on-stock-nodejs-builds/" rel="noopener">ELLIO: Node2Shell analysis and observed exploit traffic</a></li><li><a href="https://www.theregister.com/security/2026/10/26/microsoft-releases-emergency-net-security-fixes-for-google-brotli-bug/5305515" rel="noopener">The Register: Microsoft releases emergency .NET fixes for Brotli bug</a></li><li><a href="https://cyberscoop.com/brotli-critical-vulnerability-decompression-library-node2shell-broccoli2shell/" rel="noopener">CyberScoop: experts temper alarms over critical Brotli defect</a></li><li><a href="https://www.connectwise.com/company/trust/advisories" rel="noopener">ConnectWise security advisories</a></li></ul></div>
  <div class="wrap narrow chip-row post-tags"><span class="chip-outline">threat-briefing</span><span class="chip-outline">managed-it</span></div>
</article>
]]></content:encoded>
</item>
<item>
<title>MSP Threat Briefing: October 26, 2026</title>
<link>https://lnxinc.com/news/msp-threat-briefing-2026-10-26/</link>
<guid isPermaLink="true">https://lnxinc.com/news/msp-threat-briefing-2026-10-26/</guid>
<pubDate>Mon, 26 Oct 2026 12:00:00 GMT</pubDate>
<description>PHP2Shell now has confirmed successful exploitation, and CISA lists an exploited flaw in Nextcloud's built-in Collabora CODE server.</description>
<category>threat-briefing</category><category>managed-it</category>
<content:encoded><![CDATA[
<article class="post">
  <header class="page-hero">
    <div class="wrap narrow">
      <nav class="crumbs" aria-label="Breadcrumb"><ol><li><a href="/">Home</a></li><li class="sep" aria-hidden="true">/</li><li><a href="/news/">News</a></li><li class="sep" aria-hidden="true">/</li><li aria-current="page">MSP Threat Briefing: October 26, 2026</li></ol></nav>
      <p class="tag-mono"><time datetime="2026-10-26">October 26, 2026</time> · 5 min read · LNX Inc.</p>
      <h1>MSP Threat Briefing: October 26, 2026</h1>
      <p class="hero-body">PHP2Shell now has confirmed successful exploitation, and CISA lists an exploited flaw in Nextcloud's built-in Collabora CODE server.</p>
    </div>
  </header>
  <div class="wrap narrow post-media"><picture class="media h410"><source type="image/avif" srcset="/img/threat-briefing-480.avif 480w, /img/threat-briefing-800.avif 800w, /img/threat-briefing-1200.avif 1200w" sizes="(min-width: 800px) 760px, 100vw"><source type="image/webp" srcset="/img/threat-briefing-480.webp 480w, /img/threat-briefing-800.webp 800w, /img/threat-briefing-1200.webp 1200w" sizes="(min-width: 800px) 760px, 100vw"><img src="/img/threat-briefing-1200.jpg" srcset="/img/threat-briefing-480.jpg 480w, /img/threat-briefing-800.jpg 800w, /img/threat-briefing-1200.jpg 1200w" sizes="(min-width: 800px) 760px, 100vw" width="1200" height="800" alt="A security analyst seen from behind, reviewing three monitors of status tiles and a world map in a dark office before dawn" fetchpriority="high" decoding="async"></picture></div>
  <div class="wrap narrow prose"><p>A quiet weekend with two items that need action today. PHP2Shell has moved from attempts to confirmed shells on unpatched servers. A Nextcloud add-on that many small offices run has been exploited since September, and it is now on CISA's exploited list.</p>
<ol><li>Patch every PHP server that is still unpatched today, starting with Apache mod_php. Then hunt for shells spawned by the web server since October 17.</li><li>Upgrade the Nextcloud &quot;Built-in CODE Server&quot; app to 26.4.303 or remove it. Disabling it is not enough. Then look for <code>shx*.php</code> files in its folder.</li></ol>
<h2 id="1-update-php2shell-exploitation-now-confirmed-successful">1. Update: PHP2Shell exploitation now confirmed successful</h2>
<p>This is a follow-up to item 2 in the <a href="/news/msp-threat-briefing-2026-10-25/">October 25 briefing</a>. Until this weekend, every report described scanning and failed attempts. That changed on October 24.</p>
<p>Adel Karimi published <a href="https://github.com/0x4D31/honeypot-data/blob/main/reports/php2shell/2026-10-24-confirmed-rce.md" rel="noopener">honeypot evidence</a> of working remote code execution against PHP 8.4.26 on Apache mod_php. Two source addresses got shells on three honeypots that day, 35 in total. The chain is consistent with CVE-2026-109618; his records do not show CVE-2026-109619 in use. Expel's Marcus Hutchins independently confirmed the findings, as <a href="https://www.bleepingcomputer.com/news/security/php2shell-security-flaws-now-sucessfully-exploited-in-the-wild/" rel="noopener">reported by BleepingComputer</a> on October 26.</p>
<p>After getting in, the attackers ran <code>id</code>, tried to write files to web roots, and called home with <code>curl</code>, <code>wget</code> or PHP itself. No second-stage download was seen. The shells ran as the web server user, with Apache as the parent process.</p>
<p>Weaponized tooling is spreading. <a href="https://www.securityweek.com/mirai-botnet-operators-join-php2shell-attacks-as-aslr-bypass-exploits-emerge/" rel="noopener">SecurityWeek reported</a> on October 23 that a Mirai-style botnet has added the flaws to its spreading methods. It also reported that VulnCheck built an exploit that works against default production settings. Neither CVE was in the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener">CISA catalog</a> when we checked on October 26. Do not wait for it.</p>
<p><strong>Who is exposed.</strong> The same as last week: any client PHP site, hosting panel, intranet app or appliance on a build older than the October 21 releases. The confirmed shells were on mod_php, the configuration PHP's advisory already called the riskiest.</p>
<p><strong>What to do.</strong></p>
<ul><li>Update to PHP 8.5.12, 8.4.27, 8.3.36 or 8.2.35 (<a href="https://www.php.net/archive/2026.php#2026-10-21-5" rel="noopener">php.net advisory</a>). PHP says updating is the only complete fix; the mitigations only reduce exposure.</li><li>Restart every PHP worker and Apache after updating, then confirm the running version.</li><li>Hunt for <code>/bin/sh</code> started by <code>apache2</code>, <code>httpd</code> or <code>php-fpm</code>, running as the web server user. That process is the reliable success signal. An HTTP 200 on the earlier stages is not.</li><li>Search PHP and web server logs for the strings below, and for very large multipart POSTs to <code>/</code> or <code>/index.php</code>.</li><li>Check egress logs for the addresses below. Treat any match on an unpatched server as an incident.</li><li>Keep <code>session.upload_progress.enabled=0</code> in place. It is also the interim fix for CVE-2026-115560, which still has no patch (<a href="https://www.php.net/archive/2026.php#2026-10-23-1" rel="noopener">PHP informational advisory</a>).</li></ul>
<div class="table-wrap"><table><thead><tr><th>Indicator</th><th>Value</th></tr></thead><tbody><tr><td>Source IPs with confirmed shells</td><td><code>15.204.59[.]70</code>, <code>162.35.99[.]94</code></td></tr><tr><td>Source IPs, attempts only</td><td><code>104.28.208[.]84</code>, <code>144.48.4[.]242</code></td></tr><tr><td>Callback ports</td><td><code>8081</code>, <code>8080</code>, <code>80</code></td></tr><tr><td>Request shape</td><td>Multipart POST to <code>/</code> or <code>/index.php</code>, no <code>User-Agent</code>, about 900 to 1,000 parts, <code>PHP_SESSION_UPLOAD_PROGRESS</code> field</td></tr><tr><td>PHP log</td><td><code>Allowed memory size of 134217728 bytes exhausted ... in Unknown on line 0</code></td></tr><tr><td>PHP log</td><td><code>PHP Request Startup: Session ID is too long or contains illegal characters</code></td></tr><tr><td>Apache log</td><td><code>Segmentation fault (11)</code> shortly after a shell starts</td></tr><tr><td>Response</td><td><code>PHPSESSID</code> cookie of about 819,200 bytes</td></tr></tbody></table></div>
<p>The memory figure is the honeypots' 128 MiB limit. Yours may differ.</p>
<h2 id="2-nextcloud-s-built-in-collabora-code-server-is-exploited-and-on-the-cisa-list">2. Nextcloud's built-in Collabora CODE server is exploited and on the CISA list</h2>
<p>CISA added CVE-2026-110447 to its Known Exploited Vulnerabilities catalog on October 23 (<a href="https://www.cisa.gov/news-events/alerts/2026/10/23/cisa-adds-one-known-exploited-vulnerability-catalog-0" rel="noopener">CISA alert</a>). The flaw is an unauthenticated OS command injection in <code>proxy.php</code> of <code>richdocumentscode</code>, the Nextcloud app listed as the Built-in CODE Server. Collabora's <a href="https://github.com/CollaboraOnline/online/security/advisories/GHSA-g3vx-3m76-fghh" rel="noopener">advisory</a>, published October 14, rates it CVSS 4.0 9.2.</p>
<p>The attack works only while the built-in CODE server is not running, for example after a restart, upgrade or crash. The advisory says disabling the app does not prevent it. Standalone Collabora Online servers are not affected.</p>
<p>Exploitation started weeks before the advisory. In the project's <a href="https://github.com/CollaboraOnline/richdocumentscode/issues/354" rel="noopener">issue tracker</a>, one administrator logged the first malicious request on September 10. Attackers wrote PHP webshells into the app folder. On one server they searched for password vaults and cryptocurrency wallet files. The fixed version, 26.4.303, shipped on September 11, but its release notes did not mention a security fix.</p>
<p><strong>Who is exposed.</strong> Small offices, schools and nonprofits that run Nextcloud with the one-click office suite instead of a separate Collabora server. Anything the web server account can read on that host is at risk, including synced files and config secrets.</p>
<p><strong>What to do.</strong></p>
<ul><li>In each Nextcloud instance's Apps page, check whether the Built-in CODE Server app (<code>richdocumentscode</code>) is installed, and its version. Upgrade to 26.4.303 or later, or remove the app.</li><li>26.4.303 needs Nextcloud 30 or later. On older Nextcloud, upgrade Nextcloud or remove the app.</li><li>Patching does not remove a webshell. Look for <code>shx*.php</code> files under <code>apps/richdocumentscode/</code> and run Nextcloud's code integrity check.</li><li>Search web logs back to September 10 for requests to <code>/apps/richdocumentscode/proxy.php</code> containing <code>%2e%2e</code>.</li><li>If you find a webshell, rebuild the host and rotate the Nextcloud database, admin and storage credentials.</li></ul>
<div class="table-wrap"><table><thead><tr><th>Indicator (from administrator reports)</th><th>Value</th></tr></thead><tbody><tr><td>Request path</td><td><code>/apps/richdocumentscode/proxy.php?status</code> with <code>%2e%2e</code> traversal</td></tr><tr><td>Payload markers</td><td><code>${IFS}</code>, <code>base64${IFS}-d</code>, <code>$(</code>, <code>%24%28</code></td></tr><tr><td>Webshell file names</td><td><code>shxa35d0.php</code>, <code>shx5cf91.php</code>, <code>shxd33ce.php</code>, <code>shxf4645.php</code>, <code>shx13a86.php</code>, <code>shx56367.php</code>, <code>shrf4645.php</code></td></tr><tr><td>Webshell SHA-256</td><td><code>4b9fbd0663fbfd6028fc216ed18e0d6ef3ae498a7fdc97083e4b0ce3cec40562</code></td></tr><tr><td>Attacker IPs</td><td><code>139.28.18[.]122</code>, <code>89.38.98[.]50</code></td></tr><tr><td>Callback service</td><td><code>webhook.site</code></td></tr></tbody></table></div>
<h2 id="quick-hits">Quick hits</h2>
<p><strong>ConnectWise Cloud Backup.</strong> No new indicators since October 18. The <a href="https://www.connectwise.com/company/trust/advisories" rel="noopener">October 25 advisory update</a> still targets phased partner onboarding for October 26, with backup restore access first. Keep the affected apps disabled until ConnectWise sends instructions for your service.</p>
<h2 id="sources">Sources</h2>
<ul><li><a href="https://github.com/0x4D31/honeypot-data/blob/main/reports/php2shell/2026-10-24-confirmed-rce.md" rel="noopener">Adel Karimi: PHP2Shell confirmed RCE report, October 24, 2026</a></li><li><a href="https://www.bleepingcomputer.com/news/security/php2shell-security-flaws-now-sucessfully-exploited-in-the-wild/" rel="noopener">BleepingComputer: PHP2Shell security flaws now successfully exploited in the wild</a></li><li><a href="https://www.securityweek.com/mirai-botnet-operators-join-php2shell-attacks-as-aslr-bypass-exploits-emerge/" rel="noopener">SecurityWeek: Mirai botnet operators join PHP2Shell attacks</a></li><li><a href="https://www.php.net/archive/2026.php#2026-10-21-5" rel="noopener">PHP: critical remote code execution vulnerabilities, October 21, 2026</a></li><li><a href="https://www.php.net/archive/2026.php#2026-10-23-1" rel="noopener">PHP: informational advisory on session upload progress, October 23, 2026</a></li><li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener">CISA Known Exploited Vulnerabilities catalog</a></li><li><a href="https://www.cisa.gov/news-events/alerts/2026/10/23/cisa-adds-one-known-exploited-vulnerability-catalog-0" rel="noopener">CISA: one known exploited vulnerability added (Collabora Online), October 23, 2026</a></li><li><a href="https://github.com/CollaboraOnline/online/security/advisories/GHSA-g3vx-3m76-fghh" rel="noopener">Collabora advisory GHSA-g3vx-3m76-fghh</a></li><li><a href="https://github.com/CollaboraOnline/richdocumentscode/issues/354" rel="noopener">richdocumentscode issue 354</a></li><li><a href="https://www.connectwise.com/company/trust/advisories" rel="noopener">ConnectWise security advisories</a></li></ul></div>
  <div class="wrap narrow chip-row post-tags"><span class="chip-outline">threat-briefing</span><span class="chip-outline">managed-it</span></div>
</article>
]]></content:encoded>
</item>
<item>
<title>MSP Threat Briefing: October 25, 2026</title>
<link>https://lnxinc.com/news/msp-threat-briefing-2026-10-25/</link>
<guid isPermaLink="true">https://lnxinc.com/news/msp-threat-briefing-2026-10-25/</guid>
<pubDate>Sun, 25 Oct 2026 12:00:00 GMT</pubDate>
<description>ConnectWise Cloud Backup compromise, PHP2Shell patches, a Microsoft 365 token replay campaign, GlobalProtect ransomware, Fortinet fixes and an Entra deadline.</description>
<category>threat-briefing</category><category>managed-it</category>
<content:encoded><![CDATA[
<article class="post">
  <header class="page-hero">
    <div class="wrap narrow">
      <nav class="crumbs" aria-label="Breadcrumb"><ol><li><a href="/">Home</a></li><li class="sep" aria-hidden="true">/</li><li><a href="/news/">News</a></li><li class="sep" aria-hidden="true">/</li><li aria-current="page">MSP Threat Briefing: October 25, 2026</li></ol></nav>
      <p class="tag-mono"><time datetime="2026-10-25">October 25, 2026</time> · 11 min read · LNX Inc.</p>
      <h1>MSP Threat Briefing: October 25, 2026</h1>
      <p class="hero-body">ConnectWise Cloud Backup compromise, PHP2Shell patches, a Microsoft 365 token replay campaign, GlobalProtect ransomware, Fortinet fixes and an Entra deadline.</p>
    </div>
  </header>
  <div class="wrap narrow post-media"><picture class="media h410"><source type="image/avif" srcset="/img/threat-briefing-480.avif 480w, /img/threat-briefing-800.avif 800w, /img/threat-briefing-1200.avif 1200w" sizes="(min-width: 800px) 760px, 100vw"><source type="image/webp" srcset="/img/threat-briefing-480.webp 480w, /img/threat-briefing-800.webp 800w, /img/threat-briefing-1200.webp 1200w" sizes="(min-width: 800px) 760px, 100vw"><img src="/img/threat-briefing-1200.jpg" srcset="/img/threat-briefing-480.jpg 480w, /img/threat-briefing-800.jpg 800w, /img/threat-briefing-1200.jpg 1200w" sizes="(min-width: 800px) 760px, 100vw" width="1200" height="800" alt="A security analyst seen from behind, reviewing three monitors of status tiles and a world map in a dark office before dawn" fetchpriority="high" decoding="async"></picture></div>
  <div class="wrap narrow prose"><p>This week was about trust that attackers borrowed. A stolen vendor credential walked into hundreds of Microsoft 365 tenants without a single user signing in. Two critical PHP flaws landed with exploitation already under way, and the NAS vendors are still catching up. Here is what to do first.</p>
<ol><li>Disable the ConnectWise Cloud Backup and Cloud Management apps in every tenant you manage, then hunt for added roles and secrets.</li><li>Patch every internet-facing PHP install to 8.2.35, 8.3.36, 8.4.27 or 8.5.12, and update Synology and QNAP NAS units.</li><li>Hunt Entra sign-in logs for token replay from hosting networks and for rogue <code>DESKTOP-</code> devices.</li><li>Confirm every PAN-OS firewall with GlobalProtect is on a fixed build; ransomware crews are using the May flaw now.</li><li>Upgrade FortiOS, FortiManager and FortiAnalyzer to the October 22 builds before the CVEs go public on November 10.</li><li>Update any Plex Media Server you can find to 1.43.3.10861 or later, and treat older exposed servers as compromised.</li><li>Check SSPR registration coverage before Entra enforces registered methods in early November.</li></ol>
<h2 id="1-connectwise-cloud-backup-credentials-used-to-enter-microsoft-365-tenants">1. ConnectWise Cloud Backup credentials used to enter Microsoft 365 tenants</h2>
<p>A credential for ConnectWise Cloud Backup, the product formerly called SkyKick, was used to sign in to customer Microsoft 365 tenants as the application itself. ConnectWise published its advisory on October 16, revoked certificates and disabled seven application identities on October 17, and suspended Cloud Backup, SaaS Security and Cloud Management (<a href="https://www.connectwise.com/company/trust/advisories" rel="noopener">ConnectWise advisory</a>). Phased restoration began on October 21. As of the October 25 update, partner onboarding is targeted for October 26, with restore access first and full re-enrollment after.</p>
<p><a href="https://www.huntress.com/blog/vendor-credential-enables-unauthorized-access" rel="noopener">Huntress</a> saw the first sign-ins on October 15 from <code>144.172.64[.]128</code>. By its October 17 update it counted almost 1,000 Entra tenants with sign-in activity from that address and more than 300 successful sign-ins. In about 50 tenants, Cloud Management service principals assigned themselves directory roles, mostly Exchange Administrator. In one tenant the Teams app made itself Global Administrator and then added client secrets to two other applications, set to expire in 2028.</p>
<p><a href="https://www.microsoft.com/en-us/security/blog/2026/10/21/storm-0940-uses-artex-agentic-ai-connectwise-supply-chain-compromise/" rel="noopener">Microsoft</a> attributed the campaign on October 21 to Storm-0940, a China state-aligned group, and said it used an open-source agentic AI penetration testing framework to automate the work. Microsoft counted sign-in attempts against more than 2,250 tenants and saw privileged access gained in under three hours in several cases.</p>
<p><strong>Who is exposed.</strong> Any tenant where these apps were ever consented, including dormant SkyKick connections from years ago. User MFA and user Conditional Access were never in the path, because the attacker authenticated as the app.</p>
<p><strong>What to do.</strong></p>
<ul><li>In Entra, open Enterprise applications, find each app by application ID, and set &quot;Enabled for users to sign-in&quot; to No. Do not delete them; deleting destroys evidence and consent.</li><li>Review directory role assignments and remove roles the apps granted themselves, especially Global Administrator and Privileged Authentication Administrator.</li><li>Review client secrets and certificates on every app registration and enterprise app. Remove any added since October 13 that you did not create, including on your security tooling's apps.</li><li>Check the service principal sign-ins tab, not user sign-ins, filtered by the Cloud Backup app ID, for the window October 15 01:00 UTC to October 16 02:00 UTC and beyond.</li><li>Audit for &quot;Add member to role&quot;, &quot;Update application&quot; and &quot;Add service principal credentials&quot; events initiated by ConnectWise or SkyKick apps.</li><li>Keep the apps disabled until ConnectWise sends restoration instructions for your service.</li></ul>
<div class="table-wrap"><table><thead><tr><th>Indicator</th><th>Value</th></tr></thead><tbody><tr><td>Primary attacker IP</td><td><code>144.172.64[.]128</code></td></tr><tr><td>Password spray IPs</td><td><code>144.172.64[.]99</code>, <code>144.172.64[.]60</code></td></tr><tr><td>Cloud Backup app ID</td><td><code>506e08f9-6e9a-4da4-942b-a099a03644ae</code></td></tr><tr><td>Cloud Management app ID</td><td><code>2399d300-6fca-4e6a-a686-399fefe75b83</code></td></tr><tr><td>Cloud Management - MS Teams</td><td><code>24205314-2b89-4e07-a2a4-579e898a5640</code></td></tr><tr><td>Cloud Management - Exchange Online</td><td><code>b78f6a77-d4e5-46fb-87e5-d1648bd02519</code></td></tr><tr><td>Cloud Management - MS Graph</td><td><code>0de14c77-b9b0-4137-9360-34878a929827</code></td></tr><tr><td>Cloud Management - Partner Center</td><td><code>412dcf96-176d-4b3a-a1b0-4981ad66971e</code></td></tr><tr><td>Cloud Management - SharePoint Online</td><td><code>b2b55f5b-7758-4719-8d8f-88ae172e6bdb</code></td></tr><tr><td>User agents seen on changes</td><td><code>Python-urllib/3.12</code>, <code>python-requests/2.31</code>, <code>curl/7.88.1</code></td></tr></tbody></table></div>
<h2 id="2-php2shell-two-critical-php-remote-code-execution-flaws-exploited">2. PHP2Shell: two critical PHP remote code execution flaws, exploited</h2>
<p>The PHP project released fixes on October 21 for CVE-2026-109618 and CVE-2026-109619, both rated CVSS v4.0 9.2 (<a href="https://www.php.net/archive/2026.php#2026-10-21-5" rel="noopener">php.net advisory</a>). Both can give unauthenticated remote code execution against PHP-FPM, Apache mod_php, php-cgi, FrankenPHP and LiteSpeed. The risk is highest on mod_php, where a demonstrated exploit fires before any application code runs. Details leaked a day early, so the release was pulled forward.</p>
<p><a href="https://watchtowr.com/intelligence/php-remote-code-execution-php2shell/" rel="noopener">watchTowr</a> reports seeing exploitation of both flaws in its honeypots on October 21. <a href="https://www.huntress.com/blog/php2shell-leaked-critical-php-vulnerabilities" rel="noopener">Huntress</a> had not seen exploitation across its partner base as of the afternoon of October 21 but says Wiz demonstrated unauthenticated code execution against WordPress, Drupal and Joomla. Neither CVE was in the CISA catalog as of October 23.</p>
<p>On October 23 PHP added an <a href="https://www.php.net/archive/2026.php#2026-10-23-1" rel="noopener">informational advisory</a> for a third issue, CVE-2026-115560, with no patch yet. It needs an unusual serialize-handler configuration, and the mitigation is the same session upload progress setting.</p>
<p><strong>Who is exposed.</strong> Every client with a PHP web server: WordPress and other CMS sites, cPanel and Plesk hosts, intranet apps, and the PHP bundled inside appliances. NAS units matter most for MSPs. <a href="https://www.synology.com/en-global/security/advisory/Synology_SA_26_14" rel="noopener">Synology</a> shipped fixes on October 22 for its PHP packages, Calendar and Mail Station. <a href="https://www.qnap.com/en/security-advisory/qsa-26-18" rel="noopener">QNAP</a> released fixed QTS, QuTS hero and QuTScloud builds on October 24, but Note Station 3, QVR Surveillance on ARM32, QNE and TVR OS are still waiting.</p>
<p><strong>What to do.</strong></p>
<ul><li>Update to PHP 8.5.12, 8.4.27, 8.3.36 or 8.2.35. PHP 8.1 and older get no official release; use your distribution's backport or PHP's minimal source backports for 7.4, 8.0 and 8.1.</li><li>Where you cannot patch today, set <code>session.upload_progress.enabled=0</code> in php.ini or the FPM pool, and restart all workers. Do not rely on <code>ini_set()</code> or <code>.user.ini</code>.</li><li>Cap request size: <code>post_max_size</code> of 8M, or 32M where uploads are needed, with <code>upload_max_filesize</code> lower.</li><li>Update Synology packages through Package Center and QNAP firmware through Live Update. Keep QNAP units off the internet until the remaining apps are fixed.</li><li>Hunt for PHP workers spawning <code>sh</code>, <code>bash</code>, <code>curl</code>, <code>wget</code>, <code>python</code> or <code>nc</code>, new files in web roots, and unexpected cron jobs. Start the review at October 17, not the patch date.</li><li>PHP 8.2 reaches end of life on December 31, 2026. Plan the move now.</li></ul>
<h2 id="3-token-replay-campaign-against-microsoft-365-with-detections">3. Token replay campaign against Microsoft 365, with detections</h2>
<p><a href="https://www.huntress.com/blog/token-replay-spray" rel="noopener">Huntress</a> published a ten-week campaign on October 22 that combined adversary-in-the-middle phishing with token replay at volume. Between July 14 and September 22, 2026 it counted at least 497 successful sign-ins across 79 victim organizations, plus more than 200,000 failed attempts. Stolen sessions were replayed from hosting provider 1337 Services GmbH. The attacker registered at least 48 rogue Entra devices, and in 19 organizations wiped existing MFA methods and registered a new authenticator within three hours of the first sign-in.</p>
<p><strong>Who is exposed.</strong> Any tenant where Conditional Access has exceptions, and any tenant that still allows device code flow. MFA alone did not stop it, because the session was captured after MFA.</p>
<p><strong>What to do.</strong></p>
<ul><li>Require MFA or block for all users, all cloud apps and all client app types, with no exclusions.</li><li>Block device code flow with an authentication flows Conditional Access policy.</li><li>On suspected replay, revoke sessions and reset the password. A reset alone leaves tokens, rogue devices and attacker MFA methods in place.</li><li>Audit Entra devices named <code>DESKTOP-</code> plus eight hex characters, especially those registered from hosting IPs.</li><li>Audit MFA method changes for a clear followed by quick re-registration.</li><li>Review inbox rules with punctuation-only names or that move mail to RSS Feeds or Conversation History.</li><li>Treat error <code>53003 BlockedByConditionalAccess</code> as proof of a valid credential, since the block happens after authentication succeeds.</li></ul>
<div class="table-wrap"><table><thead><tr><th>Indicator</th><th>Value</th></tr></thead><tbody><tr><td>Replay hosts (AS210558)</td><td><code>193.26.115[.]221</code>, <code>193.26.115[.]199</code>, <code>193.26.115[.]16</code>, <code>193.26.115[.]21</code>, <code>193.26.115[.]72</code>, <code>193.26.115[.]210</code></td></tr><tr><td>Other replay addresses</td><td><code>124.198.132[.]33</code>, <code>45.83.31[.]44</code>, <code>192.159.99[.]172</code></td></tr><tr><td>AiTM relays</td><td><code>185.238.2[.]195</code>, <code>2400:8d60:2::1:841d:5dd</code></td></tr><tr><td>Mailbox action host</td><td><code>167.148.41[.]96</code></td></tr><tr><td>Client app IDs</td><td><code>d3590ed6-52b3-4102-aeff-aad2292ab01c</code> (Microsoft Office), <code>29d9ed98-a469-4536-ade2-f981bc1d605e</code> (Authentication Broker), <code>4765445b-32c6-49b0-83e6-1d93765276ca</code> (OfficeHome)</td></tr><tr><td>User agents</td><td><code>node</code>, bare <code>Mozilla/5.0</code></td></tr><tr><td>Device name pattern</td><td><code>DESKTOP-54521F46</code>, <code>DESKTOP-BAF88EF4</code>, <code>DESKTOP-CA85907C</code></td></tr><tr><td>Inbox rule names</td><td><code>.</code>, <code>sss</code>, <code>ss</code>, <code>iT</code>, <code>,.</code>, <code>........</code>, <code>s</code>, <code>d</code></td></tr></tbody></table></div>
<h2 id="4-ransomware-crews-are-using-the-may-globalprotect-bypass">4. Ransomware crews are using the May GlobalProtect bypass</h2>
<p>Palo Alto Networks fixed CVE-2026-0257, an authentication bypass in the GlobalProtect portal and gateway, in May 2026 (<a href="https://security.paloaltonetworks.com/CVE-2026-0257" rel="noopener">advisory</a>). On October 19, <a href="https://unit42.paloaltonetworks.com/active-exploitation-of-pan-os-cve-2026-0257/" rel="noopener">Unit 42</a> updated its threat brief to say ransomware operators, including Qilin and Inc, are exploiting it against unpatched firewalls. The flaw lets an unauthenticated attacker establish a VPN session, bypassing MFA.</p>
<p>Observed follow-on activity includes reconnaissance with dual-use RMM tools, lateral movement over RDP and SMB, and a pivot from the VPN gateway to vCenter to dump credentials from a domain controller's virtual disk, which avoids in-guest EDR.</p>
<p><strong>Who is exposed.</strong> Any client with a PAN-OS firewall running GlobalProtect on a build older than the fixed releases. Cloud NGFW and Panorama are not affected.</p>
<p><strong>What to do.</strong></p>
<ul><li>Upgrade to a fixed build: 10.2.18-h6, 11.1.15, 11.2.12, 12.1.7 or the listed hotfixes for your branch.</li><li>Until then, disable the Authentication Override cookie options on the portal and gateway, or use a dedicated certificate for them.</li><li>Hunt GlobalProtect logs for the IPs below and for client host names <code>WINDOWS-LAPTOP-001</code>, <code>DESKTOP-GP01</code> and <code>GP-CLIENT</code>. Treat a successful gateway connection from any of them as an incident.</li><li>Confirm the management interface is not reachable from outside on ports 4443 and 3879.</li></ul>
<div class="table-wrap"><table><thead><tr><th>Indicator</th><th>Value</th></tr></thead><tbody><tr><td>Source IPs</td><td><code>23.128.228[.]6</code>, <code>104.207.144[.]154</code>, <code>146.19.216[.]119</code>, <code>146.19.216[.]120</code>, <code>146.19.216[.]125</code>, <code>179.43.172[.]213</code>, <code>185.195.232[.]139</code>, <code>198.12.106[.]60</code>, <code>202.144.192[.]47</code></td></tr><tr><td>Client MACs</td><td><code>aa:bb:cc:dd:ee:ff</code>, <code>00:11:22:33:44:55</code></td></tr></tbody></table></div>
<h2 id="5-fortinet-shipped-critical-fixes-before-telling-anyone-what-they-fix">5. Fortinet shipped critical fixes before telling anyone what they fix</h2>
<p>Fortinet announced a security hardening release on October 21 and shipped the builds on October 22 (<a href="https://www.fortinet.com/blog/ciso-collective/fortinet-releases-security-hardening-release-for-multiple-products" rel="noopener">Fortinet announcement</a>). It says the release contains critical and high-severity fixes for FortiOS, FortiManager and FortiAnalyzer. CVE IDs and advisories will be published on November 10. Fortinet does not report exploitation, but it warns that patch diffing can expose unpatched devices before then.</p>
<p><strong>Who is exposed.</strong> Every FortiGate client, which for most MSPs is most of them. FortiMail and FortiAuthenticator fixes were released earlier.</p>
<p><strong>What to do.</strong></p>
<ul><li>FortiOS: 8.0.2, 7.6.8, 7.4.13 or 7.2.14. FortiManager and FortiAnalyzer: 8.0.2, 7.6.8, 7.4.12 or 7.2.13. Note the management products are one build number behind FortiOS on the 7.4 and 7.2 branches.</li><li>FortiOS 7.0 is not in the table. Plan a branch upgrade for anything still on it.</li><li>Patch internet-facing units first and back up configurations before upgrading.</li><li>If you cannot patch yet, restrict HTTPS and SSH admin access to trusted IPs or disable it on external interfaces, and keep FortiManager off the internet.</li></ul>
<h2 id="6-plex-media-server-chain-is-being-exploited-for-miners-and-proxies">6. Plex Media Server chain is being exploited for miners and proxies</h2>
<p>CISA added four Plex Media Server flaws to its Known Exploited Vulnerabilities catalog on October 20 (<a href="https://www.cisa.gov/news-events/alerts/2026/10/20/cisa-adds-six-known-exploited-vulnerabilities-catalog" rel="noopener">CISA alert</a>). Plex's <a href="https://forums.plex.tv/t/important-security-update-for-plex-media-server-v1-43-2-and-earlier/942319" rel="noopener">security notice</a>, updated October 19, says CVE-2026-96652, CVE-2026-96654, CVE-2026-96655 and CVE-2026-96656 chain into unauthenticated remote code execution. Plex reports active and widespread exploitation, with compromised servers running cryptocurrency miners and proxy software. A public proof of concept appeared on October 16.</p>
<p><strong>Who is exposed.</strong> Plex turns up on small-office NAS units, staff machines and the odd server a client set up for the break room. If it forwards port 32400 and is older than 1.43.3.10861, assume it is compromised.</p>
<p><strong>What to do.</strong></p>
<ul><li>Update to 1.43.3.10861 or later. The version string &quot;1.43.3&quot; is not enough; build 1.43.3.10828 is vulnerable.</li><li>Look for unexpected child processes of Plex Media Server, unfamiliar <code>.so</code> or <code>.dll</code> files in the Codecs folder, outbound connections to <code>proxystream.st</code>, and sustained CPU with nothing playing.</li><li>If you find anything, reinstall from a clean data directory, sign out all devices and change the Plex password. Treat shares and credentials the Plex account could reach as exposed.</li><li>Disable Remote Access if nobody needs it.</li></ul>
<h2 id="7-entra-sspr-will-reject-unregistered-phone-numbers-from-early-november">7. Entra SSPR will reject unregistered phone numbers from early November</h2>
<p>Microsoft message center notice MC1325414 says self-service password reset will accept only explicitly registered authentication methods (<a href="https://techcommunity.microsoft.com/blog/microsoft-entra-blog/microsoft-entra-id-security-updates-what-organizations-need-to-do-now/4522024" rel="noopener">Microsoft Entra blog</a>; <a href="https://mc.merill.net/message/MC1325414" rel="noopener">notice mirror</a>). Mobile, office phone and alternate email pulled from directory attributes will stop working for verification. The registration campaign began October 5. The notice's title gives November 9, 2026 for enforcement, while its rollout table says November 7. Plan for the earlier date.</p>
<p><strong>Who is exposed.</strong> Users whose only SSPR option is a phone number an admin typed into their profile. They will be locked out of self-service reset and will call you.</p>
<p><strong>What to do.</strong></p>
<ul><li>In the Entra admin center, open Authentication methods, then User registration details, and filter for users with no registered method.</li><li>Turn on the registration campaign so users are prompted at sign-in.</li><li>Make sure admins have a registered method too.</li><li>Brief the help desk on assisted registration for users who cannot self-register.</li></ul>
<h2 id="quick-hits">Quick hits</h2>
<p><strong>Arista VeloCloud Orchestrator.</strong> CISA added CVE-2026-114625 to its catalog on October 23 (<a href="https://www.cisa.gov/news-events/alerts/2026/10/23/cisa-adds-one-known-exploited-vulnerability-catalog" rel="noopener">CISA alert</a>). Arista's <a href="https://www.arista.com/en/support/advisories-notices/security-advisory/24838-security-advisory-0199" rel="noopener">advisory</a> rates the SQL injection 9.9 and says it is actively exploited; the lowest tenant role is enough. On-premises orchestrators need 5.2.3.18, 6.1.3.10 or 6.4.2.12. Arista lists <code>74.82.197.86</code> and <code>38.54.50.151</code> as malicious IPs. Hosted instances are already patched.</p>
<p><strong>Windows 11 24H2 Home and Pro stopped getting updates.</strong> Microsoft's lifecycle page lists the end date as October 14, 2026, and the October security update was the last (<a href="https://learn.microsoft.com/en-us/lifecycle/products/windows-11-home-and-pro" rel="noopener">Microsoft lifecycle</a>; <a href="https://www.bleepingcomputer.com/news/microsoft/microsoft-windows-11-24h2-home-and-pro-reached-end-of-support/" rel="noopener">reported by BleepingComputer</a>). There is no November patch for these editions. Move them to 25H2 or 26H2 before Patch Tuesday. Enterprise and Education on 24H2 are supported until October 12, 2027.</p>
<h2 id="sources">Sources</h2>
<ul><li><a href="https://www.connectwise.com/company/trust/advisories" rel="noopener">ConnectWise security advisories</a></li><li><a href="https://www.huntress.com/blog/vendor-credential-enables-unauthorized-access" rel="noopener">Huntress: ConnectWise (SkyKick) vendor credentials abused in M365 attacks</a></li><li><a href="https://www.microsoft.com/en-us/security/blog/2026/10/21/storm-0940-uses-artex-agentic-ai-connectwise-supply-chain-compromise/" rel="noopener">Microsoft: AI-driven nation-state campaign using ARTEX enables supply chain compromise</a></li><li><a href="https://www.php.net/archive/2026.php#2026-10-21-5" rel="noopener">PHP: critical remote code execution vulnerabilities, October 21, 2026</a></li><li><a href="https://www.php.net/archive/2026.php#2026-10-23-1" rel="noopener">PHP: informational advisory on session upload progress, October 23, 2026</a></li><li><a href="https://watchtowr.com/intelligence/php-remote-code-execution-php2shell/" rel="noopener">watchTowr: PHP2Shell</a></li><li><a href="https://www.huntress.com/blog/php2shell-leaked-critical-php-vulnerabilities" rel="noopener">Huntress: php2shell rapid response</a></li><li><a href="https://www.synology.com/en-global/security/advisory/Synology_SA_26_14" rel="noopener">Synology-SA-26:14 PHP2Shell</a></li><li><a href="https://www.qnap.com/en/security-advisory/qsa-26-18" rel="noopener">QNAP QSA-26-18 PHP2Shell</a></li><li><a href="https://www.huntress.com/blog/token-replay-spray" rel="noopener">Huntress: M365 token spray and replay campaign</a></li><li><a href="https://security.paloaltonetworks.com/CVE-2026-0257" rel="noopener">Palo Alto Networks advisory CVE-2026-0257</a></li><li><a href="https://unit42.paloaltonetworks.com/active-exploitation-of-pan-os-cve-2026-0257/" rel="noopener">Unit 42 threat brief on CVE-2026-0257</a></li><li><a href="https://www.fortinet.com/blog/ciso-collective/fortinet-releases-security-hardening-release-for-multiple-products" rel="noopener">Fortinet security hardening release</a></li><li><a href="https://www.cisa.gov/news-events/alerts/2026/10/20/cisa-adds-six-known-exploited-vulnerabilities-catalog" rel="noopener">CISA: six known exploited vulnerabilities added, October 20, 2026</a></li><li><a href="https://www.cisa.gov/news-events/alerts/2026/10/23/cisa-adds-one-known-exploited-vulnerability-catalog" rel="noopener">CISA: one known exploited vulnerability added, October 23, 2026</a></li><li><a href="https://forums.plex.tv/t/important-security-update-for-plex-media-server-v1-43-2-and-earlier/942319" rel="noopener">Plex security update notice</a></li><li><a href="https://www.arista.com/en/support/advisories-notices/security-advisory/24838-security-advisory-0199" rel="noopener">Arista Security Advisory 0199</a></li><li><a href="https://techcommunity.microsoft.com/blog/microsoft-entra-blog/microsoft-entra-id-security-updates-what-organizations-need-to-do-now/4522024" rel="noopener">Microsoft Entra blog: security updates organizations need to act on</a></li><li><a href="https://mc.merill.net/message/MC1325414" rel="noopener">Message center notice MC1325414 (mirror)</a></li><li><a href="https://learn.microsoft.com/en-us/lifecycle/products/windows-11-home-and-pro" rel="noopener">Microsoft lifecycle: Windows 11 Home and Pro</a></li></ul></div>
  <div class="wrap narrow chip-row post-tags"><span class="chip-outline">threat-briefing</span><span class="chip-outline">managed-it</span></div>
</article>
]]></content:encoded>
</item>
<item>
<title>Watching every UniFi site from one screen</title>
<link>https://lnxinc.com/news/unifi-site-manager-monitoring/</link>
<guid isPermaLink="true">https://lnxinc.com/news/unifi-site-manager-monitoring/</guid>
<pubDate>Sun, 18 Oct 2026 12:00:00 GMT</pubDate>
<description>LNX Monitor reads UniFi Site Manager every minute and opens an incident when a site drops or loses internet. It is free to run for your own clients.</description>
<category>open-source</category><category>managed-it</category>
<content:encoded><![CDATA[
<article class="post">
  <header class="page-hero">
    <div class="wrap narrow">
      <nav class="crumbs" aria-label="Breadcrumb"><ol><li><a href="/">Home</a></li><li class="sep" aria-hidden="true">/</li><li><a href="/news/">News</a></li><li class="sep" aria-hidden="true">/</li><li aria-current="page">Watching every UniFi site from one screen</li></ol></nav>
      <p class="tag-mono"><time datetime="2026-10-18">October 18, 2026</time> · 2 min read · LNX Inc.</p>
      <h1>Watching every UniFi site from one screen</h1>
      <p class="hero-body">LNX Monitor reads UniFi Site Manager every minute and opens an incident when a site drops or loses internet. It is free to run for your own clients.</p>
    </div>
  </header>
  <div class="wrap narrow post-media"><picture class="media h410"><source type="image/avif" srcset="/img/rack-480.avif 480w, /img/rack-800.avif 800w, /img/rack-1200.avif 1200w" sizes="(min-width: 800px) 760px, 100vw"><source type="image/webp" srcset="/img/rack-480.webp 480w, /img/rack-800.webp 800w, /img/rack-1200.webp 1200w" sizes="(min-width: 800px) 760px, 100vw"><img src="/img/rack-1200.jpg" srcset="/img/rack-480.jpg 480w, /img/rack-800.jpg 800w, /img/rack-1200.jpg 1200w" sizes="(min-width: 800px) 760px, 100vw" width="1200" height="800" alt="A technician on a ladder terminating blue network cables into a patch panel above two network switches in a rack" fetchpriority="high" decoding="async"></picture></div>
  <div class="wrap narrow prose"><p>LNX Monitor, the tool our NOC runs on, now watches UniFi networks through UniFi Site Manager. When a client's site goes offline or loses its internet connection, we have an incident open within about a minute.</p>
<h2 id="what-unifi-site-manager-is">What UniFi Site Manager is</h2>
<p>UniFi Site Manager is Ubiquiti's cloud portal for UniFi networks. Every UniFi console an organization owns, whether a gateway, a Cloud Key, or a Dream Machine, shows up there with its status, and Site Manager has an API that other software can read.</p>
<p>That makes it the natural place to watch from. The portal shows you the state of each site. What it does not do is decide who needs to know, keep a record of each outage, or stay quiet during planned work. LNX Monitor handles that part.</p>
<h2 id="what-lnx-monitor-does-with-it">What LNX Monitor does with it</h2>
<p>Give LNX Monitor a Site Manager API key and it does the rest on a schedule:</p>
<ul><li><strong>Syncs every console once a minute.</strong> Each one becomes a device in LNX Monitor, grouped by organization, with its online state and when it was last seen.</li><li><strong>Opens an incident when something is wrong.</strong> A console that goes offline opens a high-severity incident. A console that is online but reports an internet problem opens a medium one.</li><li><strong>Opens one incident, not fifty.</strong> If a site already has an open incident, the next sync does not open another. Notifications are de-duplicated and rate-limited, so a flapping connection does not bury the on-call phone.</li><li><strong>Sends alerts where the team works.</strong> Email, Slack, or any webhook.</li><li><strong>Respects maintenance windows.</strong> Planned firmware updates and cutovers do not page anyone.</li></ul>
<p>Site Manager covers the network itself. The same tool also checks the things around it on a schedule: websites, servers by ping and port, SSL certificates before they expire, and SIP trunks for phone systems. Public status pages can show a client what is up without giving them a login.</p>
<h2 id="why-we-built-it">Why we built it</h2>
<p>We needed to know a client site was down before the client did, across dozens of UniFi networks, without paying per-monitor pricing for a hosted service. So we built the tool we wanted, and we run our own <a href="/services/managed-it/">managed IT</a> monitoring on it.</p>
<p>For a client, the difference is simple. A store that loses its internet connection overnight has an incident open and someone on it, instead of a phone call at opening. An office whose gateway drops at lunch is already flagged before the first complaint.</p>
<h2 id="running-it-yourself">Running it yourself</h2>
<p>LNX Monitor is published on <a href="https://github.com/lnxinc/monitor" rel="noopener">GitHub</a> and listed on our <a href="/open-source/">open-source page</a>. It runs as a single Docker image with MySQL and Redis alongside, and starts with three commands. The license is source-available: free to use and host for your own organization or your own clients, not to resell as a product or a hosted service.</p>
<p>If you are an IT team or a managed service provider with UniFi sites to watch, the repository has everything you need. If you run a business on UniFi and would rather someone else watched it, <a href="/contact/">call us</a>. We can watch it for you as part of <a href="/services/managed-it/">managed IT</a>.</p></div>
  <div class="wrap narrow chip-row post-tags"><span class="chip-outline">open-source</span><span class="chip-outline">managed-it</span></div>
</article>
]]></content:encoded>
</item>
<item>
<title>Introducing Detecto, on-premises AI video detection</title>
<link>https://lnxinc.com/news/introducing-detecto/</link>
<guid isPermaLink="true">https://lnxinc.com/news/introducing-detecto/</guid>
<pubDate>Sat, 17 Oct 2026 12:00:00 GMT</pubDate>
<description>Detecto runs AI detection on your existing IP cameras from one on-site GPU server. Free for schools and non-profits; LNX can deploy it.</description>
<category>company</category><category>ai-automation</category><category>low-voltage</category>
<content:encoded><![CDATA[
<article class="post">
  <header class="page-hero">
    <div class="wrap narrow">
      <nav class="crumbs" aria-label="Breadcrumb"><ol><li><a href="/">Home</a></li><li class="sep" aria-hidden="true">/</li><li><a href="/news/">News</a></li><li class="sep" aria-hidden="true">/</li><li aria-current="page">Introducing Detecto, on-premises AI video detection</li></ol></nav>
      <p class="tag-mono"><time datetime="2026-10-17">October 17, 2026</time> · 3 min read · LNX Inc.</p>
      <h1>Introducing Detecto, on-premises AI video detection</h1>
      <p class="hero-body">Detecto runs AI detection on your existing IP cameras from one on-site GPU server. Free for schools and non-profits; LNX can deploy it.</p>
    </div>
  </header>
  <div class="wrap narrow post-media"><picture class="media h410"><source type="image/avif" srcset="/img/cameras-480.avif 480w, /img/cameras-800.avif 800w, /img/cameras-1200.avif 1200w" sizes="(min-width: 800px) 760px, 100vw"><source type="image/webp" srcset="/img/cameras-480.webp 480w, /img/cameras-800.webp 800w, /img/cameras-1200.webp 1200w" sizes="(min-width: 800px) 760px, 100vw"><img src="/img/cameras-1200.jpg" srcset="/img/cameras-480.jpg 480w, /img/cameras-800.jpg 800w, /img/cameras-1200.jpg 1200w" sizes="(min-width: 800px) 760px, 100vw" width="1200" height="800" alt="An installer on a ladder mounting a white dome security camera to an office hallway ceiling" fetchpriority="high" decoding="async"></picture></div>
  <div class="wrap narrow prose"><p>LNX Inc. has built Detecto, a real-time video surveillance system that adds AI detection to the IP cameras a site already has. It runs on a single server on the premises, and video does not leave the site. Schools, colleges, universities, and non-profit organisations can use it free of charge, and LNX can deploy it for any organisation that wants help.</p>
<h2 id="what-detecto-does">What Detecto does</h2>
<p>Detecto connects to existing IP cameras. It finds ONVIF cameras on the network automatically and can scan IP ranges for RTSP streams, so most sites do not need new cameras to start.</p>
<p>Live video streams to a browser dashboard over WebRTC or MSE. On the same server, YOLO models run on an NVIDIA GPU with TensorRT and look for:</p>
<ul><li><strong>People, vehicles, and animals.</strong></li><li><strong>Weapons:</strong> guns and knives.</li><li><strong>Fire.</strong></li><li><strong>Behaviour from pose analysis:</strong> falls, fighting, arms raised, and crouching.</li><li><strong>Motion.</strong></li></ul>
<p>Detections are drawn as overlays on the live video. Each event is recorded with its history, and the event list can be filtered by severity. Every camera can have its own motion masks and zones, so a busy street at the edge of the frame does not raise alerts all day.</p>
<h2 id="automations">Automations</h2>
<p>Detecto includes rules in an &quot;if this, then that&quot; style. A rule has a trigger, optional conditions, and one or more actions.</p>
<ul><li><strong>Triggers</strong> include a gun detected, a person detected, a camera going offline, and no motion for a period.</li><li><strong>Conditions</strong> narrow a trigger by time window, camera, zone, duration, confidence, and count.</li><li><strong>Actions</strong> include a browser notification, a webhook, a Slack message, an email, and recording a clip.</li></ul>
<p>Templates for common rules are included, so a new rule can start from a template rather than a blank form. For example, a rule can say: when a person is detected in a chosen zone outside opening hours, email the facilities manager.</p>
<h2 id="where-it-runs">Where it runs</h2>
<p>Detecto runs fully on-premises on one Ubuntu server with an NVIDIA RTX GPU. Cameras, video, detections, and event history stay on that server. Nothing is sent to a cloud service unless you configure an action, such as a webhook or an email, to send it.</p>
<h2 id="what-it-is-not">What it is not</h2>
<p>Detecto is an aid to the people who watch the cameras, not a replacement for them. Models miss things and flag things that are not there. Detecto helps staff notice events sooner and find them faster afterwards. Decisions about what an alert means, and what to do about it, stay with people.</p>
<h2 id="licensing">Licensing</h2>
<ul><li><strong>Free for education and non-profits.</strong> Schools, colleges, universities, non-profit and charitable organisations, public research institutions, and government bodies can use Detecto at no cost under the <a href="https://polyformproject.org/licenses/noncommercial/1.0.0/" rel="noopener">PolyForm Noncommercial License 1.0.0</a>.</li><li><strong>Commercial license for businesses.</strong> Companies using Detecto in a commercial setting need a commercial license from LNX.</li></ul>
<h2 id="how-lnx-can-help">How LNX can help</h2>
<p>Software is one part of a camera system. LNX can deploy Detecto end to end:</p>
<ul><li>A site survey of your cameras, network, and coverage.</li><li>Camera integration, including the cameras you already have.</li><li>Supply and installation of the GPU server.</li><li>Configuring detection, zones, and alert rules for how your site actually runs.</li><li>Training the staff who will use the dashboard and respond to alerts.</li><li>Ongoing support.</li></ul>
<p>This builds on our <a href="/services/low-voltage/">low-voltage and camera work</a> and our <a href="/services/ai-automation/">AI &amp; Automation</a> practice.</p>
<p>If you are a school or a <a href="/industries/nonprofit/">non-profit</a>, the software is free, and we can help you deploy it. If you are a business, we can quote the license and the installation together. Either way, tell us about your site on the <a href="/contact/">contact page</a>.</p></div>
  <div class="wrap narrow chip-row post-tags"><span class="chip-outline">company</span><span class="chip-outline">ai-automation</span><span class="chip-outline">low-voltage</span></div>
</article>
]]></content:encoded>
</item>
</channel>
</rss>
