<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Windows Security on ZX Cloud Security</title><link>https://zxcloudsecurity.co.uk/tags/windows-security/</link><description>Recent content in Windows Security on ZX Cloud Security</description><generator>Hugo</generator><language>en-GB</language><lastBuildDate>Sun, 21 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://zxcloudsecurity.co.uk/tags/windows-security/index.xml" rel="self" type="application/rss+xml"/><item><title>Recent Cloud Security CVEs: What AWS Architects Need to Act On Right Now</title><link>https://zxcloudsecurity.co.uk/guides/recent-cloud-security-cves/</link><pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate><guid>https://zxcloudsecurity.co.uk/guides/recent-cloud-security-cves/</guid><description>A practitioner&amp;#39;s breakdown of recent cloud security CVEs in 2026, covering wormable Windows flaws, Defender exploits, and how to respond in AWS environments.</description><content:encoded><![CDATA[<h1 id="recent-cloud-security-cves-what-aws-architects-need-to-act-on-right-now">Recent cloud security CVEs: what AWS architects need to act on right now</h1>
<p>If you run Windows workloads on EC2, hybrid environments bridging on-premises Windows Server to AWS, or multi-tenant platforms where Windows-based tooling touches your cloud management plane, the crop of recent cloud security CVEs disclosed in mid-2026 should be sitting at the top of your risk register right now, not buried in a monthly patching ticket.</p>
<p>Microsoft&rsquo;s June 2026 Patch Tuesday released fixes for 208 CVEs across Windows, Windows components, Office, Azure, .NET, Visual Studio, GitHub Copilot, Defender, Exchange Server, Hyper-V, Secure Boot, and BitLocker. That is not a routine update cycle. It is a structural signal about where the threat surface is moving.</p>
<p>This guide covers the highest-priority vulnerabilities from the April to June 2026 window, explains what they mean for cloud security architects running AWS infrastructure, and gives you the tooling patterns and code to operationalise your response.</p>
<!-- INTERNAL_LINK: AWS shared responsibility model explained | aws-shared-responsibility-model -->
<hr>
<h2 id="the-2026-vulnerability-landscape-at-a-glance">The 2026 vulnerability landscape at a glance</h2>
<p>Before drilling into specific CVEs, it helps to understand the macro trend. In 2026 there have been 404 Microsoft vulnerabilities with an average CVSS score of 7.2. The raw count is actually lower than 2025, but the severity profile is worse. The number of critical vulnerabilities doubled year over year, from 78 to 157, and Microsoft Azure and Dynamics 365 experienced a nine-times rise in critical vulnerabilities, from 4 to 37.</p>
<p>Read that last number again. Azure-native critical CVEs are no longer a footnote in a threat briefing. They are a primary risk category for cloud architects.</p>
<p>It is worth noting what CVEs do not capture: identity misconfigurations, over-privileged machine accounts, and AI agents with unconstrained access do not get CVE identifiers, but they carry the same critical consequences. The vulnerabilities below are the ones that do carry identifiers, and they are severe enough that patching delays have real consequences for your AWS estate.</p>
<hr>
<h2 id="cve-2026-45657-the-wormable-windows-kernel-flaw">CVE-2026-45657: the wormable Windows kernel flaw</h2>
<p>This is the headline vulnerability of 2026 so far, and it directly affects EC2 instances running Windows Server.</p>
<p>CVE-2026-45657 is a use-after-free flaw in the Windows Kernel with a CVSS base score of 9.8. Microsoft confirmed that an attacker can exploit it by sending specially crafted network traffic to a vulnerable Windows system. What makes it particularly dangerous is the combination of characteristics: no authentication required, no user interaction required, network-reachable via specially crafted TCP/IP packets, and SYSTEM-level code execution if exploitation succeeds.</p>
<p>Security researchers at the Zero Day Initiative have confirmed this flaw&rsquo;s characteristics allow it to self-propagate across networks, with a profile similar to EternalBlue, the vulnerability behind WannaCry. That comparison carries genuine weight. In May 2017, a wormable Windows flaw allowed the WannaCry ransomware to spread to more than 200,000 systems across 150 countries, even though Microsoft had issued a patch two months earlier. Organisations that delayed deploying that patch paid the price.</p>
<p>Affected platforms include Windows 11 versions 23H2 through 26H1 and Windows Server 2022 and 2025, including Server Core installations. If you have EC2 instances in this range without the June 2026 cumulative update applied and rebooted, you have an unmitigated wormable RCE on a network-accessible host.</p>
<h3 id="aws-specific-response">AWS-specific response</h3>
<p>The AWS Shared Responsibility Model is unambiguous here: AWS secures the hypervisor; you own the guest OS. Use AWS Systems Manager Patch Manager to enforce patching at scale. The SSM document below creates a baseline patch policy targeting Windows Server 2022 and 2025 instances:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;CriticalWindowsPatchBaseline-June2026&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;operatingSystem&#34;</span><span class="p">:</span> <span class="s2">&#34;WINDOWS&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;approvalRules&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;patchRules&#34;</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl">      <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;patchFilterGroup&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;patchFilters&#34;</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl">            <span class="p">{</span>
</span></span><span class="line"><span class="cl">              <span class="nt">&#34;key&#34;</span><span class="p">:</span> <span class="s2">&#34;CLASSIFICATION&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">              <span class="nt">&#34;values&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;CriticalUpdates&#34;</span><span class="p">,</span> <span class="s2">&#34;SecurityUpdates&#34;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">            <span class="p">},</span>
</span></span><span class="line"><span class="cl">            <span class="p">{</span>
</span></span><span class="line"><span class="cl">              <span class="nt">&#34;key&#34;</span><span class="p">:</span> <span class="s2">&#34;MSRC_SEVERITY&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">              <span class="nt">&#34;values&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;Critical&#34;</span><span class="p">,</span> <span class="s2">&#34;Important&#34;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">            <span class="p">}</span>
</span></span><span class="line"><span class="cl">          <span class="p">]</span>
</span></span><span class="line"><span class="cl">        <span class="p">},</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;approveAfterDays&#34;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;complianceLevel&#34;</span><span class="p">:</span> <span class="s2">&#34;CRITICAL&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;enableNonSecurity&#34;</span><span class="p">:</span> <span class="kc">false</span>
</span></span><span class="line"><span class="cl">      <span class="p">}</span>
</span></span><span class="line"><span class="cl">    <span class="p">]</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;description&#34;</span><span class="p">:</span> <span class="s2">&#34;Zero-day approval for Critical/Important patches. Targets CVE-2026-45657 class flaws.&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;tags&#34;</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl">    <span class="p">{</span> <span class="nt">&#34;Key&#34;</span><span class="p">:</span> <span class="s2">&#34;ManagedBy&#34;</span><span class="p">,</span> <span class="nt">&#34;Value&#34;</span><span class="p">:</span> <span class="s2">&#34;SecurityTeam&#34;</span> <span class="p">},</span>
</span></span><span class="line"><span class="cl">    <span class="p">{</span> <span class="nt">&#34;Key&#34;</span><span class="p">:</span> <span class="s2">&#34;PatchUrgency&#34;</span><span class="p">,</span> <span class="nt">&#34;Value&#34;</span><span class="p">:</span> <span class="s2">&#34;Critical&#34;</span> <span class="p">}</span>
</span></span><span class="line"><span class="cl">  <span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div><p>Set <code>approveAfterDays</code> to <code>0</code> for Critical severity patches during an active wormable CVE window. Accept the change management overhead. The alternative is a WannaCry-class event on your cloud estate.</p>
<!-- INTERNAL_LINK: AWS Systems Manager Patch Manager guide | aws-ssm-patch-manager -->
<hr>
<h2 id="cve-2026-41091-and-cve-2026-45498-actively-exploited-microsoft-defender-flaws">CVE-2026-41091 and CVE-2026-45498: actively exploited Microsoft Defender flaws</h2>
<p>These two are confirmed in-the-wild. They are not theoretical risks. CISA has added both to its Known Exploited Vulnerabilities catalogue.</p>
<p>CVE-2026-41091 scores 7.8 on CVSS. Microsoft describes it as improper link resolution before file access in Microsoft Defender, allowing an authorised attacker to elevate privileges locally to SYSTEM level. CVE-2026-45498 is a denial-of-service bug affecting Defender, rated 4.0. Used together, an attacker can blind your endpoint protection with the DoS flaw before escalating privileges through the first. Chaining a DoS against your AV with a local privilege escalation is a classic attacker pattern, and here you have both primitives confirmed exploited in production environments.</p>
<p>Both vulnerabilities are addressed in Microsoft Defender Antimalware Platform versions 1.1.26040.8 and 4.18.26040.7. For most enterprise deployments, automatic updates will handle this, but the critical word is &ldquo;most.&rdquo; EC2 instances in isolated subnets, air-gapped environments, or Windows AMIs that haven&rsquo;t been refreshed in weeks will not have received automatic updates. Verify rather than assume.</p>
<!-- INTERNAL_LINK: Securing Windows EC2 instances on AWS | securing-windows-ec2-aws -->
<hr>
<h2 id="cve-2026-42897-exchange-server-xss-actively-exploited">CVE-2026-42897: Exchange Server XSS actively exploited</h2>
<p>If your estate includes on-premises Exchange Server, which is still common in UK financial services where legacy mail infrastructure persists well past its natural lifespan, this one needs immediate attention.</p>
<p>CVE-2026-42897 is a cross-site scripting flaw in Exchange Outlook Web Access, rated CVSS 8.1, and it has been weaponised in real-world attacks. An attacker sends a specially crafted email; if the recipient opens it in OWA and certain interaction conditions are met, arbitrary JavaScript executes in the browser context. The June 2026 security update addresses this. Exchange Online is not affected. If you are in a hybrid migration state, this is a reasonable prompt to accelerate the transition.</p>
<hr>
<h2 id="cve-2026-41103-sso-plugin-for-jira-and-confluence-elevation-of-privilege">CVE-2026-41103: SSO plugin for Jira and Confluence elevation of privilege</h2>
<p>This one is particularly relevant to cloud security architects because it sits at the intersection of developer tooling and identity, a combination that rarely gets patched quickly.</p>
<p>CVE-2026-41103 is a Critical-severity elevation of privilege flaw caused by incorrect implementation of an authentication algorithm (CWE-303). It permits an attacker to bypass authentication and sign in as a valid user.</p>
<p>If your engineering organisation uses Jira and Confluence, and those tools are federated into AWS IAM Identity Centre or Azure AD via SSO, a bypass here can pivot directly into your cloud management plane. That is not a Jira problem. That is an AWS access problem.</p>
<!-- INTERNAL_LINK: AWS IAM Identity Centre federation guide | aws-iam-identity-centre-federation -->
<hr>
<h2 id="operationalising-cve-response-in-aws-beyond-patch-manager">Operationalising CVE response in AWS: beyond Patch Manager</h2>
<p>Patching is necessary but not sufficient. For each CVE wave like this one, you need detective controls that can tell you whether a vulnerability has been exploited before you have finished patching, because your patching SLA is measured in hours to days and exploitation can happen in minutes.</p>
<p>Amazon Inspector continuously scans EC2 workloads for software vulnerabilities and maps CVE identifiers directly to installed packages and OS versions. AWS Security Hub aggregates Inspector findings alongside GuardDuty threat detections, letting you correlate a vulnerable unpatched instance with suspicious network activity on the same host. When those two signals appear together, you need automated response, not an alert waiting in a queue.</p>
<p>The workflow I recommend for critical CVE windows:</p>
<ol>
<li>Amazon Inspector identifies which EC2 instances are vulnerable to specific CVEs</li>
<li>AWS Security Hub correlates Inspector findings with GuardDuty threat detections against the same instance</li>
<li>EventBridge and Lambda automate first response: isolate the instance by replacing its security groups with a quarantine SG if GuardDuty fires on a vulnerable host</li>
</ol>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">boto3</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">json</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">lambda_handler</span><span class="p">(</span><span class="n">event</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;
</span></span></span><span class="line"><span class="cl"><span class="s2">    Triggered by EventBridge rule on GuardDuty HIGH/CRITICAL findings.
</span></span></span><span class="line"><span class="cl"><span class="s2">    Isolates the affected EC2 instance by replacing its security groups
</span></span></span><span class="line"><span class="cl"><span class="s2">    with a quarantine SG that permits no inbound/outbound traffic.
</span></span></span><span class="line"><span class="cl"><span class="s2">    &#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="n">ec2</span> <span class="o">=</span> <span class="n">boto3</span><span class="o">.</span><span class="n">client</span><span class="p">(</span><span class="s1">&#39;ec2&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">guardduty_finding</span> <span class="o">=</span> <span class="n">event</span><span class="p">[</span><span class="s1">&#39;detail&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="n">instance_id</span> <span class="o">=</span> <span class="p">(</span>
</span></span><span class="line"><span class="cl">        <span class="n">guardduty_finding</span>
</span></span><span class="line"><span class="cl">        <span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;resource&#39;</span><span class="p">,</span> <span class="p">{})</span>
</span></span><span class="line"><span class="cl">        <span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;instanceDetails&#39;</span><span class="p">,</span> <span class="p">{})</span>
</span></span><span class="line"><span class="cl">        <span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;instanceId&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="ow">not</span> <span class="n">instance_id</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;No EC2 instance ID in finding. Skipping.&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="n">quarantine_sg_id</span> <span class="o">=</span> <span class="s1">&#39;sg-0QUARANTINE000000&#39;</span>  <span class="c1"># Pre-created SG: deny all</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># Replace all security groups with quarantine SG</span>
</span></span><span class="line"><span class="cl">    <span class="n">ec2</span><span class="o">.</span><span class="n">modify_instance_attribute</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">        <span class="n">InstanceId</span><span class="o">=</span><span class="n">instance_id</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="n">Groups</span><span class="o">=</span><span class="p">[</span><span class="n">quarantine_sg_id</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&#34;Instance </span><span class="si">{</span><span class="n">instance_id</span><span class="si">}</span><span class="s2"> quarantined. GuardDuty finding: &#34;</span>
</span></span><span class="line"><span class="cl">          <span class="sa">f</span><span class="s2">&#34;</span><span class="si">{</span><span class="n">guardduty_finding</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;type&#39;</span><span class="p">,</span> <span class="s1">&#39;Unknown&#39;</span><span class="p">)</span><span class="si">}</span><span class="s2">&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># Tag for incident tracking</span>
</span></span><span class="line"><span class="cl">    <span class="n">ec2</span><span class="o">.</span><span class="n">create_tags</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">        <span class="n">Resources</span><span class="o">=</span><span class="p">[</span><span class="n">instance_id</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">        <span class="n">Tags</span><span class="o">=</span><span class="p">[</span>
</span></span><span class="line"><span class="cl">            <span class="p">{</span><span class="s1">&#39;Key&#39;</span><span class="p">:</span> <span class="s1">&#39;SecurityStatus&#39;</span><span class="p">,</span> <span class="s1">&#39;Value&#39;</span><span class="p">:</span> <span class="s1">&#39;QUARANTINED&#39;</span><span class="p">},</span>
</span></span><span class="line"><span class="cl">            <span class="p">{</span><span class="s1">&#39;Key&#39;</span><span class="p">:</span> <span class="s1">&#39;IncidentId&#39;</span><span class="p">,</span> <span class="s1">&#39;Value&#39;</span><span class="p">:</span> <span class="n">guardduty_finding</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;id&#39;</span><span class="p">,</span> <span class="s1">&#39;unknown&#39;</span><span class="p">)}</span>
</span></span><span class="line"><span class="cl">        <span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="p">)</span>
</span></span></code></pre></div><p>This is not a substitute for a proper IR runbook, but it removes a compromised host from the network without waiting for a human to notice a GuardDuty alert at 3am. For wormable-class flaws, that timing difference matters.</p>
<!-- INTERNAL_LINK: GuardDuty automated response patterns | guardduty-automated-response -->
<hr>
<h2 id="common-pitfalls-when-responding-to-high-volume-cve-releases">Common pitfalls when responding to high-volume CVE releases</h2>
<p>The June 2026 Patch Tuesday is a useful stress test of patching maturity. Here is where teams consistently go wrong.</p>
<h3 id="1-treating-cvss-score-as-the-only-prioritisation-signal">1. Treating CVSS score as the only prioritisation signal</h3>
<p>A CVSS 9.8 score on a flaw requiring physical access to exploit (CVE-2026-45585, the BitLocker bypass) is categorically different to a CVSS 9.8 flaw that is network-accessible and unauthenticated (CVE-2026-45657). Teams that sort by CVSS and work downwards miss this distinction entirely. Use Microsoft&rsquo;s Exploitability Index and the CISA Known Exploited Vulnerabilities catalogue as primary triage signals. Use CVSS as a secondary filter.</p>
<h3 id="2-conflating-update-deployed-with-update-applied">2. Conflating &ldquo;update deployed&rdquo; with &ldquo;update applied&rdquo;</h3>
<p>Many Windows shops still confuse &ldquo;update offered&rdquo; with &ldquo;update installed,&rdquo; and &ldquo;installed&rdquo; with &ldquo;rebooted into the fixed build.&rdquo; Kernel fixes require a reboot to take effect. An SSM run command that reports &ldquo;patch applied&rdquo; on an EC2 instance that has not rebooted is reporting an incomplete state. Build reboot confirmation into your patch compliance verification queries.</p>
<h3 id="3-ignoring-defender-auto-update-in-isolated-environments">3. Ignoring Defender auto-update in isolated environments</h3>
<p>EC2 instances in private subnets without Systems Manager endpoints configured, or instances in AWS GovCloud with restricted egress, will not receive automatic Defender definition updates. Verify your connectivity assumptions rather than relying on the default auto-update behaviour.</p>
<h3 id="4-treating-cve-response-as-a-one-team-problem">4. Treating CVE response as a one-team problem</h3>
<p>Under GDPR and FCA operational resilience requirements, a significant exploitation event on your cloud estate is not just a technical incident. It is a notifiable event with defined timelines. Your security team cannot be the only function that knows CVE-2026-45657 is wormable. Legal, compliance, and communications need visibility before exploitation occurs, not during.</p>
<h3 id="5-deferring-patches-because-of-exploitation-less-likely-designations">5. Deferring patches because of &ldquo;exploitation less likely&rdquo; designations</h3>
<p>Microsoft&rsquo;s Exploitability Index reflects the probability of functional exploit code being developed within 30 days of disclosure. &ldquo;Less Likely&rdquo; still means exploitation is possible, particularly for high-CVSS flaws attracting intense researcher attention. Multiple security researchers have assessed the window between CVE-2026-45657&rsquo;s patch release and a reliable public exploit as days rather than weeks. &ldquo;Less Likely&rdquo; is not the same as &ldquo;will not happen.&rdquo;</p>
<hr>
<h2 id="ncsc-guidance-alignment">NCSC guidance alignment</h2>
<p>The NCSC&rsquo;s vulnerability management guidance is explicit: prioritise patching based on exploitability and network reachability, not just vendor severity ratings. All three wormable-class CVEs in June 2026 (CVE-2026-45657, CVE-2026-47291, CVE-2026-44815) meet NCSC&rsquo;s threshold for immediate action: unauthenticated, network-reachable, with SYSTEM-level impact. The NCSC&rsquo;s 14-day patching target for internet-facing systems is the outer boundary for these flaws, not the target.</p>
<p>For FCA-regulated firms, the operational resilience framework introduced in 2022 creates explicit obligations around tolerances for disruption to important business services. A wormable kernel flaw sitting unpatched on an EC2 instance running your trading middleware is not a patching backlog item. It is an operational resilience risk that your Chief Risk Officer should know about.</p>
<hr>
<h2 id="key-takeaways">Key takeaways</h2>
<p>CVE-2026-45657 is the highest priority item in 2026 so far. A wormable, unauthenticated, CVSS 9.8 Windows Kernel RCE affecting Windows Server 2022 and 2025. Deploy the June 2026 cumulative update and reboot. Verify the running build number, not just deployment status.</p>
<p>CVE-2026-41091 and CVE-2026-45498 are confirmed exploited in the wild. If your EC2 instances or on-premises servers rely on Microsoft Defender and are not on auto-update, push Defender Antimalware Platform 1.1.26040.8 and 4.18.26040.7 manually via SSM.</p>
<p>Monitoring CVEs with CVSS alone is insufficient. Cross-reference Microsoft&rsquo;s Exploitability Index and the CISA KEV catalogue. Wormable characteristics and active exploitation are the signals that should collapse your patching SLA to hours.</p>
<p>Amazon Inspector combined with AWS Security Hub is your minimum viable detection stack. Security Hub correlates Inspector vulnerability findings with GuardDuty threat detections in near real-time. Use that correlation rather than treating each service&rsquo;s findings in isolation.</p>
<p>Automate quarantine, not just alerting. The Lambda and EventBridge pattern above removes a compromised host from network reach without waiting for human triage. For wormable-class flaws, automated containment is the difference between one affected instance and fifty.</p>
<p>UK regulatory obligations apply. NCSC guidance, FCA operational resilience rules, and GDPR&rsquo;s 72-hour breach notification window all have implications when a CVE of this severity is in active exploitation. Get legal and compliance visibility before an incident occurs, not during one.</p>
]]></content:encoded></item></channel></rss>