@blamejs/exceptd-skills 0.19.22 → 0.19.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -43907,7 +43907,40 @@
43907
43907
  "adequate": false,
43908
43908
  "gap": "Least-privilege wasn't enforced in the documented intrusion — an over-privileged (domain admin) service account reached the vulnerable Site-Owner-level endpoint."
43909
43909
  }
43910
- }
43910
+ },
43911
+ "new_control_requirements": [
43912
+ {
43913
+ "id": "NEW-CTRL-032",
43914
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
43915
+ "description": "For on-premises SharePoint Server the operative fact is that the documented exploitation planted a webshell, so applying the July 9 2024 security update removes the deserialization sink in the API endpoint and removes nothing the attacker already wrote to the farm — the planted .aspx, any account it added, and anything it staged all survive the update. The requirement: an on-prem farm that ran below the July 2024 build during the exploitation window and shows any indicator of exploitation is handled as a compromised host rather than a late patch ticket — content and configuration exported for analysis, the servers rebuilt from a known-good image onto the fixed build rather than updated in place, and every credential the farm held or that authenticated through it rotated. Scope the rotation by what the packet records about the documented intrusion: it ran through an over-privileged domain-admin service account that reached the Site-Owner-level endpoint, so rotation cannot stop at the SharePoint farm account. Precondition, and it is the one that decides scope: this is the post-exposure path only, and it does not apply to a farm that reached the fixed build before it was ever exposed. Establishing which farms are in that set depends on retained web telemetry, which is exactly what the monitoring and incident-handling gaps on this entry record as absent — the documented case ran two weeks between the webshell drop and detection — so a farm with no retained request telemetry across the window cannot demonstrate non-exposure and belongs on the rebuild path by default.",
43916
+ "evidence": "Packet: CWE-502 deserialization of untrusted data in an on-premises SharePoint Server API endpoint; active_exploitation confirmed; poc_available true; active_exploitation_notes record exploitation in the wild using a publicly disclosed proof-of-concept to plant a webshell on a compromised SharePoint server, with CISA KEV flagging the entry ransomware-associated (Known); CISA KEV listing 2024-10-22; patch_available true, the fix being the July 9 2024 security update (build-specific KBs in the MSRC advisory); live_patch_available false. NIS2-Art21-incident-handling gap: the attacker went undetected for two weeks post-webshell-drop. NIST-800-53-SI-2 gap: the patch shipped in July 2024 but exploitation was still observed afterward. NIST-800-53-AC-6 gap: an over-privileged (domain admin) service account reached the vulnerable Site-Owner-level endpoint.",
43917
+ "gap_closes": [
43918
+ "NIS2-Art21-incident-handling",
43919
+ "NIST-800-53-SI-2"
43920
+ ]
43921
+ },
43922
+ {
43923
+ "id": "NEW-CTRL-040",
43924
+ "name": "OWA-PER-REQUEST-SIEM-INGESTION",
43925
+ "description": "This is the authenticated-session blind spot the control exists for, on SharePoint instead of Exchange. The packet's attack vector has the attacker holding Site Owner-level permissions — often obtained from a previously compromised privileged account — and submitting a crafted request to a SharePoint API endpoint, so every authentication event the farm emits is a legitimate operator signing in and nothing in an auth-only log separates the deserialization request from ordinary site administration. Bound to an on-prem farm, the control means per-request IIS and SharePoint access logs for the farm, not just sign-in events, are forwarded to a SIEM outside the farm's own trust zone and retained long enough to cover the detection latency this entry records, since telemetry that ages out inside two weeks cannot reconstruct an intrusion that ran two weeks before discovery. Alert on the behaviour the monitoring gap names for this CVE rather than on generic exploit signatures: w3wp.exe spawning child processes, and new .aspx files appearing under the farm's web directories. Distinguishing test: on a staging farm, submit a request to the vulnerable API endpoint as a Site Owner and confirm the request itself — path, parameters and the identity that sent it — reaches the external SIEM, and that writing a new .aspx under a web directory raises an alert. A farm whose logging shows only that the service account signed in passes a security-monitoring attestation cleanly while this entire request class stays invisible. Precondition: this is detection, not prevention — it shortens the window between the deserialization request and response, and it does nothing about a webshell already resident.",
43926
+ "evidence": "Packet attack_vector: an attacker holding Site Owner-level SharePoint permissions (often obtained via a previously compromised privileged account) submits a crafted request that triggers unsafe .NET deserialization in a SharePoint API endpoint, achieving remote code execution and, in observed incidents, planting a webshell for persistence. UK-CAF-C1 gap: monitoring coverage did not catch anomalous w3wp.exe process spawning or new .aspx file writes in a timely fashion. NIS2-Art21-incident-handling gap: in the documented case the attacker went undetected for two weeks post-webshell-drop. active_exploitation confirmed; poc_available true; CISA KEV 2024-10-22.",
43927
+ "gap_closes": [
43928
+ "UK-CAF-C1",
43929
+ "NIS2-Art21-incident-handling"
43930
+ ]
43931
+ },
43932
+ {
43933
+ "id": "NEW-CTRL-001",
43934
+ "name": "CISA-KEV-RESPONSE-SLA",
43935
+ "description": "For this CVE the control's 'whichever is later' clause resolves to the KEV listing rather than patch availability: the fix shipped in the July 9 2024 security update and CISA listed the CVE on 2024-10-22, so the later of the two triggers is the listing and the four-hour window opens on 2024-10-22 — a farm still below the July 2024 build on that date is inside its response window, not already in breach, and treating it as breached manufactures a violation and can start compromise handling before the window has run — which is the condition the flaw-remediation gap records, exploitation continuing after the patch existed. Scope the population to what the packet names: on-premises SharePoint Server releases prior to the July 9 2024 update, per the build-specific KBs in the vendor advisory, not SharePoint generally. Measure completion per farm on the build its servers actually report against those KBs, not on 'approved' or 'downloaded' in the update console — the packet records no live-patch path, so a farm counts as remediated only once the fixed assemblies are the code its servers are executing. The KEV-listed ransomware association and the public proof-of-concept change what a missed clock means here: a farm found past the deadline is a compromise-triage question rather than a late patch ticket, because the same window that left it unpatched is the window in which the documented webshell drop occurred.",
43936
+ "evidence": "Packet: CISA KEV listing 2024-10-22 with ransomware association flagged Known; patch_available true, affected_versions given as on-premises SharePoint Server releases prior to the July 9, 2024 security update (build-specific KBs listed in the MSRC advisory); live_patch_available false; poc_available true; active_exploitation confirmed; RWEP 72, CVSS 7.2. NIST-800-53-SI-2 gap: the patch shipped in July 2024 but exploitation was still observed afterward, showing standard flaw-remediation SLAs did not outpace attacker patch-diffing and weaponization. AU-Essential-8-Patch gap: on-prem internet-facing SharePoint patch cadence trailed attacker patch-diffing. ISO-27001-2022-A.8.8 gap: technical vulnerability management did not flag internet-facing on-prem SharePoint for accelerated patch cadence.",
43937
+ "gap_closes": [
43938
+ "NIST-800-53-SI-2",
43939
+ "AU-Essential-8-Patch",
43940
+ "ISO-27001-2022-A.8.8"
43941
+ ]
43942
+ }
43943
+ ]
43911
43944
  },
43912
43945
  "CVE-2024-9537": {
43913
43946
  "name": "ScienceLogic SL1 Unspecified Vulnerability",
@@ -49527,10 +49560,10 @@
49527
49560
  },
49528
49561
  "defense_chain": {
49529
49562
  "prevention": {
49530
- "what_would_have_worked": "Upgrade PHP to 8.1.29/8.2.20/8.3.8 and migrate off PHP-CGI to PHP-FPM; if unavoidable, add mod_rewrite rules blocking the encoded option pattern",
49563
+ "what_would_have_worked": "Upgrade PHP to 8.1.29 / 8.2.20 / 8.3.8, which is what closes the flaw. Where the deployment permits it, also stop routing requests to the CGI binary — the argument path exists because the request becomes command-line arguments handed to php-cgi. If the CGI mapping has to stay, add rewrite rules blocking the encoded option pattern, validated by replaying the 0xAD byte rather than a literal dash.",
49531
49564
  "was_this_required": true,
49532
49565
  "framework_requiring_it": "CISA BOD 22-01 (KEV remediation, added 2024-06-12)",
49533
- "adequacy": "Patch closes it, but leaving the CGI SAPI in place keeps the fragile Best-Fit surface; FPM migration is the durable fix."
49566
+ "adequacy": "The fixed build closes it. Leaving the CGI SAPI in place keeps the Best-Fit surface for whatever is found in it next, but note what is NOT available as the durable fix here: PHP-FPM is a Unix SAPI and is not shipped for Windows, and Windows Apache with PHP-CGI is the entire affected population — so there is no drop-in interpreter swap on this platform, and the durable options are dropping the CGI mapping where the site does not need it or moving the workload to a platform where a non-CGI SAPI exists."
49534
49567
  },
49535
49568
  "detection": {
49536
49569
  "what_would_have_worked": "Alert on %AD in query strings, PHP-CGI option strings in requests, and php-cgi.exe spawning shells",
@@ -49551,7 +49584,40 @@
49551
49584
  "adequate": false,
49552
49585
  "gap": "Boundary/WAF rules keyed on literal '-' options miss the Best-Fit 0xAD encoding, so perimeter filtering fails to block the argument injection."
49553
49586
  }
49554
- }
49587
+ },
49588
+ "new_control_requirements": [
49589
+ {
49590
+ "id": "NEW-CTRL-001",
49591
+ "name": "CISA-KEV-RESPONSE-SLA",
49592
+ "description": "The population this SLA governs is narrow and the packet defines it: Windows hosts running Apache with PHP-CGI on a build below PHP 8.1.29, 8.2.20 or 8.3.8. A Linux host, or a Windows host serving PHP through a different SAPI, is not an instance of this CVE and does not belong in the same emergency batch — the vector conditions the flaw on Apache plus PHP-CGI on Windows. For that population the four-hour clock runs from the 2024-06-12 KEV listing, and the reason a monthly or even weekly application-patch cadence is not merely late but useless here is that the packet records mass exploitation already under way at disclosure with an EPSS of roughly 0.9999: the entire standard SLA window is spent on a host that is being exploited. Completion has to be measured on the version the PHP binary Apache actually invokes reports for each site, not on a change ticket, a package record, or an inventory row — a Windows PHP install is commonly an unpacked per-site build that no software-distribution channel tracks, so several vulnerable copies can sit behind one 'PHP upgraded' entry. Precondition: the clock is only enforceable where the operator controls the host. For a site running on a hosted or managed provider the remediation is the provider's to apply, and the deliverable for those is written confirmation of the running PHP version, not a local upgrade; an SLA that silently excludes them reports compliance for the sites the operator can reach while the exposed ones are the ones outside the inventory.",
49593
+ "evidence": "The packet records CISA KEV listing on 2024-06-12 with active_exploitation confirmed, poc_available true, CVSS 9.8, RWEP 76, and notes mass exploitation in the wild since disclosure in June 2024 by multiple actors and ransomware operators, with EPSS approximately 0.9999 and CISA KEV flagging ransomware use as Known. patch_available is true with fixed builds PHP 8.1.29, 8.2.20 and 8.3.8; live_patch_available is false and live_patch_notes states there is no live-patching primitive for this product and that the vendor update is the remediation. The cited NIST 800-53 SI-2 gap states the near-immediate mass exploitation outran typical patch SLAs on internet-facing Windows PHP-CGI hosts; the NIS2 Art.21 gap states patch-management timelines are far slower than the observed same-week weaponization; the Essential Eight gap states application-patch timelines trail the near-immediate, ransomware-linked mass exploitation.",
49594
+ "gap_closes": [
49595
+ "NIST-800-53-SI-2",
49596
+ "NIS2-Art21-patch-management",
49597
+ "AU-Essential-8-Patch"
49598
+ ]
49599
+ },
49600
+ {
49601
+ "id": "NEW-CTRL-025",
49602
+ "name": "CONFIGURATION-SIDE-LIVE-PATCH-INVENTORY",
49603
+ "description": "The configuration-side path for this CVE is the interpreter mode, and the packet's own PCI gap names it: the patching requirement never prompts anything about the CGI SAPI, so the injectable mode stays deployed on an estate that patches diligently. Applied to a Windows Apache estate the control means holding an inventory of which virtual hosts route requests to the CGI binary, because that is the exposed surface — the primitive here exists because the request becomes command-line arguments handed to the PHP binary, which is a property of the CGI interface rather than of a particular PHP build. State the constraint that bounds this half honestly, because it is the one an operator will hit first: there is no drop-in alternative interpreter mode on the affected platform. PHP-FPM is a Unix SAPI and is not shipped for Windows, and Windows is where this CVE lives, so the available moves are dropping the CGI mapping on sites that do not need it, or moving the workload to a platform where a non-CGI SAPI exists — and for a site that must keep serving PHP through CGI on Windows, neither is available and the fixed build is the remediation. The second half is the request-filtering path, and it is where this is most often recorded as mitigated while staying open: the packet describes the injection arriving as a soft-hyphen (0xAD) that Windows Best-Fit remaps to '-', so any rule written to block option injection must be validated by replaying a request that carries the 0xAD byte, not the literal '-' the rule author had in mind. Distinguishing test: send the encoded form against a staging host and confirm the request is rejected before PHP is invoked; a rule proven against a literal '-' has demonstrated nothing about this CVE. Precondition: the Best-Fit remapping is conditioned on the code page — the packet states it occurs where the system is set up to use certain code pages — so a mitigation premised on the code page requires knowing each host's exact configuration and cannot be asserted fleet-wide, whereas removing the CGI mapping removes the argument path itself. Neither half evicts an attacker already resident on a host that was exposed during the mass-exploitation window.",
49604
+ "evidence": "The packet's vector states the flaw arises when using Apache and PHP-CGI on Windows where the system is set up to use certain code pages, and that Windows may use Best-Fit behavior to replace characters in the command line given to Win32 API functions, which the PHP CGI module may misinterpret as PHP options. The attack_vector records the soft-hyphen (0xAD) being remapped to '-' so that PHP-CGI options (auto_prepend_file=php://input, allow_url_include=1) are injected into the PHP binary, yielding execution of attacker-supplied PHP or disclosure of script source. The cited ISO/IEC 27001:2022 A.8.9 gap states configuration management does not flag the insecure Windows Apache + PHP-CGI + Best-Fit code-page combination that is the precondition for this bug; the PCI DSS 4.0 6.3.3 gap states the requirement is satisfied by the fixed build and prompts nothing about the interpreter mode, and records that PHP-FPM is a Unix SAPI not shipped for Windows so there is no drop-in alternative on the affected platform; the NIST 800-53 SC-7 gap states boundary/WAF rules keyed on literal '-' options miss the Best-Fit 0xAD encoding, so perimeter filtering fails to block the argument injection.",
49605
+ "gap_closes": [
49606
+ "ISO-27001-2022-A.8.9",
49607
+ "PCI-DSS-4.0-6.3.3",
49608
+ "NIST-800-53-SC-7"
49609
+ ]
49610
+ },
49611
+ {
49612
+ "id": "NEW-CTRL-032",
49613
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
49614
+ "description": "The packet's CAF gap records the failure mode this control exists for: an internet-facing PHP-CGI RCE at an EPSS near 1.0 was mass-exploited faster than an incident-response cycle could spin up, so the runbook has to pre-exist the disclosure rather than be written during it. For this CVE the requirement is that any internet-facing Windows Apache/PHP-CGI host that ran a pre-8.1.29 / 8.2.20 / 8.3.8 build during the exploitation window is triaged as a compromise rather than closed on the upgrade: the primitive the packet describes runs attacker-supplied PHP as the web-server identity, and the upgrade removes the injection path while removing nothing written or read through it. The runbook content is therefore the content of the host, not the version of the binary — web-root and application directories compared against a known-good source, and the database and application credentials held in the site's configuration files rotated, because the same flaw discloses script source and those files were readable through it. Precondition: this is a response control. It does not block the injection, does not shorten the exposure window, and depends on knowing when each host reached the fixed build; a host with no reliable record of its PHP version history has to be treated as exposed for the whole period since the 2024-06-12 KEV listing rather than cleared by an upgrade applied later.",
49615
+ "evidence": "The packet records active_exploitation confirmed with mass exploitation in the wild since disclosure in June 2024 against Windows Apache + PHP-CGI, used by multiple actors and ransomware operators for arbitrary code execution and source disclosure, and CISA KEV flagging ransomware use as Known. The affected field states that command-line options are injectable into the PHP binary, yielding source disclosure or RCE, and the attack_vector records auto_prepend_file=php://input with allow_url_include=1 causing attacker-supplied PHP to execute. The cited UK CAF D1 gap states response-and-recovery planning does not account for the same-week ransomware weaponization observed here, where an internet-facing PHP-CGI RCE is mass-exploited faster than an incident-response cycle can spin up.",
49616
+ "gap_closes": [
49617
+ "UK-CAF-D1"
49618
+ ]
49619
+ }
49620
+ ]
49555
49621
  },
49556
49622
  "CVE-2024-4610": {
49557
49623
  "name": "Arm Mali GPU Kernel Driver Use-After-Free Vulnerability",
@@ -49658,7 +49724,30 @@
49658
49724
  "adequate": false,
49659
49725
  "gap": "Least-functionality guidance rarely mandates disabling/removing the unused WLS-WSAT (SOAP) subcomponent, leaving the command-injection endpoint enabled by default."
49660
49726
  }
49661
- }
49727
+ },
49728
+ "new_control_requirements": [
49729
+ {
49730
+ "id": "NEW-CTRL-125",
49731
+ "name": "SERVICE-INTERNAL-PROTOCOL-DESERIALIZATION-HARDENING",
49732
+ "description": "WebLogic's WLS-WSAT handler is exactly the service-protocol endpoint this control governs, expressed over HTTP: a transaction-coordination web service that answers a peer which never authenticates, and whose parsing of the work-context XML is itself the vulnerable code — the packet's path is an unauthenticated POST of a crafted SOAP/XML document that reaches a ProcessBuilder gadget and executes attacker-supplied OS commands. Bound to Oracle WebLogic Server 10.3.6.0, 12.1.3.0, 12.2.1.0, 12.2.1.1 and 12.2.1.2 inside Fusion Middleware, the requirement is that the subcomponent stops being enabled by inheritance. For each managed server, establish whether any deployed application actually uses WS-AtomicTransaction; where none does, disable or remove the wls-wsat subcomponent rather than leaving the endpoint enabled by default, which is the step the least-functionality, system-security and application-hardening gaps all record that no framework mandates. Where an application genuinely depends on it, restrict which sources may reach the /wls-wsat/ path so an internet peer cannot present the document at all, and constrain what the work-context XML is permitted to construct, instead of inheriting safety from the assumption that only legitimate transaction peers speak to that endpoint. Distinguishing test: from an external address, POST a crafted work-context SOAP document to /wls-wsat/ on a staging server and confirm it is refused before the XML is parsed — a server that passes a WebLogic patch-level and account audit while the WSAT path answers unauthenticated from the internet still carries the sink, and because the flaw is pre-authentication no account or privilege review ever consults the attacker. Preconditions: removal closes this path only where nothing deployed depends on WS-AtomicTransaction; where something does, path restriction bounds who can reach the endpoint but leaves it fully exploitable to anything inside the permitted set, and it is unavailable where the endpoint must answer external partners. Neither substitutes for the vendor update, which the packet records as the remediation with no live-patch primitive.",
49733
+ "evidence": "Packet vector and attack_vector: an unauthenticated attacker with network access over HTTP POSTs a crafted SOAP/XML request to the Oracle WebLogic Server Web Services (WLS-WSAT) endpoint; the server deserializes the work-context XML and, via a ProcessBuilder gadget, executes attacker-supplied OS commands. affected_versions 10.3.6.0, 12.1.3.0, 12.2.1.0, 12.2.1.1, 12.2.1.2; CWE-78; CVSS 7.4 (AV:N/AC:H/PR:N/UI:N); active_exploitation confirmed; poc_available true; CISA KEV 2024-06-03; patch_available true; live_patch_available false with live_patch_notes recording no live-patching primitive and the vendor update as the remediation. NIST-800-53-CM-7 gap: least-functionality guidance rarely mandates disabling or removing the unused WLS-WSAT (SOAP) subcomponent, leaving the command-injection endpoint enabled by default. UK-CAF-B4 gap: hardening baselines do not require stripping the unused WebLogic SOAP handler. AU-Essential-8-App-Hardening gap: application-hardening maturity does not require removing the vulnerable WebLogic SOAP handler. NIS2-Art21-network-security gap: network-security baselines do not require blocking or restricting the wls-wsat URL path at the perimeter while patching.",
49734
+ "gap_closes": [
49735
+ "NIST-800-53-CM-7",
49736
+ "UK-CAF-B4",
49737
+ "AU-Essential-8-App-Hardening",
49738
+ "NIS2-Art21-network-security"
49739
+ ]
49740
+ },
49741
+ {
49742
+ "id": "NEW-CTRL-001",
49743
+ "name": "CISA-KEV-RESPONSE-SLA",
49744
+ "description": "The KEV listing for this WebLogic flaw came on 2024-06-03, years after the vendor fix, so the control's 'whichever is later' clause resolves to the listing date and the accelerated clock applies to a CVE whose patch has long been available — which is the gap the vulnerability-management statement on this entry records, that technical-vulnerability management overlooks legacy middleware subcomponents so a KEV-listed 2017 RCE persists on internet-facing servers. The scoping consequence is specific to this product: the population is every Fusion Middleware install running 10.3.6.0, 12.1.3.0, 12.2.1.0, 12.2.1.1 or 12.2.1.2 — the versions the packet names — and the KEV trigger has to fire against a subcomponent-level finding naming wls-wsat, because a product-level scan that reports only 'an old WebLogic' gives an operator nothing to act on and is how a KEV-listed sink survives repeated review cycles. Remediation is the vendor update; the packet records no live-patching primitive, so completion is measured on the version the running managed servers report rather than on a patch-set download. Because the packet records a public proof-of-concept and years of abuse of this WLS-WSAT vector by cryptomining and access-broker actors against internet-facing WebLogic, a server found past the clock is triaged for prior compromise rather than simply brought current — the exposure predates the listing by years, so the SLA governs how fast it closes, not whether the server was already reached.",
49745
+ "evidence": "Packet: CISA KEV 2024-06-03 for a 2017 CVE; active_exploitation confirmed; poc_available true; patch_available true; live_patch_available false with live_patch_notes recording no live-patching primitive for this product and the vendor update (no reboot required) as the remediation; affected_versions 10.3.6.0, 12.1.3.0, 12.2.1.0, 12.2.1.1, 12.2.1.2; RWEP 72, CVSS 7.4. active_exploitation_notes: the WLS-WSAT vector, shared with CVE-2017-10271, has been abused for years by cryptomining and access-broker actors against internet-facing WebLogic, with no specific ransomware attribution. ISO-27001-2022-A.8.8 gap: technical-vulnerability management overlooks legacy middleware subcomponents like wls-wsat, so a KEV-listed 2017 RCE persists on internet-facing servers.",
49746
+ "gap_closes": [
49747
+ "ISO-27001-2022-A.8.8"
49748
+ ]
49749
+ }
49750
+ ]
49662
49751
  },
49663
49752
  "CVE-2024-1086": {
49664
49753
  "name": "Linux Kernel Use-After-Free Vulnerability (CVE-2024-1086)",
@@ -50062,7 +50151,41 @@
50062
50151
  "adequate": false,
50063
50152
  "gap": "Article 32 'appropriate technical measures' for PHI were undermined by an unauthenticated RCE that grants full access to health-data flows passing through the integration engine."
50064
50153
  }
50065
- }
50154
+ },
50155
+ "new_control_requirements": [
50156
+ {
50157
+ "id": "NEW-CTRL-042",
50158
+ "name": "INCOMPLETE-PATCH-SEQUENCE-SEVERITY-MULTIPLIER",
50159
+ "description": "CVE-2023-43208 is the second CVE on the same Mirth Connect primitive, and the packet says so outright: the vulnerability is caused by the incomplete patch of CVE-2023-37679. That changes what vulnerability management owes this product. An operator who applied the CVE-2023-37679 fix, recorded Mirth Connect as remediated and moved on was still running an unauthenticated remote-code-execution path, which is why re-verification rather than a version check is the requirement here — the running instance must be confirmed at 4.4.1 or later, not merely 'at a release after the earlier fix'. Because this is the second defect on the same deserialization and command-injection primitive, the programme must also carry forward the assumption the packet's history supports: a third bypass on this primitive is likely rather than surprising, so each subsequent Mirth Connect security release is re-tested against the class instead of being accepted on the vendor's word that the earlier issue is closed. Distinguishing test: take a staging Mirth Connect on a build that carries the CVE-2023-37679 fix but is below 4.4.1, replay the unauthenticated code-execution path against it, and confirm it still succeeds — an ISMS whose register records the CVE-2023-37679 remediation as applied reports that same instance clean. Precondition: this control changes triage and verification, it does not close the sink; only the 4.4.1 build does that, and until it is the version the service reports, the instance is exposed to a path with a public proof-of-concept and confirmed, ransomware-associated exploitation.",
50160
+ "evidence": "Packet fields for CVE-2023-43208: vector states NextGen Healthcare Mirth Connect before version 4.4.1 is vulnerable to unauthenticated remote code execution and that this vulnerability is caused by the incomplete patch of CVE-2023-37679; cwe_refs CWE-78 and CWE-502; affected_versions '< 4.4.1'; poc_available true; cisa_kev true, kev_date 2024-05-20, with active_exploitation_notes recording it as ransomware-associated (ransomware: Known), mass-exploited against healthcare integration servers for initial access and ransomware staging, EPSS 0.83; active_exploitation confirmed; cvss 9.8; rwep_score 69; patch_available true.",
50161
+ "gap_closes": [
50162
+ "NIST-800-53-SI-2",
50163
+ "ISO-27001-2022-A.8.8",
50164
+ "NIS2-Art21-vulnerability-handling",
50165
+ "UK-CAF-B4"
50166
+ ]
50167
+ },
50168
+ {
50169
+ "id": "NEW-CTRL-125",
50170
+ "name": "SERVICE-INTERNAL-PROTOCOL-DESERIALIZATION-HARDENING",
50171
+ "description": "Mirth Connect is an HL7 integration engine: its listeners exist to accept interface traffic from other systems, and the packet places the defect precisely on that surface — an unauthenticated attacker sends a crafted serialized payload to a Mirth Connect endpoint and unsafe deserialization becomes OS command execution as the service account. Applied to this product, the control means treating every Mirth Connect listener as a trust boundary rather than an internal convenience: bind channel and administration listeners to the interface segment instead of all interfaces, restrict each listener to the specific sending systems with an operational need to connect to it rather than to any host that can route to the port, require peer authentication on every protocol the engine has enabled and not only the one the live interfaces happen to use, and constrain what arriving content is permitted to construct or evaluate instead of inheriting safety from the assumption that the integration server sits inside the hospital network. The packet's boundary gap records the failure this addresses directly — these servers are frequently internet-facing to receive HL7 and interface traffic, and boundary controls rarely restrict the listener to trusted senders. The health-data exposure follows from the same reachability: everything the engine routes passes through the process this payload executes in. Distinguishing test: from a host with no interface role that can route to the listener on a staging Mirth Connect, open a connection and send content the HL7 interface never legitimately conveys, and confirm the peer is rejected before the server acts on the content. Precondition: restricting reach bounds who can send the payload, it does not repair the deserialization — any permitted sender, or anything that compromises one, still reaches the sink — and it is unavailable for a listener that must accept connections from an external trading partner. It is a holding measure alongside the 4.4.1 upgrade, not a substitute for it.",
50172
+ "evidence": "Packet fields for CVE-2023-43208: attack_vector states an unauthenticated attacker sends a crafted serialized payload to an internet-facing Mirth Connect endpoint, where unsafe deserialization leads to OS command execution as the service account; affected describes unauthenticated RCE via untrusted-data deserialization / OS command injection in Mirth Connect before 4.4.1; framework_control_gaps NIST-800-53-SC-7 records that Mirth Connect servers are frequently internet-facing to receive HL7/interface traffic and that boundary controls rarely restrict the listener to trusted senders, exposing the preauth deserialization endpoint; framework_control_gaps GDPR-Art32 records that the unauthenticated RCE grants full access to health-data flows passing through the integration engine; cvss 9.8; poc_available true; active_exploitation confirmed.",
50173
+ "gap_closes": [
50174
+ "NIST-800-53-SC-7",
50175
+ "GDPR-Art32"
50176
+ ]
50177
+ },
50178
+ {
50179
+ "id": "NEW-CTRL-001",
50180
+ "name": "CISA-KEV-RESPONSE-SLA",
50181
+ "description": "Mirth Connect entered KEV on 2024-05-20 flagged ransomware-associated, with a public proof-of-concept and EPSS 0.83 against an unauthenticated remote-code-execution path — a combination that leaves no room for a monthly or fortnightly application-patch cadence on an internet-facing healthcare integration server. The requirement for this product is that the 4.4.1 build is deployed within hours of KEV listing or fix availability, whichever is later, and that completion is measured on the version the running Mirth Connect service reports rather than on the installer having been run. That distinction is the one this deployment gets wrong: patch_required_reboot is false, which means the host needs no reboot — it does not mean the fix is live. The Java service continues executing the pre-fix code until it restarts onto the new build, and because the packet records no live-patch primitive, there is no way to apply the fix to the running process. Any completion report that counts a host as remediated before that service restart is counting an exposed system. Where the engine cannot be stopped inside the window — the usual reason this slips, because stopping it stops clinical message flow — the packet records no vendor mitigation and no live-patch path, so the only interim lever is constraining who can reach the listener, and the deferral must be recorded as an exposed system with a dated action rather than as patched per SLA.",
50182
+ "evidence": "Packet fields for CVE-2023-43208: cisa_kev true, kev_date 2024-05-20, active_exploitation confirmed, active_exploitation_notes recording ransomware association (ransomware: Known), mass exploitation of healthcare integration servers for initial access and ransomware staging, and EPSS 0.83; poc_available true; cvss 9.8; rwep_score 69; patch_available true with the fixed version given by vector and affected_versions as 4.4.1; patch_required_reboot false; live_patch_available false with live_patch_notes stating there is no live-patching primitive for this product and that the vendor update (no reboot required) is the remediation.",
50183
+ "gap_closes": [
50184
+ "AU-Essential-8-Patch",
50185
+ "NIST-800-53-SI-2"
50186
+ ]
50187
+ }
50188
+ ]
50066
50189
  },
50067
50190
  "CVE-2024-4761": {
50068
50191
  "name": "Google Chromium V8 Out-of-Bounds Memory Write Vulnerability",
@@ -50619,7 +50742,39 @@
50619
50742
  "adequate": false,
50620
50743
  "gap": "Least privilege assumes administrator accounts are trustworthy, but this flaw lets an admin-level actor escalate to persistent root code execution — a privilege boundary AC-6 does not enforce within the appliance."
50621
50744
  }
50622
- }
50745
+ },
50746
+ "new_control_requirements": [
50747
+ {
50748
+ "id": "NEW-CTRL-032",
50749
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
50750
+ "description": "Cisco ASA and FTD are the perimeter-trust-boundary devices this control governs, and this CVE is the property the control turns on stated outright by the vendor: the injected code executes on the next reload and persists across device reboots, which is why Cisco raised the advisory's Security Impact Rating from Medium to High. The trigger here is an administrator credential rather than an unauthenticated request, but that changes who reaches the primitive, not what patch-in-place leaves behind — and it sharpens the problem, because the vendor update itself requires a reboot, so the device comes back running fixed software with whatever was written to disk0: still present and still executing. Applied to this appliance the requirement is that a unit whose administrative interface was reachable during the exposure window is triaged as compromised rather than closed on the upgrade: running and startup configuration exported and diffed against a known-good baseline, the contents of disk0: inventoried against what the vendor expects to be there, and every credential the appliance held or terminated rotated — device administrator accounts, VPN pre-shared keys and certificates, and the authentication-server secrets stored on it — with reimaging from vendor-verified software where the unit cannot be shown clean. Precondition: this is a response control and it depends on knowing the exposure window. It does not prevent the write and it produces no evidence of its own; an upgrade already applied to a unit that carried the implant has neither removed it nor demonstrated that it was absent, so a unit with no record covering the period cannot be cleared by the version it now reports.",
50751
+ "evidence": "The packet records CISA KEV listing on 2024-04-24 with active_exploitation confirmed, attributing exploitation to the ArcaneDoor espionage campaign (actor UAT4356 / Storm-1849) against Cisco ASA/FTD perimeter devices and naming the Line Runner implant; ransomware use is not confirmed. The vector states a successful exploit could allow the attacker to execute arbitrary code on the affected device after the next reload of the device, and that because the injected code could persist across device reboots Cisco raised the Security Impact Rating from Medium to High. patch_available is true (multiple ASA and FTD releases per cisco-sa-asaftd-persist-rce-FLsNXF4h), patch_required_reboot is true, live_patch_available is false, and live_patch_notes states the vendor update requires a reboot and is the remediation. The cited NIS2 vulnerability-handling gap states NIS2 measures assume patching removes the threat but a pre-existing implant survives the update; the ISO/IEC 27001:2022 A.8.8 gap states technical vulnerability management cannot see a root implant that persists across reloads unless image-integrity verification is part of A.8.8; the NIST 800-53 SI-2 gap states the compressed 2024-05-01 KEV due date reflected active espionage use and that firmware-patch cycles for perimeter devices are slow relative to a persistent implant that survives reboots.",
50752
+ "gap_closes": [
50753
+ "NIS2-Art21-vulnerability-management",
50754
+ "ISO-27001-2022-A.8.8",
50755
+ "NIST-800-53-SI-2"
50756
+ ]
50757
+ },
50758
+ {
50759
+ "id": "NEW-CTRL-135",
50760
+ "name": "CONTROL-PANEL-PLUGIN-USER-SURFACE-MUST-NOT-REACH-ROOT-OPERATIONS",
50761
+ "description": "The surface this control governs on an ASA or FTD unit is the legacy VPN client and plug-in preloading capability the packet names, and this CVE is that surface wired straight to a root operation: a file copied into the disk0: file system is read from flash without proper validation and executed with root-level privileges on the next reload. Bound to this appliance the control means the preload path validates the origin and integrity of what it loads from flash before executing it, so that an administrator's ability to place a file on disk0: — an ordinary operational capability on these devices — is not the same capability as running root code that survives reboots. This is exactly why the least-privilege and privileged-access gaps cited on this entry pass their attestations while the path stays open: the actor is a legitimate administrator, so no account model is being violated, and a privileged-access review confirming every ASA administrator is named, approved and multi-factor protected never touches the flash-to-root path. Distinguishing test: on a staging ASA or FTD unit, place an unvalidated file into the preload location on disk0: and reload, and confirm it is refused rather than executed. Precondition: the validation is a property the vendor update establishes — this control states what to verify, it does not implement it. Until the update and its required reboot land, the only operator-side lever is restricting which accounts and which source networks reach the appliance's administrative and file-transfer interfaces, which bounds the population that can perform the write but does not close the path, because any account that legitimately administers the device still reaches disk0:.",
50762
+ "evidence": "The packet's vector places the flaw in a legacy capability that allowed for the preloading of VPN clients and plug-ins in Cisco ASA and FTD Software, states that administrator-level privileges are required to exploit it, and attributes it to improper validation of a file when it is read from system flash memory; the recorded weakness is CWE-94. The attack_vector records an attacker holding administrator credentials copying a crafted file to the disk0: file system, which on the next device reload executes as root and persists across reboots. The cited NIST 800-53 AC-6 gap states least privilege assumes administrator accounts are trustworthy but this flaw lets an admin-level actor escalate to persistent root code execution, a privilege boundary AC-6 does not enforce within the appliance; the AU ISM 1546 gap states privileged-access management controls do not prevent a compromised administrator from writing a malicious file to flash, so the ISM control leaves the escalation-to-root path open.",
50763
+ "gap_closes": [
50764
+ "NIST-800-53-AC-6",
50765
+ "AU-ISM-1546"
50766
+ ]
50767
+ },
50768
+ {
50769
+ "id": "NEW-CTRL-031",
50770
+ "name": "FIREWALL-EGRESS-TELEMETRY-SEPARATE-TRUST-ZONE",
50771
+ "description": "An ASA or FTD unit is precisely the perimeter device this control names, and this CVE is the case that makes its on-box logs worthless as evidence: the outcome is arbitrary code execution with root-level privileges on the appliance itself, so an actor who reaches that state is inside the same system that holds the local log and audit record of how they got there. For this CVE the telemetry that matters is the sequence the exploit requires and the packet documents — an authenticated administrative session, a file copied into the disk0: file system, and a device reload shortly afterwards — forwarded as it happens to a collector in a separate trust zone with different credentials and a different authentication path, so the record of the write outlives the compromise it records. That correlation is what an exploit doing exactly what the packet describes emits; alerting on appliance health or on signatures for known tooling would not see it, because nothing crashes, the device reload is a routine administrative event in isolation, and the implant the packet names is bespoke to the campaign. Precondition: this only yields evidence that was already being shipped off-box before the attempt — a collector stood up after the advisory has nothing to show for the exposure window — and it detects rather than prevents. It neither blocks the write to flash nor removes code already persisting across reboots, so a unit with no off-box record covering the period belongs on the rebuild path rather than being cleared by the absence of alerts.",
50772
+ "evidence": "The packet records the outcome as an authenticated, local attacker executing arbitrary code with root-level privileges, reached by copying a crafted file to the disk0: file system so that it executes after the next reload of the device, with the injected code persisting across device reboots. active_exploitation is confirmed and attributed to the ArcaneDoor espionage campaign (UAT4356 / Storm-1849) with the Line Runner implant, and the CVE was added to CISA KEV on 2024-04-24. The cited UK CAF C1 gap states security-monitoring and detection-evasion controls do not catch the persistent root implant this ASA/FTD flaw writes to flash during the admin-to-root escalation, so the implant survives reboots and evades the monitoring CAF-C1 assumes would surface it.",
50773
+ "gap_closes": [
50774
+ "UK-CAF-C1"
50775
+ ]
50776
+ }
50777
+ ]
50623
50778
  },
50624
50779
  "CVE-2024-20353": {
50625
50780
  "name": "Cisco ASA and FTD Web Services Denial of Service Vulnerability",
@@ -51182,7 +51337,39 @@
51182
51337
  "adequate": false,
51183
51338
  "gap": "eMerge E3 access-control panels are frequently exposed directly to the internet; boundary controls that would block the CGI endpoints are commonly absent for physical-security appliances."
51184
51339
  }
51185
- }
51340
+ },
51341
+ "new_control_requirements": [
51342
+ {
51343
+ "id": "NEW-CTRL-134",
51344
+ "name": "DEVICE-MANAGEMENT-GATEWAY-CONFIG-ENDPOINT-AUTH-INPUT-NEUTRALIZATION",
51345
+ "description": "The Nice/Linear eMerge E3-Series panel is the management surface for the door hardware it drives, and this defect sits on its web endpoints: the packet has an unauthenticated remote attacker sending a crafted HTTP request whose parameter is passed into a shell command without sanitization, executing OS commands on the panel. Bound to this product, the control means each web endpoint on the panel authorizes its caller before the request is processed at all, and neutralizes request parameters before any of them reach a shell invocation, so a caller-supplied string cannot select what the panel executes; and no panel is left with that web interface reachable from the internet or from a segment with no operational need to reach it. This is why the least-privilege style of control never engages here — the attacker holds no account on the panel, so no account model is consulted and no credential policy is exercised; the endpoint's own authorization decision is the only thing between an untrusted caller and a shell. Preconditions, both load-bearing. The endpoint-side authorization and input neutralization are properties the vendor firmware update establishes — this control states what to verify, it does not implement it — and the packet records affected firmware only as 1.00-06 and earlier per the vendor advisory, so the target build must be obtained from that advisory for the model in service rather than assumed. And the reachability half bounds who can send the request without closing the endpoint: anything inside the permitted segment still reaches it unauthenticated, so for a panel that the badge readers, door controllers and its administrators must reach, the achievable reduction is isolating that segment from everything else, not removing the path. Distinguishing test: from an ordinary user VLAN and from an external address, attempt to load the panel's web interface — anything that answers is within reach of the published exploit, because the attacker supplies no credential past that point.",
51346
+ "evidence": "The packet's affected field records OS command injection in the eMerge E3-Series web interface reachable by an unauthenticated remote attacker, and its attack vector is a crafted HTTP request to a web endpoint that passes a parameter into a shell command without sanitization, enabling botnet enrollment or full takeover. poc_available true, active_exploitation confirmed, CVSS 9.8, RWEP 75, with EPSS ~0.97 reflecting long-running mass exploitation by IoT botnets including Mirai variants against internet-exposed panels. The SC-7 gap records the panels frequently exposed directly to the internet with the boundary controls that would block the CGI endpoints commonly absent for physical-security appliances; the NIS2 network-security gap records physical-access-control systems rarely segmented from IT networks, so a compromised panel pivots into the enterprise; the AU-ISM-1546 gap records appliance-hardening guidance not covering embedded PHP web stacks on access-control panels that pass input to shell commands; the UK-CAF-B4 gap records system-security governance seldom extending to these panels, leaving the unauthenticated command injection unhardened. Affected versions are recorded as firmware 1.00-06 and earlier per the vendor advisory.",
51347
+ "gap_closes": [
51348
+ "NIST-800-53-SC-7",
51349
+ "NIS2-Art21-network-security",
51350
+ "AU-ISM-1546",
51351
+ "UK-CAF-B4"
51352
+ ]
51353
+ },
51354
+ {
51355
+ "id": "NEW-CTRL-001",
51356
+ "name": "CISA-KEV-RESPONSE-SLA",
51357
+ "description": "These panels sit outside the tooling an estate's patch SLA actually runs on — the packet's flaw-remediation gap states the device firmware is rarely patched and that standard remediation cadence does not reach unmanaged OT and physical-security gear — so the requirement for this CVE is that the eMerge E3 fleet be enumerated and assigned a named owner on the KEV clock that opened 2024-03-25, explicitly, rather than inheriting an IT patch cycle it is invisible to. The packet names affected firmware only as 1.00-06 and earlier per the vendor advisory and gives no fixed build, so the target level must be read from that advisory for the model in service, and completion is measured by the firmware the panel reports after it has restarted onto it: patch_required_reboot is true and live_patch_available is false, so a panel that has taken the firmware but not rebooted is still running the injectable code. That reboot is the step most likely to be deferred on this product class, because taking it interrupts the door access a building depends on, and a deferral recorded as patched is the specific way this remediation goes wrong here. Precondition on the interim window: the packet records no live-patch path and no vendor mitigation rule, so the only lever while the reboot is outstanding is removing the panel's reachability from the internet and from general networks — which bounds who can send the request but leaves the endpoint fully exploitable from anything still permitted to reach it, and does nothing for a panel already compromised during the years the packet says this has been exploitable.",
51358
+ "evidence": "CISA KEV listing 2024-03-25 with active_exploitation confirmed, CVSS 9.8, RWEP 75 and poc_available true; patch_available true with patch_required_reboot true and live_patch_available false, the packet's live_patch_notes stating there is no live-patching primitive for this product and that the vendor update requires a reboot and is the remediation. affected_versions is recorded only as 'Linear eMerge E3-Series firmware 1.00-06 and earlier (per vendor advisory)'. The SI-2 gap states the device firmware is rarely patched, the flaw has been exploitable for years, and standard vulnerability-remediation cadence does not reach unmanaged OT/physical-security gear.",
51359
+ "gap_closes": [
51360
+ "NIST-800-53-SI-2"
51361
+ ]
51362
+ },
51363
+ {
51364
+ "id": "NEW-CTRL-032",
51365
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
51366
+ "description": "The packet records years of mass exploitation of internet-exposed eMerge E3 panels by IoT botnets, with the outcome given as botnet enrollment or full takeover of the panel. On a panel that was internet-reachable while below the vendor's fixed firmware, the update is a code replacement rather than an eviction, so the default disposition for such a unit is a rebuild: bring its configuration up from a known-good baseline instead of carrying the running configuration through the firmware update, and rotate its administrative credential and anything else it holds, because command execution on the panel gave the attacker the same reach into that configuration the operator has. Precondition on scoping: this applies to panels whose exposure during the window can be established, and the packet's own boundary gap says these panels are frequently exposed directly to the internet — so an estate that cannot demonstrate a given panel was unreachable should treat it as in scope rather than closing it on the firmware version alone. Note what the rebuild does not settle: this is a physical-access-control device, and the packet's stated outcome of full takeover makes the door and credential activity recorded for the exposure window part of the same review, not only the host's software state. The rebuild also has to be sequenced behind the reachability restriction and the firmware update, since a panel restored to a known-good configuration while still reachable is re-exploitable by the same public request.",
51367
+ "evidence": "active_exploitation confirmed with CISA KEV listing 2024-03-25 and poc_available true; the packet's exploitation notes record EPSS ~0.97 reflecting long-running mass exploitation by IoT botnets including Mirai variants against internet-exposed eMerge E3 access-control panels, preauth with no user interaction, and the attack vector ends in injected OS commands executing on the panel enabling botnet enrollment or full takeover. patch_available true with patch_required_reboot true and no live-patch path. The SI-2 gap states the flaw has been exploitable for years and that standard vulnerability-remediation cadence does not reach this class of device — the interval in which the confirmed exploitation occurred.",
51368
+ "gap_closes": [
51369
+ "NIST-800-53-SI-2"
51370
+ ]
51371
+ }
51372
+ ]
51186
51373
  },
51187
51374
  "CVE-2021-44529": {
51188
51375
  "name": "Ivanti Endpoint Manager Cloud Service Appliance (EPM CSA) Code Injection Vulnerability",
@@ -51700,7 +51887,30 @@
51700
51887
  "adequate": false,
51701
51888
  "gap": "Essential-Eight patching is scoped to mainstream OS/applications and does not compel firmware updates for niche network appliances, leaving a 3-year-old fix unapplied."
51702
51889
  }
51703
- }
51890
+ },
51891
+ "new_control_requirements": [
51892
+ {
51893
+ "id": "NEW-CTRL-001",
51894
+ "name": "CISA-KEV-RESPONSE-SLA",
51895
+ "description": "Sunhillo SureLine's fix already existed when CISA listed this flaw, so the KEV listing rather than patch availability is what starts the clock, and the SLA has to be attached to an asset class that ordinary flaw-remediation cadence never reaches. Bound to this product it means enumerating every SureLine unit in service with its running release, and driving each unit below 8.7.0.1.1 onto the fixed release inside the KEV window instead of into the next appliance maintenance cycle. Completion is measured on the release the unit is actually executing, not on the image that was staged onto it: the packet records no live-patch mechanism and a remediation that requires applying the fixed release and rebooting, so a unit that has taken the image but has not rebooted is still serving the vulnerable /cgi/networkDiag.cgi handler and counts as exposed. Precondition on this control's compensating-control branch, which is where it is most often over-claimed for an appliance like this: the only operator-side lever before the reboot lands is removing reachability of the SureLine web interface from untrusted networks, and that bounds who can send the request without repairing anything. The injection fires before authentication, so there is no credential, account policy or admin-hardening posture to fall back on, and any host inside a permitted segment still reaches the CGI with full effect. Restricted reachability is therefore a time-bounded holding measure recorded as such, not a state in which the SLA can be closed.",
51896
+ "evidence": "The packet gives the vector as 'Sunhillo SureLine before 8.7.0.1.1 allows Unauthenticated OS Command Injection via shell metacharacters in ipAddr or dnsAddr /cgi/networkDiag.cgi', with the affected summary adding that it executes as root, and affected_versions as 'Sunhillo SureLine < 8.7.0.1.1'. cisa_kev is true with kev_date 2024-03-05, active_exploitation is 'confirmed', CVSS 9.8, RWEP 67, poc_available true, and the active-exploitation notes record 'Added to CISA KEV in March 2024 for in-the-wild exploitation; EPSS ~0.98.' patch_available is true, patch_required_reboot true, live_patch_available false, with live_patch_notes 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.' The cited SI-2 gap states the flaw 'was patched in 2021 yet remains actively exploited in 2024, showing that long-lived niche OT/network appliances routinely fall outside routine flaw-remediation cadences', and the A.8.8 gap that technical-vulnerability management 'routinely omits long-lived niche OT/telemetry appliances like SureLine'.",
51897
+ "gap_closes": [
51898
+ "NIST-800-53-SI-2",
51899
+ "AU-Essential-8-Patch",
51900
+ "ISO-27001-2022-A.8.8"
51901
+ ]
51902
+ },
51903
+ {
51904
+ "id": "NEW-CTRL-032",
51905
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
51906
+ "description": "For SureLine the packet names persistence as an outcome of exploitation, which is what makes the upgrade the wrong end point for the response. An unauthenticated request to /cgi/networkDiag.cgi runs attacker-supplied commands as root on the appliance, so anything written through that path — an added account or authorized key, a modified startup or CGI script, the botnet implant the packet names — was written with full privilege and survives the move to 8.7.0.1.1 and the reboot that carries it. The fix removes the injection path; it removes nothing that was already installed through it. Applied to this product, any SureLine unit that was reachable from an untrusted network while running below 8.7.0.1.1 during the confirmed-exploitation window is handled as config-exfil, rebuild and credential rotation: export the running configuration for review rather than reuse, reimage the unit from vendor media at the fixed release, and rotate every credential and key the appliance held or that transited it. Preconditions. The exported configuration is evidence, not a restore artifact — restoring it wholesale reinstates whatever the attacker changed, so it has to be diffed against a known-good baseline before any element of it is carried forward. And this control does not detect compromise; it decides the disposition of a unit whose exposure cannot be excluded, which means a unit with no reliable record of what could reach it during the window belongs on the rebuild path rather than the patch path. The window here is measured in years rather than days, because the packet places the fix in 2021 and confirmed exploitation through the 2024 listing.",
51907
+ "evidence": "The packet's active-exploitation notes state that 'Unauthenticated attackers inject shell metacharacters to run commands as root, enabling DoS, botnet enrollment, or persistence on the network device', with active_exploitation 'confirmed', poc_available true, and KEV listing 2024-03-05. The affected summary places the injection in the ipAddr or dnsAddr parameter of /cgi/networkDiag.cgi 'executing as root'. patch_available is true with patch_required_reboot true and live_patch_available false. The cited SI-2 gap records that the flaw 'was patched in 2021 yet remains actively exploited in 2024', and the A.8.8 gap that vulnerability management omits appliances like SureLine so that 'an unauthenticated root OS-command-injection patched in 2021 remains unremediated and still actively exploited years later' — together describing a multi-year interval in which an exposed unit could have been rooted before any update reaches it. The internet reachability the response assumes is the packet's own SC-7 gap: boundary-protection guidance 'does not force these surveillance/telemetry appliances off the public internet, which is the only thing that stops unauthenticated reach to the vulnerable CGI'.",
51908
+ "gap_closes": [
51909
+ "NIST-800-53-SI-2",
51910
+ "ISO-27001-2022-A.8.8"
51911
+ ]
51912
+ }
51913
+ ]
51704
51914
  },
51705
51915
  "CVE-2024-21338": {
51706
51916
  "name": "Microsoft Windows Kernel Exposed IOCTL with Insufficient Access Control Vulnerability",
@@ -54077,7 +54287,29 @@
54077
54287
  "adequate": false,
54078
54288
  "gap": "Patch targets assume managed IT assets; unmanaged FXC edge routers fall outside the patch program entirely."
54079
54289
  }
54080
- }
54290
+ },
54291
+ "new_control_requirements": [
54292
+ {
54293
+ "id": "NEW-CTRL-001",
54294
+ "name": "CISA-KEV-RESPONSE-SLA",
54295
+ "description": "Bound to the FXC AE1021 and AE1021PE wall routers, the clock that opened with the 2023-12-21 KEV listing runs against every unit in service, and completion is measured on the firmware version the device itself reports rather than on a distribution job — these routers sit outside the console that reports build state for managed endpoints, which is precisely why the flaw-remediation gap on this entry exists. The packet gives the affected level as firmware 2.0.9 and earlier and does not name the fixed release, so the fixed version has to be obtained from FXC for the exact model before any unit can be called remediated; 'newer than 2.0.9' asserted from the CVE text is not a fixed-build figure. Because the packet records no live-patch path and a reboot requirement, a unit that has taken firmware but has not rebooted onto it is still executing the vulnerable image and counts as exposed. Where a unit cannot be reached inside the window, this control's compensating-control branch is what has to be documented, and its precondition must be written down with it: restricting who can reach the router's management plane bounds the population that can present a login, but the flaw is reached by an authenticated request, so any holder of a valid credential still reaches the injection point — and a wall router exists to serve the client network attached to it, so for a unit serving a general user network there is no segment that removes the path, only isolation of that network from anything that matters. Distinguishing test: produce, per unit, the running firmware version and the time of the reboot that put it there; an asset list that names the model without a running-version figure has recorded the fleet, not its exposure.",
54296
+ "evidence": "Packet: cisa_kev true, kev_date 2023-12-21, active_exploitation confirmed — 'Exploited as a zero-day by the Mirai-variant InfectedSlurs botnet (reported by Akamai SIRT) to conscript FXC AE1021/AE1021PE wall routers into a DDoS swarm; authenticated command injection over the network.' patch_available true, live_patch_available false, patch_required_reboot true, live_patch_notes 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.' affected_versions: 'FXC AE1021PE firmware 2.0.9 and earlier', 'FXC AE1021 firmware 2.0.9 and earlier' (no fixed release named). vector: 'An OS command injection vulnerability exists in AE1021PE firmware version 2.0.9 and earlier and AE1021 firmware version 2.0.9 and earlier... an arbitrary OS command may be executed by an attacker who can log in to the product.' Cited gaps: NIST-800-53-SI-2 'SOHO/edge routers like the AE1021 rarely receive centrally managed patches, so a firmware fix does not reach the exposed fleet within the KEV window'; AU-Essential-8-Patch 'Patch targets assume managed IT assets; unmanaged FXC edge routers fall outside the patch program entirely'; ISO-27001-2022-A.8.8 'Technical-vulnerability-management inventories rarely include SOHO edge CPE like the AE1021, so its authenticated command-injection firmware flaw is never assessed or scheduled.'",
54297
+ "gap_closes": [
54298
+ "NIST-800-53-SI-2",
54299
+ "AU-Essential-8-Patch",
54300
+ "ISO-27001-2022-A.8.8"
54301
+ ]
54302
+ },
54303
+ {
54304
+ "id": "NEW-CTRL-032",
54305
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
54306
+ "description": "The AE1021/AE1021PE is the edge device for the site it serves, and the packet records the exploitation outcome as attacker code placed on it: the InfectedSlurs botnet conscripted these routers into a DDoS swarm, and the attack path ends in arbitrary OS commands and, typically, a Mirai-variant bot installed on the device. So a unit believed to have been exploited belongs on the rebuild path rather than the update path — firmware applied and the configuration restored from a known-good baseline rather than inherited through the flash, the administrative credential rotated rather than carried across, and any credential that transited the router treated as exposed. Note honestly where this entry differs from the usual case for this control: exploitation is not pre-authentication here, the packet requires an attacker who can log in to the product, and that makes the credential half load-bearing rather than incidental — the update replaces the vulnerable image but says nothing about the login the attacker used, so a unit returned to service on fixed firmware with the same administrative password is reachable by the same route as soon as the next defect lands. Preconditions, both of which bound this control rather than being satisfied by it: it is a response measure that presumes the unit has been identified as exploited, and the packet's own CAF gap records that conscription of consumer-grade routers surfaces only once the device emits DDoS traffic, so for most estates the trigger will be outbound-traffic evidence rather than anything the router reports; and it does not prevent the initial command injection, which only the fixed firmware and its reboot remove.",
54307
+ "evidence": "Packet: active_exploitation confirmed; active_exploitation_notes 'Exploited as a zero-day by the Mirai-variant InfectedSlurs botnet (reported by Akamai SIRT) to conscript FXC AE1021/AE1021PE wall routers into a DDoS swarm.' attack_vector: 'An attacker who can authenticate to the router (often via default/weak credentials) submits a crafted value to a management parameter that is passed to an OS shell without sanitization, executing arbitrary commands and typically installing a Mirai-variant bot.' affected: 'FXC AE1021 and AE1021PE wall routers — OS command injection reachable by an authenticated user over the network, allowing arbitrary command execution on the device.' patch_available true with patch_required_reboot true and live_patch_available false. Cited gaps: NIST-800-53-SI-2 'a firmware fix does not reach the exposed fleet within the KEV window'; UK-CAF-B4 'Proactive security-event discovery does not extend to consumer-grade routers, so botnet conscription goes unnoticed until the device emits DDoS traffic'; NIST-800-63B-rev4 'weak/default/reused router credentials directly enable the injection.'",
54308
+ "gap_closes": [
54309
+ "NIST-800-53-SI-2"
54310
+ ]
54311
+ }
54312
+ ]
54081
54313
  },
54082
54314
  "CVE-2023-47565": {
54083
54315
  "name": "QNAP VioStor NVR OS Command Injection Vulnerability",
@@ -54134,7 +54366,31 @@
54134
54366
  "adequate": false,
54135
54367
  "gap": "Security-event discovery does not extend to standalone NVRs, so botnet conscription surfaces only as outbound DDoS abuse."
54136
54368
  }
54137
- }
54369
+ },
54370
+ "new_control_requirements": [
54371
+ {
54372
+ "id": "NEW-CTRL-122",
54373
+ "name": "EOL-ASSET-DECOMMISSION",
54374
+ "description": "This packet states both halves the control needs. A fix exists — QNAP records the flaw as fixed in QVR Firmware 5.0.0 and later — while the affected population is legacy VioStor NVR models running QVR Firmware 4.x, which the entry's own gaps describe as end-of-life appliances that no longer receive routine updates and whose remediation is a migration or replacement effort rather than a patch cycle. That combination defines the requirement: reaching QVR 5.0.0 is an interim state where the model can get there, and removal or replacement is the terminal state where it cannot. The question the packet does not answer, and which must be resolved per unit before anything else, is which VioStor models can actually run QVR 5.0.0; that status has to be obtained from QNAP for the exact model, not assumed in either direction — assume it can and you strand units on a firmware line receiving no fixes, assume it cannot and you fund replacements that were not needed. Units whose model has a 5.0.0-or-later path are remediation items on the clock that opened with the 2023-12-21 KEV listing, and because the packet records no live-patch mechanism and a reboot requirement, a unit that has taken firmware but not rebooted onto it is still executing the vulnerable image and counts as exposed. Units with no path to 5.0.0 cannot be patched at all and need a dated replacement schedule: a risk acceptance with no removal date leaves a KEV-listed, actively-exploited command-injection flaw in service indefinitely, and a unit stuck on 4.x is exposed not only to this CVE but to everything found in that firmware line since it stopped receiving updates. Scope this to what the packet names — QNAP VioStor NVR models on QVR 4.x — rather than to every camera or recorder in the estate; the packet ties the command-injection sink to VioStor on QVR 4.x and maps it into no other product.",
54375
+ "evidence": "Packet: vector 'An OS command injection vulnerability has been found to affect legacy QNAP VioStor NVR models running QVR Firmware 4.x. If exploited, the vulnerability could allow authenticated users to execute commands via a network. We have already fixed the vulnerability in the following versions: QVR Firmware 5.0.0 and later.' affected_versions: 'QNAP VioStor NVR on QVR Firmware 4.x (all 4.x prior to 5.0.0).' patch_available true, patch_required_reboot true, live_patch_available false, live_patch_notes 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.' cisa_kev true, kev_date 2023-12-21, active_exploitation confirmed ('Exploited as a zero-day by the InfectedSlurs Mirai-variant botnet (Akamai SIRT) against legacy QNAP VioStor NVR devices on QVR firmware 4.x'). Cited gaps: NIST-800-53-SI-2 'The fix requires migrating off end-of-life QVR 4.x to QVR 5.0.0+, which is a device-replacement/upgrade effort a flaw-remediation SLA cannot satisfy within the KEV window'; ISO-27001-2022-A.8.8 'Vulnerability management tends to overlook end-of-life video-surveillance appliances that no longer receive routine updates'; AU-Essential-8-Patch 'does not compel migrating end-of-life QVR 4.x NVRs to 5.0.0+, so the InfectedSlurs-conscripted command-injection stays open on unsupported surveillance appliances.'",
54376
+ "gap_closes": [
54377
+ "NIST-800-53-SI-2",
54378
+ "ISO-27001-2022-A.8.8",
54379
+ "AU-Essential-8-Patch"
54380
+ ]
54381
+ },
54382
+ {
54383
+ "id": "NEW-CTRL-001",
54384
+ "name": "CISA-KEV-RESPONSE-SLA",
54385
+ "description": "Applied to the VioStor NVR estate, the 2023-12-21 KEV listing starts a clock that this packet allows only two ways to stop, because the middle option is unavailable: live_patch_available is false, so per unit the record must be either a running QVR version at 5.0.0 or later with the reboot the fix requires already taken, or a written compensating-control entry for a unit that cannot get there. That per-unit record is what produces the inventory of reachable NVRs the network-security gap says nobody maintains — the appliance is not going to appear in an endpoint-patch console on its own. The compensating control available on this device is bounding who can reach its web management plane, and its precondition has to be documented alongside it rather than left implied: exploitation is by an authenticated user over the network, so restricting reachability shrinks the population that can present a login but does nothing about anyone already holding a valid NVR credential inside the permitted segment, and the measure is simply unavailable where the recorder is deliberately published for remote viewing — a configuration the entry's own gap describes as routine for internet-exposed NVRs. It is a holding measure for the window before QVR 5.0.0 and its reboot land, or before the unit is replaced, and it is not a closure. Distinguishing test: from a segment with no operational need to administer video, attempt to load the VioStor management interface; anything that answers is inside the network-reachable population this flaw is exploited through.",
54386
+ "evidence": "Packet: cisa_kev true, kev_date 2023-12-21, active_exploitation confirmed, rwep_score 48, cvss 8.8, poc_available false. affected: 'QNAP VioStor NVR (legacy models) running QVR Firmware 4.x — OS command injection reachable by an authenticated user over the network; fixed by upgrading to QVR Firmware 5.0.0 and later.' attack_vector: 'An attacker authenticated to a VioStor NVR submits a crafted value to a web-interface field that reaches an OS shell unsanitized, executing arbitrary commands and typically installing a Mirai-variant bot for DDoS.' live_patch_available false; patch_required_reboot true. Cited gaps: NIS2-Art21-network-security 'Network-security baselines rarely inventory internet-exposed NVRs, leaving their reachable management plane open to command injection'; NIST-800-53-SI-2 (replacement/upgrade effort no SLA can satisfy within the KEV window); AU-Essential-8-Patch (scoped to mainstream OS/applications, does not compel the QVR 4.x migration).",
54387
+ "gap_closes": [
54388
+ "NIST-800-53-SI-2",
54389
+ "AU-Essential-8-Patch",
54390
+ "NIS2-Art21-network-security"
54391
+ ]
54392
+ }
54393
+ ]
54138
54394
  },
54139
54395
  "CVE-2023-6448": {
54140
54396
  "name": "Unitronics Vision PLC and HMI Insecure Default Password Vulnerability",
@@ -55682,7 +55938,31 @@
55682
55938
  "adequate": false,
55683
55939
  "gap": "Technical-vulnerability management treats this as a scheduled patch, missing that it is a preauth, ransomware-actor-exploited RCE demanding out-of-band emergency remediation and web-shell hunting."
55684
55940
  }
55685
- }
55941
+ },
55942
+ "new_control_requirements": [
55943
+ {
55944
+ "id": "NEW-CTRL-032",
55945
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
55946
+ "description": "SysAid On-Premise is the case this control is written for: an unauthenticated path traversal writes a file into the Tomcat webroot for code execution, and the packet records the observed exploitation writing a WAR-packaged web shell there and running a PowerShell loader for GraceWire and Cl0p tooling. Upgrading to 23.3.36 removes the traversal write primitive and removes nothing already written through it — the WAR in the webroot and anything the loader staged survive the upgrade intact, which is why a self-hosted instance that was reachable and below 23.3.36 during the exploitation window is a compromise, not a patch item. The requirement: preserve and export the server configuration and the full contents of the Tomcat webroot for analysis, rebuild the host from a known-good baseline onto 23.3.36 rather than upgrading the running instance in place, and rotate the credentials stored on that server and those that authenticated through it during the window. Precondition, and it decides which instances are in scope: this is the post-exposure path and does not apply to an instance that reached 23.3.36 before ever being exposed. But the detection gap on this entry records that default configurations do not alarm on new files appearing in the Tomcat webroot or on java spawning PowerShell — the exact deploy behaviour seen here — so most operators have no telemetry that can demonstrate non-exposure. Absent that evidence, an internet-reachable instance that ran below 23.3.36 across the November 2023 window belongs on the rebuild path; a clean scan of a running instance is not the same as proof that nothing was written to it.",
55947
+ "evidence": "Packet: SysAid On-Premise before 23.3.36, unauthenticated path traversal leading to code execution after writing a file to the Tomcat webroot, as exploited in the wild in November 2023. attack_vector: an unauthenticated attacker uses a path-traversal request to write a WAR-packaged web shell into the SysAid Tomcat webroot, then executes it to run a PowerShell loader for GraceWire and Cl0p ransomware tooling. active_exploitation_notes: exploited by Lace Tempest, a Cl0p ransomware affiliate; CISA KEV flags ransomware use as known; EPSS 0.99 (99.9th pct). CISA KEV 2023-11-13; poc_available true; patch_available true; live_patch_available false with live_patch_notes recording no vendor live-patch mechanism and remediation requiring the vendor fixed release. NIST-800-53-SI-4 gap: default configs do not alarm on new files appearing in the Tomcat webroot or on java spawning PowerShell. ISO-27001-2022-A.8.8 gap: treated as a scheduled patch, missing that it is a preauth, ransomware-actor-exploited RCE demanding out-of-band emergency remediation and web-shell hunting. NIS2-Art21-incident-handling gap: the article does not require the webroot-integrity monitoring or egress control that would catch the web shell before ransomware deployment.",
55948
+ "gap_closes": [
55949
+ "NIS2-Art21-incident-handling",
55950
+ "ISO-27001-2022-A.8.8",
55951
+ "NIST-800-53-SI-2"
55952
+ ]
55953
+ },
55954
+ {
55955
+ "id": "NEW-CTRL-001",
55956
+ "name": "CISA-KEV-RESPONSE-SLA",
55957
+ "description": "The packet records this flaw as exploited in the wild in November 2023 by a Cl0p affiliate before 23.3.36 existed, and the pre-fix window is not something any patch SLA can close — which is precisely what the flaw-remediation and Essential-Eight gaps on this entry record. Note which trigger the control's 'whichever is later' clause actually selects here, because the two dates fall in the order operators tend to assume is reversed: the vendor notification carrying 23.3.36 is recorded with a published date of 2023-11-08 and the KEV listing is 2023-11-13, so the fix predates the listing and the later trigger is the KEV date. Exploitation preceding the fix says nothing about that ordering — it orders the attack against the patch, not the patch against the listing. What the control does bind is the window after the fixed release landed: an internet-reachable SysAid On-Premise instance is a four-hour item from that point, not a scheduled-maintenance item, and the vulnerability-management gap names the failure mode exactly — treating it as a scheduled patch. Remediation is the vendor fixed release 23.3.36 itself; the packet records no live-patch mechanism, so there is no interim binary path, and completion is measured on the version the running instance reports rather than on a change ticket. The control's compensating-control branch is the only thing available to an instance that cannot take 23.3.36 inside the window: remove the SysAid web interface's reachability from the internet, since the packet's boundary-protection gap names that exposure as the precondition for the pre-auth file write. State its limits plainly — isolation bounds who can send the traversal request, it does not repair the traversal, it is unavailable where the service must stay reachable for remote users, and it evicts nothing from an instance that was already exploited, which is why an instance exposed during the November 2023 window goes down the compromise path regardless of when it reaches 23.3.36.",
55958
+ "evidence": "Packet: CISA KEV 2023-11-13; active_exploitation confirmed with exploitation in the wild in November 2023; poc_available true; patch_available true with the fixed release 23.3.36; patch_required_reboot false; live_patch_available false and live_patch_notes stating no vendor live-patch mechanism and that remediation requires applying the vendor fixed release; CVSS 9.8, RWEP 69. NIST-800-53-SI-2 gap: emergency patching to 23.3.36 is required, but the flaw was already exploited as a zero-day by a ransomware affiliate, so SI-2 cadence does not cover the active-exploitation window before the fix landed. AU-Essential-8-Patch gap: the 48-hour internet-facing patch target could not act on a flaw exploited as a zero-day before 23.3.36 existed. ISO-27001-2022-A.8.8 gap: technical-vulnerability management treats this as a scheduled patch. NIST-800-53-SC-7 gap: boundary protection exposing the SysAid web interface to the internet is the precondition for the preauth file write, and patching does not remove the exposed attack surface.",
55959
+ "gap_closes": [
55960
+ "NIST-800-53-SI-2",
55961
+ "AU-Essential-8-Patch",
55962
+ "ISO-27001-2022-A.8.8"
55963
+ ]
55964
+ }
55965
+ ]
55686
55966
  },
55687
55967
  "CVE-2023-36844": {
55688
55968
  "name": "Juniper Junos OS EX Series J-Web PHP External Variable Modification",
@@ -56701,24 +56981,57 @@
56701
56981
  "adequate": false,
56702
56982
  "gap": "Configuration-management baselines don't flag an internet-facing IOS XE web UI as non-compliant, so the exposed injectable interface passes audit."
56703
56983
  }
56704
- }
56705
- },
56706
- "CVE-2023-4966": {
56707
- "name": "Citrix NetScaler ADC and NetScaler Gateway Buffer Overflow Vulnerability",
56708
- "lesson_date": "2026-07-21",
56709
- "attack_vector": {
56710
- "description": "An unauthenticated attacker sends an oversized request to a Gateway/AAA endpoint, triggering an out-of-bounds read that returns leaked memory containing valid session tokens, which are then replayed to hijack authenticated sessions and bypass MFA.",
56711
- "privileges_required": "none (unauthenticated, network access to the gateway)",
56712
- "complexity": "low — single crafted request, public PoC ('Citrix Bleed')",
56713
- "ai_factor": "Not AI-discovered — root cause published by Assetnote; disclosed by Citrix. No AI involvement documented."
56714
56984
  },
56715
- "defense_chain": {
56716
- "prevention": {
56717
- "what_would_have_worked": "Upgrade to fixed builds AND terminate all active/persistent sessions (kill icaconnection/pcoipconnection/aaa/rdp sessions) per Citrix guidance",
56718
- "was_this_required": true,
56719
- "framework_requiring_it": "CISA BOD 22-01 (KEV remediation, added 2023-10-18)",
56720
- "adequacy": "Patch is necessary but insufficient — without invalidating existing sessions the leaked tokens stay usable, which is how post-patch intrusions occurred."
56721
- },
56985
+ "new_control_requirements": [
56986
+ {
56987
+ "id": "NEW-CTRL-030",
56988
+ "name": "PERIMETER-DEVICE-ZERODAY-SLA-TIER",
56989
+ "description": "Cisco IOS XE runs the routers and switches that carry an organization's edge, and this entry offers exactly the two levers this tier admits. The fix is a per-train image — the packet names 17.9.4a, 17.6.6a, 17.3.8a and 16.12.10a — with no live-patch path and a reboot required, so a device that has the image staged but has not reloaded onto it is still executing the vulnerable code and must be counted exposed rather than closed on the download. The alternative the tier permits is isolation of the vulnerable interface, which here is the HTTP/HTTPS Server (web UI) feature the packet ties the injection to: an IOS XE device with no operational need for the web UI should not have that feature enabled at all, and where it is needed it should answer only from a management segment rather than from untrusted networks. Scope the sweep to what the packet's affected_versions names — IOS XE 16.x and 17.x trains with the HTTP/HTTPS Server feature enabled — and run the clock from the 2023-10-23 KEV listing rather than the next network-maintenance window, because this is a device class whose standard 14/30-day change cadence was outrun by a mass campaign. Precondition, and it is the half operators skip: disabling or segmenting the web UI bounds who can send the crafted input, but it removes nothing already written to a device that was exposed, and it gives nothing against an attacker who already reaches the permitted management segment.",
56990
+ "evidence": "Packet: KEV listed 2023-10-23, active_exploitation confirmed, poc_available true, RWEP 79. patch_available true with patch_required_reboot true and live_patch_available false; live_patch_notes states remediation requires applying the fixed release and rebooting. affected_versions names IOS XE with the HTTP/HTTPS Server (web UI) feature enabled across 16.x/17.x trains, fixed in per-train releases such as 17.9.4a, 17.6.6a, 17.3.8a, 16.12.10a. The CM-7 gap records that least-functionality would have disabled the HTTP/HTTPS Server the injection abuses; the SC-7 gap records that internet-exposed management web UIs are what enabled the mass campaign; the NIS2 network-security gap records that disabling/segmenting the device management plane is rarely mandated.",
56991
+ "gap_closes": [
56992
+ "NIST-800-53-CM-7",
56993
+ "NIST-800-53-SC-7",
56994
+ "NIS2-Art21-network-security",
56995
+ "AU-Essential-8-App-Hardening"
56996
+ ]
56997
+ },
56998
+ {
56999
+ "id": "NEW-CTRL-135",
57000
+ "name": "CONTROL-PANEL-PLUGIN-USER-SURFACE-MUST-NOT-REACH-ROOT-OPERATIONS",
57001
+ "description": "The IOS XE web UI is the user-facing management surface this control governs, and the packet's vector is the forbidden pattern stated plainly: crafted input to the web UI is insufficiently validated and injects commands that execute on the underlying operating system with root privileges. Applied to this device it means the privileged OS operations the web UI drives sit behind their own authorization and validation boundary, reachable only through a constrained interface, so the web UI's own handling of request input is not the single thing standing between a web-UI account and root on the router. Note where the account comes from, because it changes what account-side hardening buys: the packet records CVE-2023-20198 creating the local account this flaw then elevates from, so tightening who legitimately holds web-UI credentials bounds the population that can attempt it but does not close the path — the attacker in this campaign supplies their own account. Preconditions: the vendor fixed release is what repairs the boundary; this control states the property to verify, it does not implement it. And because active exploitation is confirmed and the packet records this injection being used to write a persistent implant, a device whose web UI was reachable during the campaign window needs forensic triage and credential rotation rather than being closed on the upgrade record.",
57002
+ "evidence": "Packet vector: a vulnerability in the web UI feature of Cisco IOS XE Software allows an authenticated, remote attacker to inject commands with the privileges of root, due to insufficient input validation. affected: used to elevate and implant after CVE-2023-20198 provides the account. attack_vector: using the local account created via CVE-2023-20198, the attacker sends crafted input to the IOS XE web UI, injecting OS commands that run as root and are used to write a persistent implant. active_exploitation confirmed; CWE-78. The AU-Essential-8-App-Hardening gap records that hardening baselines for network devices seldom require turning off the web UI, leaving the root-command-injection path exploitable; the UK-CAF-B4 gap records that system-security assurance assumes the management web UI is trustworthy.",
57003
+ "gap_closes": [
57004
+ "AU-Essential-8-App-Hardening",
57005
+ "UK-CAF-B4"
57006
+ ]
57007
+ },
57008
+ {
57009
+ "id": "NEW-CTRL-032",
57010
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
57011
+ "description": "The packet records the outcome of this flaw as persistence, not just execution: it was the second stage of the mass Cisco IOS XE campaign, used after CVE-2023-20198 had created a local account, to elevate to root and write a persistent implant. Loading 17.9.4a, 17.6.6a, 17.3.8a or 16.12.10a closes the injection path and removes neither the account the companion flaw created nor the implant written through this one, so the default response for an IOS XE device that was running an exposed web UI during the campaign window is configuration capture, rebuild from a known-good image and configuration, and rotation of every credential the device held or that transited it — not upgrade-in-place. The reload the fixed image requires is not the eviction step, and treating it as one is the specific way this remediation goes wrong: a device that reloads onto a fixed train with the attacker's local account and implant still resident is reported patched and stays compromised, which is exactly the state a system-security attestation reads as healthy.",
57012
+ "evidence": "Packet active_exploitation_notes: exploited in the wild as the second stage of the mass Cisco IOS XE campaign — after CVE-2023-20198 created a local account, this web-UI command-injection flaw was used to elevate to root and write the persistent implant. affected: used to elevate and implant after CVE-2023-20198 provides the account. patch_available true, live_patch_available false, patch_required_reboot true, with fixed per-train releases named in affected_versions. The UK-CAF-B4 gap states that an authenticated root command-injection chained to the CVE-2023-20198 account-creation flaw drops an implant.",
57013
+ "gap_closes": [
57014
+ "UK-CAF-B4"
57015
+ ]
57016
+ }
57017
+ ]
57018
+ },
57019
+ "CVE-2023-4966": {
57020
+ "name": "Citrix NetScaler ADC and NetScaler Gateway Buffer Overflow Vulnerability",
57021
+ "lesson_date": "2026-07-21",
57022
+ "attack_vector": {
57023
+ "description": "An unauthenticated attacker sends an oversized request to a Gateway/AAA endpoint, triggering an out-of-bounds read that returns leaked memory containing valid session tokens, which are then replayed to hijack authenticated sessions and bypass MFA.",
57024
+ "privileges_required": "none (unauthenticated, network access to the gateway)",
57025
+ "complexity": "low — single crafted request, public PoC ('Citrix Bleed')",
57026
+ "ai_factor": "Not AI-discovered — root cause published by Assetnote; disclosed by Citrix. No AI involvement documented."
57027
+ },
57028
+ "defense_chain": {
57029
+ "prevention": {
57030
+ "what_would_have_worked": "Upgrade to fixed builds AND terminate all active/persistent sessions (kill icaconnection/pcoipconnection/aaa/rdp sessions) per Citrix guidance",
57031
+ "was_this_required": true,
57032
+ "framework_requiring_it": "CISA BOD 22-01 (KEV remediation, added 2023-10-18)",
57033
+ "adequacy": "Patch is necessary but insufficient — without invalidating existing sessions the leaked tokens stay usable, which is how post-patch intrusions occurred."
57034
+ },
56722
57035
  "detection": {
56723
57036
  "what_would_have_worked": "Alert on session-token reuse from new IPs and on oversized OpenID-config requests",
56724
57037
  "was_this_required": false,
@@ -58507,7 +58820,33 @@
58507
58820
  "adequate": false,
58508
58821
  "gap": "Patch maturity is unmet on EOL consumer hardware; there is no ongoing vendor patch stream."
58509
58822
  }
58510
- }
58823
+ },
58824
+ "new_control_requirements": [
58825
+ {
58826
+ "id": "NEW-CTRL-127",
58827
+ "name": "UNSUPPORTED-NETWORK-DEVICE-ENUMERATION-AND-RETIREMENT",
58828
+ "description": "The packet states the terminal condition outright — the Zyxel EMG2926 (EMG2926-Q10A) is end-of-life, and the flaw-remediation gap records that there is no supported firmware to apply so device replacement is the only fix. The requirement is therefore an inventory naming every EMG2926 in service with its running firmware version, checked against the affected build the packet names, V1.00(AAQT.4)b8, and with support status and any fixed build for that exact model obtained from Zyxel rather than assumed in either direction. Any unit for which the vendor does confirm a fixed build is an interim item, and because the packet records no live-patch path with a reboot required, a unit that has taken firmware but has not restarted onto it is still executing the vulnerable code; every unit with no supported firmware is a replacement item needing a dated schedule, since a risk acceptance with no removal date leaves a device with a public PoC and confirmed exploitation in service indefinitely. Precondition on the reachability half, which is where this control is most often over-claimed: the injection sits on the router's diagnostic page — the ping_ip parameter of the expert/maintenance/diagnostic/nslookup URI — which is part of its web administration surface, so denying WAN-side access to administration removes the internet-side path, but a home or small-branch router exists to serve the client network attached to it and every client on that network still reaches the diagnostic page. For a unit serving a general user network there is no segment that removes the path, only isolation of that network from anything that matters. And because exploitation is confirmed and the outcome is command execution on the router itself, a unit that was exposed is not remediated by firmware alone: its configuration and administrative credential must be rebuilt from a known-good baseline rather than inherited, and credentials that transited it rotated.",
58829
+ "evidence": "Packet affected: Zyxel EMG2926 (EMG2926-Q10A) home router, firmware V1.00(AAQT.4)b8 — the nslookup diagnostic function's ping_ip parameter (expert/maintenance/diagnostic/nslookup) is command-injectable; the device is end-of-life. NIST-800-53-SI-2 gap: the EMG2926 is end-of-life, flaw remediation has no supported firmware to apply, device replacement is the only fix. AU-Essential-8-Patch gap: patch maturity is unmet on EOL consumer hardware, there is no ongoing vendor patch stream. NIST-800-53-SC-7 gap: boundary protection must deny WAN-side access to the admin/diagnostic interface. NIS2 gap: network-security measures do not remove the injection sink for anyone who reaches the authenticated diagnostic page. ISO-27001-2022-A.8.8 gap: vulnerability management on unmanaged SOHO/edge CPE rarely tracks router firmware. UK-CAF-B4 gap: the injectable nslookup page on an unpatchable EMG2926 stays in service, typically discovered only once the conscripted device emits botnet/DDoS traffic. KEV listed 2023-09-18, active_exploitation confirmed, poc_available true, patch_required_reboot true, live_patch_available false.",
58830
+ "gap_closes": [
58831
+ "AU-Essential-8-Patch",
58832
+ "NIST-800-53-SI-2",
58833
+ "ISO-27001-2022-A.8.8",
58834
+ "UK-CAF-B4",
58835
+ "NIST-800-53-SC-7",
58836
+ "NIS2-Art21-network-security"
58837
+ ]
58838
+ },
58839
+ {
58840
+ "id": "NEW-CTRL-038",
58841
+ "name": "MITIGATION-ACTIVE-PATCH-PENDING-VERDICT-CLASS",
58842
+ "description": "This entry forecloses the state a patch-compliance verdict assumes it can reach. The packet records the EMG2926 as end-of-life with no supported firmware to apply and no ongoing vendor patch stream, so no unit can honestly be reported as remediated by a binary fix, and the state an operator can actually hold is the middle one: compensating controls active — WAN-side administration denied, the router's client network isolated from anything that matters — with no vendor fix behind them. The requirement is that this state appears on the vulnerability report as its own class with a dated replacement action item attached, never rolled up as patched-per-SLA and never closed as an accepted risk with no removal date. The distinguishing test is to ask what evidence turned an EMG2926 green: a report that marks it compliant because a scan could not reach expert/maintenance/diagnostic/nslookup has recorded where the scanner was standing, not the removal of a command-injection sink that remains reachable from the network the router serves. Precondition: this control changes what the verdict says, not what the device runs — it is the accounting that keeps a KEV-listed, publicly-exploitable injection visible until the unit is gone, and it removes nothing on its own.",
58843
+ "evidence": "Packet: patch_available true but the NIST-800-53-SI-2 gap records the EMG2926 as end-of-life with no supported firmware to apply — flaw remediation cannot be satisfied and device replacement is the only fix — and the AU-Essential-8-Patch gap records patch maturity unmet on EOL consumer hardware with no ongoing vendor patch stream. live_patch_available false. KEV listed 2023-09-18 with active_exploitation confirmed and poc_available true; active_exploitation_notes records the nslookup diagnostic command injection being exploited by botnets against exposed routers and KEV ransomware status as known. The injection point is the ping_ip parameter of the expert/maintenance/diagnostic/nslookup URI per the packet vector.",
58844
+ "gap_closes": [
58845
+ "AU-Essential-8-Patch",
58846
+ "NIST-800-53-SI-2"
58847
+ ]
58848
+ }
58849
+ ]
58511
58850
  },
58512
58851
  "CVE-2021-3129": {
58513
58852
  "name": "Laravel Ignition File Upload Vulnerability",
@@ -59924,7 +60263,40 @@
59924
60263
  "adequate": false,
59925
60264
  "gap": "A.8.22 segregation of networks would have confined the internal-only VCO functions to a trusted management segment; leaving them remotely reachable exposed the unauthenticated command-injection path, which network segregation is specifically meant to prevent."
59926
60265
  }
59927
- }
60266
+ },
60267
+ "new_control_requirements": [
60268
+ {
60269
+ "id": "NEW-CTRL-134",
60270
+ "name": "DEVICE-MANAGEMENT-GATEWAY-CONFIG-ENDPOINT-AUTH-INPUT-NEUTRALIZATION",
60271
+ "description": "VeloCloud Orchestrator is the SD-WAN management plane this control governs, and the defect sits on its network-facing interface: the packet states the exploited functionality was intended for internal use only and not intended to be remotely accessible, yet an unauthenticated attacker with only network reach to the VCO web interface reaches that privileged internal functionality and drives attacker-controlled input into an OS command on the orchestrator host. Bound to this product it means every privileged internal function on VCO makes its own authorization decision before the request is processed at all, and neutralizes the supplied input before it reaches an OS command, so internal-only is a property the endpoint enforces rather than an assumption inherited from where the orchestrator is deployed; and no on-prem VCO is left with that interface reachable from a segment with no operational need to reach it. Because the caller never authenticates as any VCO operator, per-account privilege scoping is never consulted, which is why an access-review attestation over orchestrator accounts passes cleanly while this path stays fully open. Distinguishing test: from a segment with no operational need to reach the orchestrator, send unauthenticated requests at each internal-only function on a staging VCO and confirm each is refused before anything executes. Precondition: the endpoint-side authorization and input handling are what Arista's fixed on-prem builds establish — 5.2.3.14, 6.1.3.4, 6.4.2.4 and 7.0.0.1 per the packet — this control states what to verify, it does not implement it. Until an instance is running one of those builds, restricting which segments can reach the web interface bounds who can send the request and leaves the endpoint fully exploitable to anything inside a permitted segment, and it is unavailable where the interface must stay reachable for edges and operators to work.",
60272
+ "evidence": "Packet vector: VeloCloud Orchestrator (VCO) on-prem has an issue that may allow a remote attacker to access privileged internal functionality and impact the VCO host; this functionality was intended to be for internal use only and is not intended to be remotely accessible; discovered externally and known to be actively exploited. affected: an internal-only privileged function is reachable over the network and passes attacker-controlled input into an OS command (CWE-78). active_exploitation_notes: an unauthenticated attacker with only network reach to the VCO web interface accesses privileged internal functionality and runs OS commands on the orchestrator host. live_patch_notes names the fixed on-prem builds 5.2.3.14, 6.1.3.4, 6.4.2.4 and 7.0.0.1. The NIS2 gap records the internal-only functionality as network-reachable with the management/API plane unsegmented; the ISO-27001-2022-A.8.22 gap records that segregation of networks would have confined the internal-only VCO functions to a trusted management segment; the UK-CAF-B4 gap records the internal-only endpoints as not restricted at the network layer.",
60273
+ "gap_closes": [
60274
+ "NIS2-Art21-network-security",
60275
+ "ISO-27001-2022-A.8.22",
60276
+ "UK-CAF-B4"
60277
+ ]
60278
+ },
60279
+ {
60280
+ "id": "NEW-CTRL-001",
60281
+ "name": "CISA-KEV-RESPONSE-SLA",
60282
+ "description": "On this entry the SLA's start condition matters more than its length. The packet records the flaw exploited in the wild as a zero-day before Arista's advisory, so no clock keyed to disclosure was running while it was being exploited, and CISA then listed it 2026-07-27 with a due date of 2026-07-30 — three days. The requirement is that every on-prem VCO is driven to the fixed build for its own branch — 5.2.0 to 5.2.3.14, 6.1.0 to 6.1.3.4, 6.4.0 to 6.4.2.4, 7.0.0 to 7.0.0.1 — on a clock that starts at patch availability rather than at the next change window, with completion measured by the version the running orchestrator reports rather than by an approved change record: the packet registers no live-patch path, so an instance carries the vulnerable code until it is actually running the fixed build. Scope the action to on-prem, which is what the packet's affected field and affected_versions cover; it states Hosted and Dedicated VCO were patched in advance of the notice, so those are not operator action items and sweeping them manufactures work. Until the fixed build lands, removing network reach to the VCO web interface is the compensating control and must be recorded as one rather than as remediation: it bounds who can send the request, does nothing against a caller inside a permitted segment, and cannot evict an attacker who already executed commands on the host during the pre-advisory window.",
60283
+ "evidence": "Packet: cisa_kev true, kev_date 2026-07-27, active_exploitation confirmed. active_exploitation_notes: exploited in the wild as a zero-day before Arista's advisory; CISA added it to KEV 2026-07-27 with an unusually short 3-day due date (2026-07-30); Hosted and Dedicated VCO were patched pre-disclosure and on-prem deployments bore the exposure. affected_versions: on-prem 5.2.0 < 5.2.3.14, 6.1.0 < 6.1.3.4, 6.4.0 < 6.4.2.4, 7.0.0 < 7.0.0.1. patch_available true, live_patch_available false; live_patch_notes: no vendor live-patch mechanism, remediation requires upgrading to Arista's fixed on-prem builds. The NIST-800-53-SI-2 gap records that SI-2 assumes a fixed release exists before exploitation and that a monthly remediation window is far wider than the 3-day KEV due date; the AU-Essential-8-Patch gap records the 48-hour internet-facing target being outrun by a zero-day exploited before a patch existed.",
60284
+ "gap_closes": [
60285
+ "NIST-800-53-SI-2",
60286
+ "AU-Essential-8-Patch"
60287
+ ]
60288
+ },
60289
+ {
60290
+ "id": "NEW-CTRL-037",
60291
+ "name": "FLEET-COMPROMISE-IR-PLAYBOOK",
60292
+ "description": "VCO is the control plane for a fleet of SD-WAN edges, and the packet states what its compromise costs: OS command execution on the orchestrator host, exposing all managed SD-WAN edge configuration and secrets. Because the flaw was exploited in the wild before Arista's advisory existed, any on-prem orchestrator that was network-reachable during that window has to enter this playbook rather than be closed on the upgrade. For this product the playbook means rotating every credential and key the orchestrator held or issued to managed edges, auditing every configuration pushed to the edge fleet since the start of the exposure window against a known-good baseline, defining in advance the criteria under which a downstream edge is quarantined rather than trusted, and rebuilding the orchestrator host rather than inheriting its state through the upgrade. Reaching 5.2.3.14, 6.1.3.4, 6.4.2.4 or 7.0.0.1 closes the injection path and returns nothing that was already read out of the host: edge configuration and secrets that left the orchestrator stay valid until they are rotated, so an estate that upgrades and stops has a clean flaw-remediation record over a fleet whose secrets the attacker still holds. Precondition: this is response, not prevention — it neither closes the command-injection path nor tells an operator whether a given orchestrator was reached, so the trigger has to be exposure during the pre-advisory window, not confirmation of intrusion.",
60293
+ "evidence": "Packet active_exploitation_notes: exploited in the wild as a zero-day before Arista's advisory; an unauthenticated attacker with only network reach to the VCO web interface accesses privileged internal functionality and runs OS commands on the orchestrator host, exposing all managed SD-WAN edge configuration and secrets. vector: successful exploitation may compromise the confidentiality, integrity, and availability of the orchestrator and data managed by the orchestrator. live_patch_notes names the fixed on-prem builds 5.2.3.14, 6.1.3.4, 6.4.2.4 and 7.0.0.1 with no live-patch mechanism. The UK-CAF-B4 gap records that an unauthenticated OS command injection on the SD-WAN control plane yields full host compromise regardless of endpoint hardening; the NIST-800-53-SI-2 gap records that on-prem VCO hosts were compromised before any patch could be scheduled.",
60294
+ "gap_closes": [
60295
+ "UK-CAF-B4",
60296
+ "NIST-800-53-SI-2"
60297
+ ]
60298
+ }
60299
+ ]
59928
60300
  },
59929
60301
  "CVE-2026-16232": {
59930
60302
  "name": "Check Point SmartConsole Improper Authentication Vulnerability",
@@ -60080,7 +60452,29 @@
60080
60452
  "adequate": false,
60081
60453
  "gap": "A.8.8 technical-vulnerability management flags the CVE but its remediation ticket does not capture the machine-key-rotation step this bug requires, so an ISMS marking the patch 'applied' still leaves the forged-token persistence path open."
60082
60454
  }
60083
- }
60455
+ },
60456
+ "new_control_requirements": [
60457
+ {
60458
+ "id": "NEW-CTRL-001",
60459
+ "name": "CISA-KEV-RESPONSE-SLA",
60460
+ "description": "CVE-2026-50522 gives a three-day KEV clock against exploitation that began immediately once a working PoC was public, which is the exact mismatch this control is written for. Applied to this farm it means Microsoft's July 2026 security update is driven across every SharePoint Server Subscription Edition, 2019 and 2016 server in the farm on the clock that opened with the 2026-07-22 listing, rather than on the monthly cadence the SI-2 gap describes or the two-week internet-facing application SLA the Essential-Eight gap describes. Completion is measured on the code the servers are actually running after the IIS reset or server reboot the packet records — the fix ships in a farm where the vulnerable SessionSecurityTokenHandler is already mapped into running worker processes, so a server that has installed the update and not restarted is still executing the pre-fix path and must be counted as exposed. The packet records no live-patch mechanism, so there is no vendor-side substitute for that restart. Precondition on the interim leg: restricting who can reach /_trust/default.aspx bounds who can post the forged token, but it is available only where federated sign-in through that endpoint is not in use — where it is, there is no compensating control and the update-plus-restart is the only action. And on this entry the four-hour verdict is not satisfied by the update alone: the packet makes machine-key rotation part of remediation, so a farm recorded as patched but not rotated is not mitigated.",
60461
+ "evidence": "Packet: cisa_kev true, kev_date 2026-07-22, active_exploitation 'confirmed', poc_available true, CVSS 9.8, RWEP 81. active_exploitation_notes: 'Mass exploitation began immediately after a working PoC became public (watchTowr telemetry)... KEV due date was 2026-07-25, three days after listing.' live_patch_notes: 'No live-patch mechanism exists for SharePoint; remediation requires Microsoft's July 2026 security update (an IIS reset / server reboot) AND rotation of the ASP.NET machine keys because exploitation exfiltrates them for persistence.' patch_required_reboot true, live_patch_available false. affected_versions list Subscription Edition, 2019 and 2016 below the July 2026 security update. The NIST-800-53-SI-2 gap states the three-day KEV window and hours-after-PoC exploitation fall 'far inside any monthly-patch cadence for an internet-facing SharePoint farm'; the AU-Essential-8-Patch gap states the two-week internet-facing SLA left the window 'fully exploitable'. attack_vector names the unauthenticated POST to /_trust/default.aspx.",
60462
+ "gap_closes": [
60463
+ "NIST-800-53-SI-2",
60464
+ "AU-Essential-8-Patch"
60465
+ ]
60466
+ },
60467
+ {
60468
+ "id": "NEW-CTRL-032",
60469
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
60470
+ "description": "This entry is the case where 'patched' and 'remediated' come apart, and the packet says so directly: exploitation exfiltrates the ASP.NET machine keys and attackers retain forged-token access after the update. Bound to this product the control means an on-premises SharePoint Server Subscription Edition, 2019 or 2016 farm that was network-reachable during the exposure window is handled as a compromised host, with the July 2026 update as the opening step of a response rather than its conclusion: rotate the ASP.NET machine keys across every server in the farm — the credential-rotation leg, which this packet makes mandatory rather than advisory — and treat the farm's configuration and content as attacker-writable, because the deserialization executed as the SharePoint service account. Sequence matters: keys rotated before the update and restart land can be stolen again through the same unpatched pre-authentication path, so the order is update, restart, then rotate. Distinguishing test: after remediation, confirm the machine keys in use differ from those in effect during the exposure window and that a __VIEWSTATE signed with the superseded key is rejected — an ISMS record showing the patch applied proves nothing about the forged-token path. Precondition: rotation evicts that forged-token path and nothing else; it does not remove anything the attacker placed while running as the service account, so a farm with evidence of execution belongs on the incident path rather than being closed on a patch-and-rotate record.",
60471
+ "evidence": "live_patch_notes: 'No live-patch mechanism exists for SharePoint; remediation requires Microsoft's July 2026 security update (an IIS reset / server reboot) AND rotation of the ASP.NET machine keys because exploitation exfiltrates them for persistence.' active_exploitation_notes: 'attackers steal ASP.NET machine keys to retain forged-token access after the patch, so patching alone does not evict them.' attack_vector: unauthenticated POST of a forged WS-Federation SecurityContextToken carrying a BinaryFormatter payload to /_trust/default.aspx, 'yielding remote code execution as the SharePoint service account, followed by machine-key theft for durable persistence.' The NIS2-Art21-patch-management gap states an operator 'who patches but does not rotate the stolen keys remains compromised via forged __VIEWSTATE tokens'; the ISO-27001-2022-A.8.8 gap states the remediation ticket 'does not capture the machine-key-rotation step this bug requires, so an ISMS marking the patch \"applied\" still leaves the forged-token persistence path open.' affected names SharePoint Server on-premises; active_exploitation 'confirmed'.",
60472
+ "gap_closes": [
60473
+ "NIS2-Art21-patch-management",
60474
+ "ISO-27001-2022-A.8.8"
60475
+ ]
60476
+ }
60477
+ ]
60084
60478
  },
60085
60479
  "CVE-2023-32315": {
60086
60480
  "name": "Ignite Realtime Openfire Path Traversal Vulnerability",
@@ -60668,7 +61062,31 @@
60668
61062
  "adequate": false,
60669
61063
  "gap": "A.8.8 technical vulnerability management cannot enumerate or remediate CPE outside the organization's asset inventory, so the 9.8-rated CWE-78 sink on these subscriber routers is invisible to the vulnerability-management process."
60670
61064
  }
60671
- }
61065
+ },
61066
+ "new_control_requirements": [
61067
+ {
61068
+ "id": "NEW-CTRL-127",
61069
+ "name": "UNSUPPORTED-NETWORK-DEVICE-ENUMERATION-AND-RETIREMENT",
61070
+ "description": "The packet carries both halves this control resolves per unit: patch_available is true with patch_required_reboot true and no live-patch path, while live_patch_notes states that for end-of-life units no delivery channel exists. So the first requirement is an inventory naming every ZyXEL P660HN-T1A v1 in service, recording for each its running firmware and whether a fixed or hotfix image is actually deliverable to it, with that status obtained from the vendor or from TrueOnline as the distributing ISP rather than assumed in either direction. Scope it to what the packet names — the P660HN-T1A v1 on TCLinux Fw $7.3.15.0 v001 / 3.40(ULM.0)b31, TrueOnline distribution — not to ZyXEL DSL gear generally, which would manufacture replacement work against hardware no evidence implicates. Units that can take the fixed image are remediation items on the clock that opened with the 2023-08-07 KEV listing and its 2023-08-28 due date, and because the fix is a firmware flash with no live-patch path, a unit that has been given an image but not restarted onto it is still executing the ViewLog.asp code and counts as exposed. Units with no delivery channel cannot be patched at all and are replacement items needing a dated schedule; a risk acceptance with no removal date leaves an unauthenticated 9.8 command-injection sink with a public PoC in service indefinitely. Precondition on the reachability half, which is where this control is most often over-claimed: blocking the router's HTTP administration surface from the WAN bounds who can reach /ViewLog.asp from the internet, but on ISP-provisioned CPE that lever usually belongs to TrueOnline rather than to the subscribing organisation, and every client on the network the gateway serves still reaches that page — for a unit serving a general user network there is no segment that removes the path, only isolation of that network from anything that matters. And because in-the-wild botnet exploitation is confirmed and the injection runs commands on the router itself, a unit that was exposed is not remediated by the flash alone: its configuration and administrative credential must be rebuilt from a known-good baseline rather than inherited across the update, and credentials that transited it rotated.",
61071
+ "evidence": "Packet: unauthenticated CWE-78 injection in the ViewLog.asp Remote System Log forwarding function's remote_host parameter on the ZyXEL P660HN-T1A v1 (TCLinux Fw $7.3.15.0 v001 / 3.40(ULM.0)b31), TrueOnline distribution; CVSS 9.8, RWEP 75, poc_available true; CISA KEV added 2023-08-07 with a 2023-08-28 remediation due date; active_exploitation confirmed, the notes recording in-the-wild recruitment of these ISP-distributed home gateways by Mirai/Gafgyt-family IoT botnets and EPSS ~0.945. patch_available true, patch_required_reboot true, live_patch_available false, with live_patch_notes stating that remediation requires flashing fixed/hotfix firmware (a device reboot) and that for end-of-life units no delivery channel exists. The ISO-27001-2022-A.8.8 gap records that the CPE sits outside the organisation's asset inventory; the NIS2-Art21-patch-management gap records that the obligation does not reach ISP-owned customer-premises equipment the reporting entity does not administer.",
61072
+ "gap_closes": [
61073
+ "ISO-27001-2022-A.8.8",
61074
+ "NIS2-Art21-patch-management",
61075
+ "AU-Essential-8-Patch",
61076
+ "UK-CAF-B4"
61077
+ ]
61078
+ },
61079
+ {
61080
+ "id": "NEW-CTRL-038",
61081
+ "name": "MITIGATION-ACTIVE-PATCH-PENDING-VERDICT-CLASS",
61082
+ "description": "For this fleet the three verdict states are not a bookkeeping distinction — the packet puts different P660HN-T1A units in different ones simultaneously. A unit flashed and restarted onto fixed firmware is state (a). A unit with no deliverable image, where the only thing between the internet and the ViewLog.asp remote_host sink is a WAN-side block on the router's HTTP administration surface, is state (b) and has to be recorded as an active compensating control carrying a dated action — replacement of the unit — rather than folded into a 'patched per SLA' line. A unit with neither is state (c): full exposure to an unauthenticated command injection with a public PoC and confirmed botnet exploitation. This matters here rather than being an audit formality because the packet's own gaps describe precisely that failure — a flaw-remediation process that assumes a managed patch pipeline and a patch window that is unenforceable when the device has no update channel, with the sink staying exploitable for years past the 2023-08-07 KEV listing. A fleet-level 'firmware current' percentage that averages states (a) and (c) together is how that record stays clean. Precondition on the state-(b) mitigation, and it is a real one: the WAN-side block bounds internet-origin requests only. It does not repair the unsanitised remote_host parameter, it leaves every host on the LAN the gateway serves able to reach /ViewLog.asp, on TrueOnline-provisioned CPE it is administered by the ISP rather than by the subscriber, and it does nothing about a gateway already conscripted before the block went on.",
61083
+ "evidence": "Packet: patch_available true, but live_patch_notes gives remediation as flashing fixed/hotfix firmware with a device reboot, live_patch_available false, and states that for end-of-life units no delivery channel exists. The NIST-800-53-SI-2 gap states that flaw remediation assumes a managed patch pipeline the ISP-provisioned units do not have, so the unauthenticated CWE-78 remote_host sink stayed exploitable for years past the 2023-08-07 KEV listing and kept feeding botnet recruitment; the AU-Essential-8-Patch gap states the 48-hour internet-facing patch window is unenforceable when the device has no update channel. CVSS 9.8, RWEP 75, poc_available true, active_exploitation confirmed.",
61084
+ "gap_closes": [
61085
+ "NIST-800-53-SI-2",
61086
+ "AU-Essential-8-Patch"
61087
+ ]
61088
+ }
61089
+ ]
60672
61090
  },
60673
61091
  "CVE-2023-35081": {
60674
61092
  "name": "Ivanti Endpoint Manager Mobile (EPMM) Path Traversal Vulnerability",
@@ -60729,7 +61147,40 @@
60729
61147
  "adequate": false,
60730
61148
  "gap": "A.8.8 technical-vulnerability management would have flagged EPMM for patching only after the 2023-07-28 advisory, whereas the arbitrary file write was already being chained in the wild; the control's disclosure-driven cadence trails the actual exploitation window."
60731
61149
  }
60732
- }
61150
+ },
61151
+ "new_control_requirements": [
61152
+ {
61153
+ "id": "NEW-CTRL-134",
61154
+ "name": "DEVICE-MANAGEMENT-GATEWAY-CONFIG-ENDPOINT-AUTH-INPUT-NEUTRALIZATION",
61155
+ "description": "Ivanti EPMM (formerly MobileIron Core) is the device-management appliance this control governs, and the defect sits on its file-handling endpoint: the packet's vector has an authenticated administrator writing arbitrary files onto the appliance through an unsanitized path traversal, and the attack path ends with a JSP web shell planted on the appliance filesystem. Bound to this product, the control means the EPMM administrative file-write endpoint authorizes its caller before the upload is processed at all, and normalizes and validates the destination path before the write executes, so a caller-supplied name cannot select which file gets written or where it lands. The authorization half is the load-bearing one here, and it is the reason the appliance's own account model gives no protection: the packet records this chained behind CVE-2023-35078, an authentication bypass, so the attacker never holds an EPMM administrator account, the per-account privilege model is never consulted, and an attestation that every EPMM administrator authenticates at login passes cleanly while the file-write path stays open. Distinguishing test: on a staging EPMM, send the administrative file-write endpoint a request whose destination path resolves outside the intended directory — once unauthenticated and once as a low-privilege operator — and confirm both are refused before anything is written to disk. Precondition, and this is where the control is most often over-claimed: path sanitization is a property the vendor builds establish, not something this control implements. Until 11.10.0.3 / 11.9.1.2 / 11.8.1.2 is running, restricting which segments can reach the administrative interface bounds who can send the request but leaves the endpoint fully exploitable to anything inside the permitted segment, and it is unavailable wherever that interface must stay reachable for normal administration. The packet records no live-patch path and an upgrade that restarts the appliance services, so an appliance that has taken the build but not restarted onto it is still executing the vulnerable handler and counts as exposed.",
61156
+ "evidence": "Packet fields for CVE-2023-35081: CWE-22; vector states a path traversal in Ivanti EPMM 11.10.x < 11.10.0.3, 11.9.x < 11.9.1.2, 11.8.x < 11.8.1.2 allows an authenticated administrator to write arbitrary files onto the appliance; affected describes the authenticated-admin file-write handler failing to sanitize path traversal; attack_vector records the file write chained behind the CVE-2023-35078 auth bypass to let an unauthenticated attacker plant a JSP web shell and execute code on the MDM appliance; poc_available true; patch_available true, patch_required_reboot true, live_patch_available false with live_patch_notes recording that the upgrade to 11.10.0.3 / 11.9.1.2 / 11.8.1.2 restarts the appliance services; cisa_kev true, kev_date 2023-07-31; active_exploitation confirmed; rwep_score 73, cvss 7.2.",
61157
+ "gap_closes": [
61158
+ "UK-CAF-B4",
61159
+ "ISO-27001-2022-A.8.8"
61160
+ ]
61161
+ },
61162
+ {
61163
+ "id": "NEW-CTRL-032",
61164
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
61165
+ "description": "For EPMM this control decides what the word 'remediated' is allowed to mean. The packet records confirmed zero-day exploitation of the CVE-2023-35078 + CVE-2023-35081 chain against internet-facing EPMM appliances, including a compromise of a Norwegian government platform, and a CISA/NCSC-NO advisory (AA23-213A, 2023-08-01) documenting web-shell deployment; the attack path plants a JSP web shell on the appliance. Upgrading to 11.10.0.3 / 11.9.1.2 / 11.8.1.2 closes the traversal but removes nothing already written through it — a JSP file dropped into the appliance before the upgrade survives the upgrade, and anything the appliance held while an attacker had code execution on it (administrative credentials, API keys, certificates, enrolment secrets) must be treated as read. So an EPMM that was reachable and below the fixed build during the exposure window is an incident item before it is a patch item: capture configuration and logs off the box first, rebuild the appliance from vendor media at the fixed build rather than upgrading in place, and rotate every credential the appliance held or that authenticated through it. The exposure window has to be dated from before the vendor advisory, not from it — the packet records this as exploited as a zero-day, with Ivanti shipping the fix on 2023-07-28 and KEV listing following on 2023-07-31, so an appliance that was internet-reachable in the weeks prior is in scope even though no advisory existed to act on. Precondition: rebuild-not-patch only produces a clean appliance if the restored configuration is itself reviewed rather than exported wholesale from the compromised instance, since an attacker with code execution could have modified it; and it does nothing for what already left the appliance, which is why the credential rotation half is not optional.",
61166
+ "evidence": "Packet fields for CVE-2023-35081: active_exploitation confirmed with active_exploitation_notes stating it was exploited as a zero-day, chained with CVE-2023-35078 to gain unauthenticated RCE on Ivanti EPMM (MobileIron Core) appliances, including a compromise of a Norwegian government platform, with CISA/NCSC-NO advisory AA23-213A issued 2023-08-01 documenting web-shell deployment and Ivanti shipping the fix 2023-07-28; attack_vector records a JSP web shell planted on the MDM appliance; cisa_kev true, kev_date 2023-07-31; poc_available true; rwep_score 73; patch_available true with fixed builds 11.10.0.3 / 11.9.1.2 / 11.8.1.2, live_patch_available false.",
61167
+ "gap_closes": [
61168
+ "NIST-800-53-SI-2",
61169
+ "AU-Essential-8-Patch",
61170
+ "ISO-27001-2022-A.8.8"
61171
+ ]
61172
+ },
61173
+ {
61174
+ "id": "NEW-CTRL-037",
61175
+ "name": "FLEET-COMPROMISE-IR-PLAYBOOK",
61176
+ "description": "EPMM is the control plane for an organization's mobile estate, so code execution on it is not a single-appliance incident — it is authority over every enrolled device. The packet's exploitation record makes that concrete: a chained zero-day yielding RCE on the MDM appliance, a web shell deployed per AA23-213A, and a government platform compromised. The playbook this CVE demands is therefore fleet-wide and has to be written before it is needed: revoke and re-issue any certificate the compromised EPMM issued or pushed, invalidate device trust state so an enrolled handset must re-establish it, audit every configuration profile and policy pushed since the start of the exposure window against a known-good baseline, define the criteria under which an enrolled device is quarantined rather than trusted, and rotate credentials for any account that authenticated through the appliance during that window. Sequencing matters on this CVE specifically: the appliance must be rebuilt to the fixed build first, because pushing revocations and fresh profiles from an appliance an attacker still controls hands the attacker the new material. Precondition: this is damage-bounding, not closure — it does not remove the traversal, which needs the 11.10.0.3 / 11.9.1.2 / 11.8.1.2 build and the appliance-service restart the packet records. It is also only executable against records held off the appliance: an attacker with code execution on EPMM can edit what the appliance's own profile-push and enrolment history say, so the audit needs an external copy of that history or it audits the attacker's version of events.",
61177
+ "evidence": "Packet fields for CVE-2023-35081: affected identifies Ivanti Endpoint Manager Mobile (EPMM, formerly MobileIron Core) — a mobile device management appliance; attack_vector records an unauthenticated attacker planting a JSP web shell and executing code on the MDM appliance when the file write is chained behind CVE-2023-35078; active_exploitation_notes record confirmed zero-day exploitation, a compromise of a Norwegian government platform, and CISA/NCSC-NO advisory AA23-213A (2023-08-01) documenting web-shell deployment; patch_available true, patch_required_reboot true, live_patch_available false, with live_patch_notes recording the upgrade to 11.10.0.3 / 11.9.1.2 / 11.8.1.2 restarting the appliance services; cisa_kev true, kev_date 2023-07-31.",
61178
+ "gap_closes": [
61179
+ "NIS2-Art21-patch-management",
61180
+ "ISO-27001-2022-A.8.8"
61181
+ ]
61182
+ }
61183
+ ]
60733
61184
  },
60734
61185
  "CVE-2023-37580": {
60735
61186
  "name": "Synacor Zimbra Collaboration Suite (ZCS) Cross-Site Scripting (XSS) Vulnerability (CVE-2023-37580)",
@@ -61333,7 +61784,30 @@
61333
61784
  "adequate": false,
61334
61785
  "gap": "A.8.8 technical-vulnerability management assumes vendor patches map cleanly to versions, but SolarView's non-linear fix history (6.00 vulnerable, 6.20/7.00 still vulnerable, 8.00 fixed) means a naive 'is it updated?' check passed for devices that remained exploitable."
61335
61786
  }
61336
- }
61787
+ },
61788
+ "new_control_requirements": [
61789
+ {
61790
+ "id": "NEW-CTRL-018",
61791
+ "name": "SCANNER-PAPER-COMPLIANCE-TEST",
61792
+ "description": "SolarView Compact is this control's case stated in the packet's own words. The fix lands only in firmware 8.00, and the packet states explicitly that the intermediate 6.20 and 7.00 releases do not fix conf_mail.php — so any check asking 'is this appliance newer than the vulnerable 6.00?' returns a pass for a device whose mail-test handler still passes web-form input straight to a shell, unauthenticated. The operational test for this product is therefore two-part: does the inventory record each SolarView Compact's exact firmware string and compare it against 8.00-or-later specifically rather than against later-than-6.00; and does it confirm the appliance has actually been restarted onto that firmware, since the packet records a firmware upgrade that reboots the device and no live-patch path, so a unit that has taken the image but not restarted is still running the injectable handler. Scope this to the SolarView Compact appliances the packet names — it ties the CWE-78 sink to that product's conf_mail.php and gives no mapping into other Contec products or other photovoltaic-monitoring equipment, so sweeping every PV or OT appliance in the estate as an instance of this CVE manufactures findings against devices no evidence implicates. The failure this exposes is concrete: an estate that ran a fleet-wide firmware refresh to 6.20 or 7.00 and closed the ticket presents a clean vulnerability-management record while every one of those units remains exploitable pre-authentication by the same scanner traffic that has been reaching them since March 2023.",
61793
+ "evidence": "Packet: CWE-78 command injection via conf_mail.php on the Contec SolarView Compact photovoltaic-monitoring appliance, unauthenticated; CVSS 9.8, RWEP 73, poc_available true; CISA KEV added 2023-07-13, due 2023-08-03. affected_versions records 'SolarView Compact ver.6.00 and earlier (fixed in firmware 8.00; 6.20 and 7.00 remain vulnerable)', and live_patch_notes states remediation is a firmware upgrade to 8.00 or later which reboots the device, live_patch_available false, and that intermediate 6.20/7.00 firmware does not fix the command injection. The NIST-800-53-SI-2 gap states an operator who 'updated' still ran the injectable endpoint; the ISO-27001-2022-A.8.8 gap states a naive 'is it updated?' check passed for devices that remained exploitable. active_exploitation confirmed, with Unit 42 observing a Mirai-variant botnet weaponising conf_mail.php from around 2023-03-15.",
61794
+ "gap_closes": [
61795
+ "NIST-800-53-SI-2",
61796
+ "ISO-27001-2022-A.8.8"
61797
+ ]
61798
+ },
61799
+ {
61800
+ "id": "NEW-CTRL-001",
61801
+ "name": "CISA-KEV-RESPONSE-SLA",
61802
+ "description": "The packet's gaps say the standard patch programs do not reach this appliance at all — Essential Eight targets enterprise operating systems and applications rather than embedded ICS firmware, and NIS2 patch management rarely covers solar-monitoring gear — so the requirement this control places on a KEV listing is the one that carries here: mitigation is a verified patch OR a documented compensating control, and the clock runs from the listing rather than from whenever the site's next maintenance visit is scheduled. For SolarView Compact the patch branch is the firmware upgrade to 8.00 or later with the device restart it requires; the compensating branch available from the day of the 2023-07-13 listing is removing the appliance's web server from direct internet reachability, since the exploited request is an unauthenticated HTTP request to conf_mail.php and reachability is the entire precondition for the Mirai-variant scanning the packet records. State the precondition rather than claiming the surface is removed: restricting reachability bounds who can send the request, it does not repair the handler. Any host that legitimately reaches the appliance — the installer's or O&M provider's remote-monitoring path, a site jump host, anything on the same plant network — still triggers the injection with no credential, and where the monitoring appliance must stay reachable by a third party for its operational purpose the compensating branch is simply unavailable and only the firmware jump closes it. Neither branch cleans a unit already carrying a bot payload dropped before the mitigation went on.",
61803
+ "evidence": "Packet: CISA added this to KEV on 2023-07-13 with a 2023-08-03 due date; active_exploitation confirmed, with Palo Alto Unit 42 observing a Mirai-variant botnet weaponising conf_mail.php from around 2023-03-15 and VulnCheck reporting that the majority of internet-facing SolarView systems remained unpatched. Unauthenticated CWE-78, CVSS 9.8, RWEP 73, poc_available true. patch_available true with patch_required_reboot true and live_patch_available false; live_patch_notes gives remediation as a firmware upgrade to SolarView Compact 8.00 or later, which reboots the device. The AU-Essential-8-Patch gap states the fix fell outside any standard patch program so the pre-auth RCE was not remediated within the KEV window; the NIS2-Art21-patch-management gap states the flaw stayed live on internet-facing units well past the 2023-08-03 due date; the UK-CAF-B4 gap states hardening for OT/monitoring gear seldom removes the SolarView web server's direct internet exposure.",
61804
+ "gap_closes": [
61805
+ "AU-Essential-8-Patch",
61806
+ "NIS2-Art21-patch-management",
61807
+ "UK-CAF-B4"
61808
+ ]
61809
+ }
61810
+ ]
61337
61811
  },
61338
61812
  "CVE-2023-37450": {
61339
61813
  "name": "Apple Multiple Products WebKit Code Execution Vulnerability (CVE-2023-37450)",
@@ -61922,7 +62396,30 @@
61922
62396
  "adequate": false,
61923
62397
  "gap": "A.8.8 technical-vulnerability management cannot remediate a GPU kernel-driver UAF on managed handsets when the fixed driver revision is unavailable for the device model, so the control records a known-exploited flaw it has no path to close."
61924
62398
  }
61925
- }
62399
+ },
62400
+ "new_control_requirements": [
62401
+ {
62402
+ "id": "NEW-CTRL-126",
62403
+ "name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
62404
+ "description": "For the Arm Mali GPU kernel driver the fixed level is a driver revision delivered as an OEM/carrier OS or firmware update, and it is NOT one number across the fleet — reading it as one is how this control readmits a vulnerable handset. The packet gives the affected ranges per architecture: Bifrost r16p0 through r29p0 and Valhall r19p0 through r29p0 are recorded as before r30p0, so r30p0 or later passes on those; Midgard is recorded as r28p0 through r30p0, so r30p0 is still affected there and a Midgard device at that revision must not be admitted. The packet names no fixed revision for Midgard, so that threshold has to be obtained from Arm or the OEM for the model in question rather than inferred from the other two architectures — and until it is, a Midgard handset has no verified pass condition. The access condition therefore keys on the pair (architecture, driver revision), never on the revision alone, and the reason this control's access-condition half is the load-bearing one is that every other lever the operator holds sits above the boundary that fails. The packet has an unprivileged local process reaching freed kernel memory and escalating to root, so the app sandbox is not a boundary and on-device privilege scoping is not being violated — it is being bypassed; and as the CAF gap states, MDM policy cannot patch a kernel driver. What MDM can do is withhold the data: a handset whose Mali driver is below the fixed revision for its architecture is denied mail, VPN and document access until it is at or above it, so the revision functions as an access condition rather than as a row on a compliance dashboard. Because the packet records that the r30p0 driver lags by months or never arrives for many Android device models, the status is a per-model question and must be obtained from the OEM rather than assumed in either direction — models for which an OEM build carrying the fix does exist are remediation items on the clock that opened with the 2023-07-07 KEV listing, and models for which the operator cannot obtain one have no patch path at all and need a decision about whether they hold organizational data. Distinguishing test: enrol a handset on a driver revision below the fix and confirm the policy actually denies it access to protected resources; an estate that surfaces the stale revision on a report while the device keeps its mail and VPN has recorded the exposure rather than removed it. Precondition: patch_required_reboot is true and there is no live-patch mechanism, so a handset that has taken an OS/firmware update but not rebooted is still executing the vulnerable driver and must count as exposed. And an access condition does not evict spyware already resident — this is a local escalation reached from an app already on the device, so a handset suspected of having run the chain belongs on the incident path, not the policy path.",
62405
+ "evidence": "The packet records the Arm Mali GPU kernel driver allowing an unprivileged user access to freed memory, leading to information disclosure or root privilege escalation, with CISA KEV listing on 2023-07-07, active_exploitation confirmed, CVSS 8.8, RWEP 51, and poc_available false with no public PoC for this specific CVE confirmed; active_exploitation_notes records this class of Mali use-after-free being weaponized by commercial/mercenary spyware to escalate from a sandboxed app to root on Android devices. patch_available is true, patch_required_reboot is true, live_patch_available is false, and live_patch_notes states there is no live-patch mechanism for the Mali GPU kernel driver and that the fix ships in driver revision r30p0 requiring an OS/firmware update and device reboot. The cited NIST 800-53 AC-6 gap states least privilege assumes an unprivileged app cannot cross into kernel context while this flaw defeats the app-sandbox privilege boundary; the UK CAF B4 gap states MDM policy cannot patch a kernel driver; the NIS2 Art.21 gap states the fix depends on the OEM/carrier shipping the r30p0 driver, which for many Android devices lags the 2023-07-07 KEV date by months or never arrives. affected_versions records the ranges per architecture — 'Arm Mali Bifrost driver r16p0 through r29p0 (before r30p0)', 'Arm Mali Valhall driver r19p0 through r29p0 (before r30p0)' and 'Arm Mali Midgard driver r28p0 through r30p0' — so r30p0 is the fixed level on Bifrost and Valhall and is itself an affected revision on Midgard, for which no fixed revision is given.",
62406
+ "gap_closes": [
62407
+ "NIST-800-53-AC-6",
62408
+ "UK-CAF-B4",
62409
+ "NIS2-Art21-patch-management"
62410
+ ]
62411
+ },
62412
+ {
62413
+ "id": "NEW-CTRL-018",
62414
+ "name": "SCANNER-PAPER-COMPLIANCE-TEST",
62415
+ "description": "The version identity that decides this CVE is a GPU driver revision, and it does not appear anywhere in the Android version or security-patch-level string a fleet-compliance report reads. The packet expresses the affected range per Mali architecture — Bifrost r16p0 through r29p0, Valhall r19p0 through r29p0, Midgard r28p0 through r30p0 — so a handset marked compliant because its security patch level is current has not been evaluated against this CVE at all; the report answers a different question and returns a pass. Applied here the control means the check resolves, per device, which Mali architecture the SoC carries and what driver revision the running kernel reports, compares that against the fixed revision for that architecture, and records a device that cannot report its driver revision as unverified rather than as passing — for a KEV-listed local root escalation those are not the same verdict. The per-architecture read matters and is the specific trap in this packet: the ranges given for Bifrost and Valhall stop before r30p0 while the range given for Midgard runs through r30p0, so a blanket 'at or above r30p0' rule applied across all three is not supported by the packet, and the fixed revision for Midgard has to be confirmed against the vendor advisory rather than generalized from the other two. Distinguishing test: take a handset the fleet report already marks compliant, read the Mali driver revision the kernel actually reports, and confirm it is at or above the fixed revision for its architecture. Precondition: this is a verification control — it changes what the estate knows, not what the device runs. It gives nothing on a model for which no OEM build carrying the fix exists, and it cannot close the gap on its own, since patch_required_reboot is true and a handset that has not rebooted onto the updated driver is still executing the vulnerable code however the inventory reads.",
62416
+ "evidence": "The packet's affected_versions record Arm Mali Bifrost driver r16p0 through r29p0 (before r30p0), Valhall r19p0 through r29p0 (before r30p0), and Midgard r28p0 through r30p0, while live_patch_notes states the fix ships in driver revision r30p0 and requires an OS/firmware update and device reboot; patch_required_reboot is true and live_patch_available is false. The cited ISO/IEC 27001:2022 A.8.8 gap states technical-vulnerability management cannot remediate this on managed handsets when the fixed driver revision is unavailable for the device model, so the control records a known-exploited flaw it has no path to close. The Essential Eight gap states Arm Mali fixes flow through a fragmented Android OEM supply chain, so the r30p0 driver often cannot be applied within the mitigation's window even after the 2023-07-07 KEV listing.",
62417
+ "gap_closes": [
62418
+ "ISO-27001-2022-A.8.8",
62419
+ "AU-Essential-8-Patch"
62420
+ ]
62421
+ }
62422
+ ]
61926
62423
  },
61927
62424
  "CVE-2019-17621": {
61928
62425
  "name": "D-Link DIR-859 Router Command Execution Vulnerability",
@@ -61983,7 +62480,21 @@
61983
62480
  "adequate": false,
61984
62481
  "gap": "A.8.8 technical-vulnerability management records a known-exploited root RCE it has no remediation for, since the DIR-859 is unsupported; the control degrades to asset-retirement rather than patching, which many operators never action."
61985
62482
  }
61986
- }
62483
+ },
62484
+ "new_control_requirements": [
62485
+ {
62486
+ "id": "NEW-CTRL-127",
62487
+ "name": "UNSUPPORTED-NETWORK-DEVICE-ENUMERATION-AND-RETIREMENT",
62488
+ "description": "This is the terminal case for the control rather than the mixed one. The packet records patch_available false and live_patch_notes stating there is no fix: the DIR-859 is end-of-life and D-Link's advisory SAP10146 directs owners to retire and replace the device rather than patch. So there is no 'reach the fixed build' state to inventory toward — every DIR-859 in service on firmware 1.05 or 1.06B01 Beta01 is a replacement item, and the enumeration exists to produce a dated replacement schedule per unit rather than a patch-compliance figure. Scope it to the DIR-859 at those firmware levels: the packet ties the /gena.cgi UPnP command injection to that model and gives no mapping into other D-Link routers, so treating the wider D-Link estate as instances of this CVE manufactures replacement work against hardware no evidence implicates. For the window before each unit is physically removed the packet gives the interim mitigation as disabling UPnP or blocking the service at the network edge, and the precondition on that is exactly what makes replacement non-negotiable rather than optional: it does not remove the /gena.cgi code path, it depends on the UPnP service staying disabled across a configuration restore or factory reset on a device no central console manages, and edge blocking does nothing about the attack position the vector itself names — a crafted HTTP SUBSCRIBE request sent when connecting to the local network — so any client, guest device or already-conscripted host on the LAN still reaches root command execution. And because active exploitation is confirmed and the packet states that exploited DIR-859 devices generally stay compromised, a unit that was exposed is not returned to service by reconfiguration: it is removed, and any credential that transited it rotated.",
62489
+ "evidence": "Packet: an unauthenticated HTTP SUBSCRIBE request to the UPnP endpoint /gena.cgi executes system commands as root on the D-Link DIR-859 Wi-Fi router, affected_versions firmware 1.05 and 1.06B01 Beta01; CVSS 9.8, RWEP 86, poc_available true; CISA KEV added 2023-06-29. active_exploitation confirmed, with the notes recording that Mirai-variant botnets fold the /gena.cgi command injection into their scanner/loader chains to conscript exposed DIR-859 routers for DDoS, and that because the DIR-859 is end-of-life, exploited devices generally stay compromised. patch_available false and live_patch_available false, with live_patch_notes stating no fix is available, that D-Link's advisory SAP10146 directs owners to retire and replace the device rather than patch, and that interim mitigation is disabling UPnP / blocking the service at the network edge. The NIS2-Art21-patch-management gap states the only compliant action is decommissioning, which a patch-centric process does not mandate; the ISO-27001-2022-A.8.8 gap states the control degrades to asset retirement, which many operators never action.",
62490
+ "gap_closes": [
62491
+ "NIS2-Art21-patch-management",
62492
+ "AU-Essential-8-Patch",
62493
+ "ISO-27001-2022-A.8.8",
62494
+ "UK-CAF-B4"
62495
+ ]
62496
+ }
62497
+ ]
61987
62498
  },
61988
62499
  "CVE-2019-20500": {
61989
62500
  "name": "D-Link DWL-2600AP Access Point Command Injection Vulnerability",
@@ -62044,7 +62555,31 @@
62044
62555
  "adequate": false,
62045
62556
  "gap": "Technical vulnerability management that excludes network-appliance firmware from scanning misses this CWE-78 sink entirely; the admin.cgi injection is invisible to app-focused vuln scans."
62046
62557
  }
62047
- }
62558
+ },
62559
+ "new_control_requirements": [
62560
+ {
62561
+ "id": "NEW-CTRL-127",
62562
+ "name": "UNSUPPORTED-NETWORK-DEVICE-ENUMERATION-AND-RETIREMENT",
62563
+ "description": "The D-Link DWL-2600AP wireless access point is the network device this control governs, and the packet supplies both halves it needs: a fix exists — flashing the D-Link firmware named in advisory SAP10113, with a device reboot and no live-patch path — and the flaw-remediation gap records the DWL-2600AP as an end-of-life embedded AP most operators never patch, with the live-patch note giving 'retiring the EOL unit' as the alternative to flashing. So the first requirement is an inventory naming every DWL-2600AP in service with its hardware revision and its running firmware version, and an end-of-support status for that exact model and revision obtained from D-Link rather than assumed in either direction; the packet gives the vulnerable level as firmware 4.2.0.15 Rev A and earlier but names no fixed build, so the fixed firmware level has to come from advisory SAP10113 itself for that model and revision. Scope the sweep to the DWL-2600AP: the packet ties the admin.cgi?action=config_save sink to that model alone and maps it into no other D-Link access point, so treating every AP in the estate as an instance of this CVE manufactures findings and replacement work against hardware no evidence implicates. Units whose revision has firmware carrying the fix are remediation items on the clock that opened with the 2023-06-29 KEV listing, and because there is no live-patch path and the flash requires a reboot, an AP that has taken the image but has not restarted onto it is still executing the vulnerable admin.cgi and counts as exposed — measure completion on the firmware version the AP reports after the restart, not on the number of images pushed. Units whose revision has no fixed image cannot be patched at all and need a dated replacement schedule; and because the product is end-of-life, reaching the SAP10113 build is an interim state on every unit — the terminal state is removal or replacement, since an AP that will take no further D-Link firmware stays exposed to everything found in that firmware since that build, and a risk acceptance with no removal date leaves a device with a public PoC and confirmed exploitation in service indefinitely. Precondition on the reachability half, which is where this control is most often over-claimed: the injection sits behind the AP's web administration login, so keeping that administration surface off the WAN and off general user segments bounds who can attempt it — but the packet records that the authenticated precondition is trivially met with default or reused admin credentials, so that bounding is worth nothing on a unit whose administrative credential was never rotated, and an AP exists to serve the client network attached to it, so clients on that network still reach the login. And because active exploitation is confirmed and a successful config_save injection executes commands as root on the AP itself, a unit that was reachable during the exposure window is not remediated by firmware alone: its configuration and administrative credential must be rebuilt from a known-good baseline rather than inherited through the flash, and credentials that transited it rotated.",
62564
+ "evidence": "Packet facts only: patch_available true with remediation given as flashing the fixed D-Link firmware per advisory SAP10113 and rebooting the device 'or retiring the EOL unit'; patch_required_reboot true; live_patch_available false. The NIST-800-53-SI-2 gap states 'the DWL-2600AP is an end-of-life embedded AP most operators never patch; SI-2 flaw-remediation assumes a maintained vendor pipeline that EOL hardware lacks, so the KEV due date (2023-07-20) went unmet across fleets'; the AU-Essential-8-Patch gap records Essential Eight patching as not covering 'firmware on EOL access points'. Vector: DWL-2600AP 4.2.0.15 Rev A, authenticated OS command injection via the Save Configuration functionality using shell metacharacters in the admin.cgi?action=config_save configBackup or downloadServerip parameter; affected_versions 'D-Link DWL-2600AP firmware 4.2.0.15 Rev A and earlier'; attack_vector ends in 'executing arbitrary commands as root on the AP'. CISA KEV listing 2023-06-29, active_exploitation confirmed, poc_available true, EPSS ~0.97. UK-CAF-B4 gap: 'B4 network-device hardening seldom enforces credential rotation or admin-UI exposure limits on embedded APs, so the authenticated precondition is trivially met with default or reused admin credentials.' ISO-27001-2022-A.8.8 gap: vulnerability management excluding network-appliance firmware from scanning 'misses this CWE-78 sink entirely'. NIS2 gap: these devices 'sit outside the asset inventory NIS2 assumes patch cadences reach'.",
62565
+ "gap_closes": [
62566
+ "NIST-800-53-SI-2",
62567
+ "NIS2-Art21-patch-management",
62568
+ "ISO-27001-2022-A.8.8",
62569
+ "UK-CAF-B4"
62570
+ ]
62571
+ },
62572
+ {
62573
+ "id": "NEW-CTRL-001",
62574
+ "name": "CISA-KEV-RESPONSE-SLA",
62575
+ "description": "For the DWL-2600AP the KEV clock opened 2023-06-29 with a 2023-07-20 due date the packet records as unmet across fleets, so the requirement here is that the listing produce a verified per-unit action rather than a ticket filed against a device class no patch program owns. On a unit whose revision has a fixed image in advisory SAP10113, the action that satisfies the clock is the flash plus the reboot, verified by reading back the firmware version the AP is running — the packet records no live-patch mechanism for this embedded AP firmware, so nothing shorter counts, and an image staged but not restarted onto leaves admin.cgi's config_save handler executing pre-fix code. On a unit whose revision has no fixed image, no patch action exists and the clock can only be met as a documented compensating control carrying a removal date: taking the AP's web administration surface off untrusted segments and rotating the administrative credential the packet describes as default or reused. State that mitigation's limit rather than recording it as closure — it bounds who can reach the configBackup / downloadServerip parameters, it does not remove the unsanitized shell path for anyone still permitted to authenticate, and it does nothing on a unit already enrolled into the Mirai IoT-botnet campaigns the packet records. Carrying an unpatchable end-of-life AP as 'risk accepted' with no removal date is the outcome this control exists to prevent: with a public PoC and EPSS ~0.97 the unit remains a mass-scan target for as long as it is in service.",
62576
+ "evidence": "Packet facts only: cisa_kev true with kev_date 2023-06-29; the NIST-800-53-SI-2 gap names the KEV due date as 2023-07-20 and states it 'went unmet across fleets while Mirai mass-exploited it'. patch_available true, remediation recorded as 'flashing the fixed D-Link firmware per advisory SAP10113 and rebooting the device (or retiring the EOL unit)'; live_patch_available false with 'No live-patch mechanism for embedded AP firmware'; patch_required_reboot true. active_exploitation confirmed; active_exploitation_notes record incorporation 'into Mirai IoT-botnet campaigns that chain multiple embedded-device exploits to build DDoS bots' and 'EPSS ~0.97 reflects near-ubiquitous mass-scan/exploit attempts'; poc_available true. AU-Essential-8-Patch gap: 'the vulnerable 4.2.0.15 firmware stays deployed long after the SAP10113 fix, and Mirai mass-exploits the gap.' UK-CAF-B4 gap supplies the default-or-reused admin credential condition.",
62577
+ "gap_closes": [
62578
+ "NIST-800-53-SI-2",
62579
+ "AU-Essential-8-Patch"
62580
+ ]
62581
+ }
62582
+ ]
62048
62583
  },
62049
62584
  "CVE-2021-25487": {
62050
62585
  "name": "Samsung Mobile Devices Out-of-Bounds Read Vulnerability",
@@ -62970,7 +63505,28 @@
62970
63505
  "adequate": false,
62971
63506
  "gap": "A.8.8 technical vulnerability management cannot act on NAS appliances absent from the asset inventory, so the crafted-HTTP-request command injection remains an untracked critical exposure."
62972
63507
  }
62973
- }
63508
+ },
63509
+ "new_control_requirements": [
63510
+ {
63511
+ "id": "NEW-CTRL-054",
63512
+ "name": "BACKUP-TIER-NETWORK-ISOLATION",
63513
+ "description": "The Zyxel NAS326, NAS540 and NAS542 are the storage appliances this control governs, and the packet's path reaches them with no credential at all: an unauthenticated crafted HTTP request to the NAS web management interface reaches an OS command on the box that holds the data. Applied to these units the control means that management interface answers only from an operator subnet or an authenticated VPN — not from the general user VLAN, and not from the WAN through a router port-forward or UPnP mapping, which is how small-business and branch NAS hardware normally acquires the exposure the packet records as routine on these models. Constrain the appliance's outbound path as well, so a NAS running attacker-supplied commands cannot reach arbitrary destinations with the data it stores; the packet records internet-facing Zyxel NAS devices as a recurring botnet target. The distinguishing test, run per model because all three are in scope: from a general user VLAN and from an external address, attempt to load the web management interface of each NAS326, NAS540 and NAS542 in service — anything that answers is within reach of the public PoC, and 'the NAS is on the internal network' is an assertion about topology, not a demonstration that the management interface is unreachable from untrusted segments. Two preconditions, both routinely skipped when this is recorded as the mitigation. Reachability is the exploit's only access requirement, so bounding it bounds who can send the request — it does not repair the unsanitized input path, and any host already inside a permitted segment, including a compromised workstation, still reaches a sink that requires no authentication; and where the web UI must stay reachable for remote use, this lever is unavailable outright and the fixed V5.21 firmware is the only remedy. Nor does isolation applied after the fact evict anyone: with exploitation confirmed and the outcome OS command execution on the appliance, a unit that was WAN-reachable before the update belongs on the incident path rather than being closed on the firmware record.",
63514
+ "evidence": "Packet facts only: vector states 'The pre-authentication command injection vulnerability in the Zyxel NAS326 firmware versions prior to V5.21(AAZF.14)C0, NAS540 firmware versions prior to V5.21(AATB.11)C0, and NAS542 firmware versions prior to V5.21(ABAG.11)C0 could allow an unauthenticated attacker to execute some operating system (OS) commands remotely by sending a crafted HTTP request'; affected names the web management interface failing to sanitize input before executing OS commands pre-authentication. cvss 9.8, rwep_score 75, poc_available true, active_exploitation confirmed, cisa_kev true (2023-06-23). active_exploitation_notes: 'Internet-facing Zyxel NAS devices are a recurring botnet target, and the preauth CWE-78 sink is trivially mass-scannable (EPSS ~0.84)'. UK-CAF-B4 gap: 'CAF B4 hardening expects management interfaces off the public internet, yet these NAS devices commonly expose the vulnerable web UI to the WAN, so the routine hardening posture never removes the reachable preauth injection point.' live_patch_available false; live_patch_notes: 'No live-patch mechanism for the NAS firmware; remediation requires installing the fixed V5.21 firmware build, which reboots the device.'",
63515
+ "gap_closes": [
63516
+ "UK-CAF-B4"
63517
+ ]
63518
+ },
63519
+ {
63520
+ "id": "NEW-CTRL-001",
63521
+ "name": "CISA-KEV-RESPONSE-SLA",
63522
+ "description": "The KEV listing for these NAS appliances is 2023-06-23 with a 2023-07-14 due date, and the packet records why it slips: consumer and small-business NAS boxes are rarely enrolled in a managed patch program, so a 9.8-rated pre-authentication command injection stays live on internet-facing units well past the date. Bound to this product the SLA is a per-model obligation, not a per-CVE one — the packet gives three distinct fixed builds, NAS326 to V5.21(AAZF.14)C0, NAS540 to V5.21(AATB.11)C0 and NAS542 to V5.21(ABAG.11)C0 — so an estate that updates one model and closes the finding still runs the unsanitized handler on the other two. The packet records no live-patch mechanism for this firmware and an install that reboots the device, so the action that satisfies the clock is the reboot onto the fixed build, verified by reading the build each unit reports; an image downloaded but not installed leaves the appliance executing the vulnerable web handler and must not be counted. Where a unit cannot be taken through the update inside the window, the only thing that counts as a documented compensating control is removing the web management interface's reachability from untrusted networks — and it has to carry a date for the firmware rather than standing in for it, because the pre-authentication sink stays reachable from every segment still permitted and from any host compromised inside one.",
63523
+ "evidence": "Packet facts only: cisa_kev true, kev_date 2023-06-23; active_exploitation_notes state 'added to CISA KEV 2023-06-23 (due 2023-07-14)'. Fixed builds per model from vector and affected_versions: NAS326 < V5.21(AAZF.14)C0, NAS540 < V5.21(AATB.11)C0, NAS542 < V5.21(ABAG.11)C0. patch_available true; patch_required_reboot true; live_patch_available false with live_patch_notes 'No live-patch mechanism for the NAS firmware; remediation requires installing the fixed V5.21 firmware build, which reboots the device.' cvss 9.8; poc_available true; EPSS ~0.84 per active_exploitation_notes. NIST-800-53-SI-2 gap: 'SI-2 flaw remediation depends on operators applying the fixed V5.21 firmware, but consumer/SMB NAS appliances are rarely enrolled in a managed patch program, so the unauthenticated CWE-78 sink stayed live on internet-facing units well past the 2023-06-23 KEV listing.' AU-Essential-8-Patch gap: 'Essential 8's internet-facing patch SLA is undercut because the NAS web UI is exposed by default and owners seldom monitor Zyxel advisories, leaving the 9.8-rated injection exploitable beyond the intended window.'",
63524
+ "gap_closes": [
63525
+ "NIST-800-53-SI-2",
63526
+ "AU-Essential-8-Patch"
63527
+ ]
63528
+ }
63529
+ ]
62974
63530
  },
62975
63531
  "CVE-2023-20887": {
62976
63532
  "name": "Vmware Aria Operations for Networks Command Injection Vulnerability",
@@ -63207,8 +63763,39 @@
63207
63763
  "adequate": false,
63208
63764
  "gap": "Technical vulnerability management that scans only the OS misses application-level CWE-78 in Roundcube; the fixed version is well known but the webmail asset is frequently unscanned."
63209
63765
  }
63210
- }
63211
- },
63766
+ },
63767
+ "new_control_requirements": [
63768
+ {
63769
+ "id": "NEW-CTRL-025",
63770
+ "name": "CONFIGURATION-SIDE-LIVE-PATCH-INVENTORY",
63771
+ "description": "Roundcube Webmail's vulnerable sink is itself a configuration value: rcube_image.php builds the ImageMagick command line out of the im_convert_path / im_identify_path settings and never neutralizes shell metacharacters in them, so the tainted command runs as the web-server user the moment Roundcube processes an image such as a message attachment. That makes the configuration-side path a mitigation an operator can deploy today, independent of the vendor-patch path, and the packet's own application-hardening gap names it — hardening that covers browsers and Office macros but not 'disabling or pinning ImageMagick invocation in webmail' leaves the shell-metacharacter path live. Applied to this product the requirement is to inventory every self-hosted Roundcube instance's configuration for those two settings, pin each to a fixed absolute path to the ImageMagick binary with no shell metacharacters (or leave the image-conversion setting unconfigured on deployments that do not need conversion), and hold that as a tested, deployable change rather than as advice waiting on a maintenance window. Running the inventory is also a detection step, keyed on the behaviour the packet documents rather than on an assumed signature: an instance whose im_convert_path or im_identify_path already contains shell metacharacters is not a hardening finding, it is evidence the sink was set, and that host belongs on the incident path. State the precondition rather than recording this as closure, because it is the whole reason it cannot substitute for the upgrade: the pinned value holds only while it stays pinned, so anyone able to write the Roundcube configuration — including a hosting control panel that regenerates it — can reintroduce the metacharacters, and the unsanitized construction inside rcube_image.php remains present until the instance reaches 1.4.4, 1.3.11 or 1.2.10 or later. It is a holding measure for the window before the upgrade, not a removal of the surface.",
63772
+ "evidence": "Packet facts only: vector states 'rcube_image.php in Roundcube Webmail before 1.4.4 allows attackers to execute arbitrary code via shell metacharacters in a configuration setting for im_convert_path or im_identify_path'; affected states rcube_image.php 'constructs an ImageMagick shell command from the im_convert_path / im_identify_path configuration values without sanitizing shell metacharacters (CWE-78)'; attack_vector states that when Roundcube processes an image (e.g. an attachment) rcube_image.php 'runs the tainted command as the web-server user, achieving code execution'. AU-Essential-8-App-Hardening gap: 'Essential Eight application hardening focuses on browsers and Office macros, not on disabling or pinning ImageMagick invocation in webmail, so the shell-metacharacter path stays live.' UK-CAF-B4 gap: 'B4 system-security baselines rarely harden the webmail application layer against config-value injection; the im_convert_path sink is a trusted-config path that operators do not treat as attacker-influenced.' Fixed releases from affected_versions and live_patch_notes: 1.4.4 / 1.3.11 / 1.2.10 or later; live_patch_available false. cvss 9.8, poc_available true, active_exploitation confirmed.",
63773
+ "gap_closes": [
63774
+ "AU-Essential-8-App-Hardening",
63775
+ "UK-CAF-B4"
63776
+ ]
63777
+ },
63778
+ {
63779
+ "id": "NEW-CTRL-001",
63780
+ "name": "CISA-KEV-RESPONSE-SLA",
63781
+ "description": "This Roundcube entry is the case of the clock never starting: the packet records a fixed release from 2020-04-29 and a KEV listing only on 2023-06-22, and states that organizations treating webmail as low priority left an internet-facing RCE exposed for years. Bound to this product the SLA means the 2023-06-22 listing forces a verified action on every self-hosted Roundcube instance across all three maintenance branches the packet names — 1.2.x to 1.2.10, 1.3.x to 1.3.11, and otherwise 1.4.4 or later — because a mail estate that upgrades its 1.4 host and closes the ticket still runs rcube_image.php's unsanitized ImageMagick invocation on a 1.2 or 1.3 host. patch_required_reboot is false, and that means no machine reboot, not that the fix is live on deployment: the packet's remediation is the upgrade plus a restart of the web application, so a PHP process still serving pre-upgrade code is not remediated, and completion must be measured on the version the running application reports rather than on the files on disk. There is no vendor live-patch, so nothing short of that upgrade-and-restart satisfies the clock. Precondition: this reaches only the instances the operator knows are running — the forgotten self-hosted mail host the packet describes is remediated by finding and either enrolling or decommissioning it, and an SLA attested against a partial list of webmail assets passes cleanly while that host stays exposed.",
63782
+ "evidence": "Packet facts only: cisa_kev true, kev_date 2023-06-22, active_exploitation confirmed with 'Added to CISA KEV on 2023-06-22 as confirmed exploited'; cvss 9.8, rwep_score 67, poc_available true, EPSS ~0.84 per active_exploitation_notes. NIST-800-53-SI-2 gap: 'A fixed release existed from 2020-04-29, yet the CVE only entered KEV in 2023; SI-2's remediation clock never started for organizations that treat webmail as low priority, leaving a multi-year exposure on an internet-facing RCE.' NIS2-Art21-patch-management gap: 'Self-hosted Roundcube often falls outside centralized patch management; the config-driven command injection persists on forgotten mail hosts that patch cadences do not reach.' affected_versions: 'Roundcube Webmail < 1.4.4', 'Roundcube Webmail 1.3.x < 1.3.11', 'Roundcube Webmail 1.2.x < 1.2.10'. patch_available true; patch_required_reboot false; live_patch_available false with live_patch_notes 'No vendor live-patch; remediation requires upgrading to Roundcube 1.4.4 / 1.3.11 / 1.2.10 or later and restarting the web application.'",
63783
+ "gap_closes": [
63784
+ "NIST-800-53-SI-2",
63785
+ "NIS2-Art21-patch-management"
63786
+ ]
63787
+ },
63788
+ {
63789
+ "id": "NEW-CTRL-018",
63790
+ "name": "SCANNER-PAPER-COMPLIANCE-TEST",
63791
+ "description": "A scan that pronounces a Roundcube host patched from its operating-system package inventory alone is paper compliance for this CVE, and the packet's technical-vulnerability-management gap describes exactly that failure: scanning only the OS misses the application-level CWE-78 in Roundcube, and the fixed version is well known while the webmail asset itself goes unscanned. The operational test for this product has two halves and both must pass. Does the scan read the version the deployed Roundcube actually reports and compare it against the branch-specific fixed builds — 1.2.10, 1.3.11, 1.4.4 or later — rather than against the distribution's package list, so a webmail instance unpacked into a webroot that no package manager owns is still assessed? And does it read the im_convert_path / im_identify_path settings the injection travels through, so an instance whose configuration already carries shell metacharacters is surfaced as a compromise indicator instead of being scored on version alone? A scanner returning clean on a host running a pre-1.4.4 (or pre-1.3.11, or pre-1.2.10) Roundcube is producing a compliance record, not a finding. Precondition: this governs the quality of the verdict on assets the scan already covers — it does not discover a self-hosted webmail instance nobody registered, and a scan scoped to a host list that omits the mail server will pass this test and still miss the exposure.",
63792
+ "evidence": "Packet facts only: ISO-27001-2022-A.8.8 gap states 'Technical vulnerability management that scans only the OS misses application-level CWE-78 in Roundcube; the fixed version is well known but the webmail asset is frequently unscanned.' cwe_refs CWE-78. affected_versions give the three branch-specific fixed builds: '< 1.4.4', '1.3.x < 1.3.11', '1.2.x < 1.2.10'. vector and affected identify the injection as travelling through the im_convert_path / im_identify_path configuration settings consumed by rcube_image.php. active_exploitation confirmed; poc_available true; cisa_kev true (2023-06-22).",
63793
+ "gap_closes": [
63794
+ "ISO-27001-2022-A.8.8"
63795
+ ]
63796
+ }
63797
+ ]
63798
+ },
63212
63799
  "CVE-2021-44026": {
63213
63800
  "name": "Roundcube Webmail SQL Injection Vulnerability",
63214
63801
  "lesson_date": "2026-07-29",
@@ -63981,7 +64568,41 @@
63981
64568
  "adequate": false,
63982
64569
  "gap": "A.8.8 technical-vulnerability management flags the KEV entry, but because UDP/500 must remain reachable for VPN, mitigation short of the fixed firmware leaves the command injection open, and the exploitation-vs-disclosure gap defeated slower patch programs."
63983
64570
  }
63984
- }
64571
+ },
64572
+ "new_control_requirements": [
64573
+ {
64574
+ "id": "NEW-CTRL-030",
64575
+ "name": "PERIMETER-DEVICE-ZERODAY-SLA-TIER",
64576
+ "description": "The Zyxel ATP, USG FLEX, VPN and ZyWALL/USG firewall IS the trust boundary, and the packet's attack vector is a single crafted IKEv2 packet to UDP/500 that executes OS commands as root with no session or credentials — so this CVE must sit in the distinct perimeter SLA tier, not in the two-week internet-facing application window the Essential Eight, NIS2 and ISO A.8.8 gaps say it was triaged under. The clock runs from the 2023-05-31 KEV listing, and the sweep must cover all four families named in affected_versions at their own fixed builds — ZyWALL/USG 4.60 through 4.73 and VPN, USG FLEX and ATP 4.60 through 5.35 — reaching, per live_patch_notes, ZLD 5.36 for the ZLD-branch families and the relevant ZyWALL build for ZyWALL/USG; scoping the sweep to one family reports clean on an estate standardised on another. Precondition on the alternative this control permits in place of vendor mitigation: isolating the vulnerable interface does NOT hold generally here, because the packet's SI-2 gap states IKE/UDP-500 is required for VPN operation and cannot simply be firewalled off. A source-address ACL on UDP/500 is available only where that gateway terminates site-to-site tunnels from a fixed, enumerated peer set; where it terminates roaming client VPN from arbitrary addresses there is no isolation option and the flashed firmware is the only path. And because patch_required_reboot is true and live_patch_available is false, a unit counts as remediated only when it reports the fixed build as its running firmware after the reboot the flash forces — an image uploaded but not booted is still executing the vulnerable IKE daemon.",
64577
+ "evidence": "Packet records cisa_kev true with kev_date 2023-05-31, active_exploitation confirmed, poc_available true, RWEP 80 against CVSS 9.8. active_exploitation_notes: Zyxel patched in April 2023, by late May 2023 a Mirai-based botnet was mass-exploiting exposed ATP/USG FLEX/VPN/ZyWALL firewalls, EPSS ~0.99, and the unauthenticated single-packet root RCE is described as effectively wormable. attack_vector: crafted IKEv2 packet to UDP/500, improper error-message handling injects attacker input into an OS command executing as root with no session or credentials. patch_available true, patch_required_reboot true, live_patch_available false; live_patch_notes: 'No live-patch mechanism; remediation requires flashing the Zyxel fixed firmware (ZLD 5.36 / relevant ZyWALL build), which reboots the device.' affected_versions lists the four families and their ranges. The AU-Essential-8-Patch gap records the two-week internet-facing SLA being outpaced, and the NIST-800-53-SI-2 gap records that UDP/500 cannot simply be firewalled off.",
64578
+ "gap_closes": [
64579
+ "NIST-800-53-SI-2",
64580
+ "NIS2-Art21-patch-management",
64581
+ "AU-Essential-8-Patch",
64582
+ "ISO-27001-2022-A.8.8"
64583
+ ]
64584
+ },
64585
+ {
64586
+ "id": "NEW-CTRL-032",
64587
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
64588
+ "description": "This is the exact shape this control exists for: a perimeter device with a pre-auth RCE under confirmed active exploitation, where the packet's own attack vector ends in botnet implant deployment. Flashing the fixed Zyxel firmware removes the injectable IKE error-handling path, but it does not remove what a Mirai implant left on a unit that was already rooted, and it does not rotate the material the appliance held — VPN pre-shared keys, admin credentials, and any certificates and configuration exportable by a process running as root. So for any ATP, USG FLEX, VPN or ZyWALL/USG unit that was internet-reachable on UDP/500 while running an affected build during the window the packet describes — Zyxel's April 2023 fix, mass Mirai exploitation by late May 2023, KEV listing 2023-05-31 — the default disposition is config export for forensics, rebuild from a known-good baseline, and rotation of every credential and key that transited the device, rather than patch-in-place. This is what makes the UK-CAF-B4 gap concrete: treating the firewall as a hardened trust anchor is wrong not only until the firmware is flashed, but afterwards on any unit whose exposure window was real, because the flash restores the code and not the trust. Precondition: this applies to units whose exposure can be established; a unit whose UDP/500 listener was never reachable from an untrusted network for the duration is a patch item, and that reachability must be established from configuration and edge records rather than assumed in either direction.",
64589
+ "evidence": "Packet attack_vector: 'executing commands as root on the firewall with no session or credentials, enabling botnet implant deployment.' active_exploitation_notes: 'by late May 2023 a Mirai-based botnet was mass-exploiting exposed ATP/USG FLEX/VPN/ZyWALL firewalls', added to KEV 2023-05-31, used for DDoS botnet growth; active_exploitation is 'confirmed' and poc_available is true. The UK-CAF-B4 gap states CAF B4 'treats the perimeter firewall as a hardened trust anchor, but here the firewall's mandatory internet-facing IKE listener is the target; a single unauthenticated UDP/500 packet roots the appliance'. The NIS2-Art21-patch-management gap states a monthly firmware cadence 'exposed its perimeter firewall to unauthenticated takeover'. Remediation facts: patch_available true with patch_required_reboot true and live_patch_available false, fixed firmware per live_patch_notes.",
64590
+ "gap_closes": [
64591
+ "UK-CAF-B4",
64592
+ "NIS2-Art21-patch-management"
64593
+ ]
64594
+ },
64595
+ {
64596
+ "id": "NEW-CTRL-038",
64597
+ "name": "MITIGATION-ACTIVE-PATCH-PENDING-VERDICT-CLASS",
64598
+ "description": "For this CVE the 'vendor-mitigation active, binary patch pending' state that audits normally bank is largely unavailable, and the record has to say so rather than carry an interim measure as a satisfied control. The packet's SI-2 gap states IKE/UDP-500 is required for VPN operation and cannot simply be firewalled off, and the ISO A.8.8 gap states that because UDP/500 must remain reachable for VPN, mitigation short of the fixed firmware leaves the command injection open — so a source-address ACL on UDP/500 qualifies as a genuine compensating state only for a gateway whose peers are a fixed, enumerated site-to-site set, and is simply not an option for one terminating roaming client VPN. On those units the only honest verdict classes are 'fixed build running' or 'fully exposed'; there is no middle column to sit in. Two further placements this CVE forces: live_patch_available is false, so no live-patch state exists to claim; and because the flash reboots the device, a unit with the image staged but not yet booted onto the fixed build belongs in the pending column, since it is still executing the vulnerable IKE daemon. Each unit still in the pending column carries a dated action item, not a recurring 'mitigated' verdict.",
64599
+ "evidence": "Packet NIST-800-53-SI-2 gap: 'IKE/UDP-500 is required for VPN operation and cannot simply be firewalled off; unpatched Zyxel firmware stayed exploitable to a single-packet root RCE until the vendor build was flashed'. Packet ISO-27001-2022-A.8.8 gap: 'because UDP/500 must remain reachable for VPN, mitigation short of the fixed firmware leaves the command injection open'. live_patch_available false and live_patch_notes 'No live-patch mechanism; remediation requires flashing the Zyxel fixed firmware (ZLD 5.36 / relevant ZyWALL build), which reboots the device'; patch_required_reboot true. Exposure facts backing the dated action item: KEV 2023-05-31, active_exploitation confirmed, poc_available true, EPSS ~0.99 per active_exploitation_notes.",
64600
+ "gap_closes": [
64601
+ "ISO-27001-2022-A.8.8",
64602
+ "NIST-800-53-SI-2"
64603
+ ]
64604
+ }
64605
+ ]
63985
64606
  },
63986
64607
  "CVE-2023-2868": {
63987
64608
  "name": "Barracuda Networks ESG Appliance Improper Input Validation Vulnerability",
@@ -64656,7 +65277,39 @@
64656
65277
  "adequate": false,
64657
65278
  "gap": "A.8.8 technical-vulnerability management often overlooks network-appliance firmware inventory; organizations may not track which Ruckus APs run the vulnerable 10.4-or-earlier admin software, leaving unmanaged devices exploitable via the public /forms/doLogin PoC."
64658
65279
  }
64659
- }
65280
+ },
65281
+ "new_control_requirements": [
65282
+ {
65283
+ "id": "NEW-CTRL-001",
65284
+ "name": "CISA-KEV-RESPONSE-SLA",
65285
+ "description": "CVE-2023-25717 is the case this control exists for: KEV listing on 2023-05-12, a public one-line exploit, and botnet exploitation of internet-reachable Ruckus web services already under way. Applied to this product it means the KEV clock — not the site's ordinary firmware-maintenance calendar — governs every ZoneDirector, SmartZone and Solo AP unit running Ruckus Wireless Admin 10.4 or earlier, and that where the firmware upgrade above 10.4 and its device reboot cannot be taken inside that window, the interim mitigation the packet names is deployed and recorded as the documented compensating control rather than the CVE being carried open to the next change window. Completion is measured on the build the AP is running after its reboot, because the packet records no live-patch path and a fix that reboots the device: an AP with new firmware staged and not restarted is still serving the vulnerable handler. Precondition, and it is where this is most often over-claimed: disabling the web services component removes the vulnerable login handler only at sites where that component is not required to operate the wireless estate, and isolating the management interface bounds who can send the unauthenticated GET without removing the injection path — anything inside the permitted segment, including a compromised client or jump host, still reaches it. Neither substitutes for the firmware fix, and neither remediates a unit that was already exploited.",
65286
+ "evidence": "Packet: cisa_kev true, kev_date 2023-05-12, active_exploitation 'confirmed', poc_available true, CVSS 9.8, RWEP 77. live_patch_notes: 'No live-patch mechanism; remediation requires upgrading the Ruckus AP firmware per security bulletin 315 (fixed builds above 10.4), which reboots the device. Disabling the web services component or isolating the management interface is the interim mitigation.' patch_required_reboot true, live_patch_available false. active_exploitation_notes record mass exploitation from early May 2023 by the AndoryuBot DDoS botnet with EPSS ~0.98. The AU-Essential-8-Patch gap states access points 'often fall outside standard patch tooling; the 48-hour critical window is hard to meet on embedded Ruckus firmware, and the botnet exploited that lag right after the PoC went public'; the NIST-800-53-SI-2 gap states any AP left on 10.4 or earlier 'was compromised faster than typical firmware patch cycles'.",
65287
+ "gap_closes": [
65288
+ "AU-Essential-8-Patch",
65289
+ "NIST-800-53-SI-2"
65290
+ ]
65291
+ },
65292
+ {
65293
+ "id": "NEW-CTRL-134",
65294
+ "name": "DEVICE-MANAGEMENT-GATEWAY-CONFIG-ENDPOINT-AUTH-INPUT-NEUTRALIZATION",
65295
+ "description": "Ruckus Wireless Admin is the device-management surface this control governs, and the defect sits on one of its endpoints: the web services login handler passes attacker-controlled credential parameters straight to a shell, so an unauthenticated HTTP GET to /forms/doLogin executes commands on the ZoneDirector, SmartZone or Solo AP. Bound to this product the control means that handler decides its caller's authorization before it processes the request at all, and neutralizes the parameter content before anything reaches a shell, so a command-substitution string in a credential field cannot select what the device executes; and that no unit is left with its management interface reachable from a segment with no operational need to reach it. This is precisely why the credential and admin-policy hardening CAF B4 examines cannot close the path — the payload runs before authentication, so no account model is ever consulted and a hardening attestation passes cleanly while the device is being taken over. Distinguishing test: from a client VLAN and from an external address, send the unauthenticated GET with a command-substitution payload in the credential parameters to a staging unit and confirm it is refused before any shell is invoked. Precondition: the endpoint-side authorization and input neutralization are properties the vendor firmware above 10.4 establishes — this control states what to verify, it does not implement it. Until that firmware and its reboot land, disabling the web services component is available only where the component is not operationally required, and isolating the management interface bounds who can send the request while leaving it fully exploitable to anything inside the permitted segment, which on a controller must still include its administrators and the APs it manages.",
65296
+ "evidence": "Packet vector: 'Ruckus Wireless Admin through 10.4 allows Remote Code Execution via an unauthenticated HTTP GET Request, as demonstrated by a /forms/doLogin?login_username=admin&password=password$(curl substring.' affected: 'Ruckus Wireless access-point software (ZoneDirector, SmartZone, Solo APs), where the web services login handler passes attacker-controlled input to a shell, allowing unauthenticated command injection.' The UK-CAF-B4 gap states hardening 'credentials or admin policy does nothing because the payload executes before authentication, so only the vendor firmware fix or disabling web services closes it'; the NIS2-Art21-network-security gap states the component 'is reachable pre-authentication; exposing the AP management interface (rather than segregating it) lets an unauthenticated GET request inject shell commands, so network-security posture must include removing that exposure ahead of the firmware fix.' live_patch_notes names disabling the web services component or isolating the management interface as the interim mitigation, with fixed builds above 10.4 requiring a device reboot.",
65297
+ "gap_closes": [
65298
+ "UK-CAF-B4",
65299
+ "NIS2-Art21-network-security"
65300
+ ]
65301
+ },
65302
+ {
65303
+ "id": "NEW-CTRL-032",
65304
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
65305
+ "description": "For CVE-2023-25717 this control is what separates 'firmware above 10.4 installed' from 'the access point is clean'. The packet records confirmed in-the-wild exploitation from early May 2023 by the AndoryuBot DDoS botnet, which enrols compromised Ruckus APs, and an attack path whose outcome is command execution and full control of the device — so any ZoneDirector, SmartZone or Solo AP that was reachable while running Ruckus Wireless Admin 10.4 or earlier has to be handled as a compromised host rather than as a patch item. Applied here that means capturing the running configuration for comparison rather than trusting it, restoring the unit to a known-good baseline instead of carrying its existing configuration forward through the firmware upgrade, and rotating the device's administrative credentials and any other secrets held in that configuration; the upgrade replaces the vulnerable login handler but removes nothing that the injected commands did before it landed, and the packet does not — and cannot — record what each compromised unit was left with. Distinguishing test: after remediation, compare the unit's running configuration and administrative accounts against the known-good baseline rather than confirming only that the firmware version is above 10.4. Precondition: this is a response control and it prevents nothing — it applies only to units identified as having been reachable during the exposure window, and identifying them depends on knowing which APs ran the affected admin software, which is the inventory the packet's own technical-vulnerability-management gap says is commonly missing.",
65306
+ "evidence": "Packet active_exploitation 'confirmed' with active_exploitation_notes: 'Mass-exploited from early May 2023 by the AndoryuBot DDoS botnet (sold on Telegram; SOCKS5 C2, multi-protocol DDoS modules), which enrols compromised Ruckus APs... CISA added it to KEV on 2023-05-12.' attack_vector: 'the device executes the injected command, giving remote code execution and full control of the access point.' The NIST-800-53-SI-2 gap states 'any AP left on Ruckus Wireless Admin 10.4 or earlier was compromised faster than typical firmware patch cycles'; the AU-Essential-8-Patch gap states 'the botnet exploited that lag right after the PoC went public'. live_patch_notes give the remediation as firmware above 10.4 per security bulletin 315, requiring a device reboot, with no live-patch mechanism. The ISO-27001-2022-A.8.8 gap records that organizations 'may not track which Ruckus APs run the vulnerable 10.4-or-earlier admin software'.",
65307
+ "gap_closes": [
65308
+ "NIST-800-53-SI-2",
65309
+ "AU-Essential-8-Patch"
65310
+ ]
65311
+ }
65312
+ ]
64660
65313
  },
64661
65314
  "CVE-2021-3560": {
64662
65315
  "name": "Red Hat Polkit Incorrect Authorization Vulnerability",
@@ -65168,7 +65821,30 @@
65168
65821
  "adequate": false,
65169
65822
  "gap": "A.8.9 configuration management should baseline Tomcat without remote JMX or with tightly scoped access, but drift toward enabling JmxRemoteLifecycleListener for observability reopened the deserialization RCE on servers assumed to be patched."
65170
65823
  }
65171
- }
65824
+ },
65825
+ "new_control_requirements": [
65826
+ {
65827
+ "id": "NEW-CTRL-128",
65828
+ "name": "APPSERVER-REMOTING-PROTOCOL-RESTRICTION",
65829
+ "description": "Tomcat's JmxRemoteLifecycleListener is exactly the binary remoting-protocol surface this control governs: JMX over RMI rather than HTTP, answering on ports that the servlet container's web-tier hardening and its HTTP-oriented perimeter rules never touch, with the deserialization of the incoming object being the vulnerable code itself. Bound to this product, the control means every Tomcat carrying that listener accepts JMX/RMI connections only from the monitoring and management hosts that legitimately poll it, enforced by host firewall or network ACL on the RMI registry and JMX server ports rather than inferred from 'the app server is internal', and that a KEV-listed defect in that listener is taken on an accelerated clock with the container restart rather than folded into the next application release. The packet gives two remediation forms with different residues: upgrading to 6.0.48 / 7.0.73 / 8.0.39 / 8.5.7 / 9.0.0.M12 keeps remote JMX and repairs the listener, while removing JmxRemoteLifecycleListener deletes the surface along with the remote monitoring built on it — choose per host and record which was applied. Two preconditions, both load-bearing. The packet records no host reboot but requires restarting the servlet container, so a Tomcat whose files were replaced or whose configuration was edited while the JVM keeps running is still serving the vulnerable listener and is not remediated. And the ACL bounds who can deliver the serialized gadget chain without repairing the deserialization: every monitoring host inside the permitted set, and anything that compromises one, still reaches it. Distinguishing test: from a general application or user VLAN on a staging server, connect to the RMI registry and JMX ports and confirm the connection is refused before the listener processes anything.",
65830
+ "evidence": "The packet places the flaw in the optional JmxRemoteLifecycleListener, exploitable when the listener is used and an attacker can reach JMX ports, because that listener was not updated for consistency with the CVE-2016-3427 credential-type fix; the attack vector is a serialized Java gadget-chain object delivered over JMX causing unsafe deserialization and code execution in the Tomcat JVM. patch_available true with fixed releases 6.0.48 / 7.0.73 / 8.0.39 / 8.5.7 / 9.0.0.M12, live_patch_available false, patch_required_reboot false, and live_patch_notes recording remediation as the fixed release or removing JmxRemoteLifecycleListener, then restarting the servlet container. CISA KEV listing 2023-05-12 with confirmed exploitation and poc_available true, seven years after the 2016 disclosure — the packet attributes that to continued in-the-wild abuse of exposed JMX-enabled Tomcat servers. The CM-7 gap records the optional listener and its JMX/RMI ports being left reachable, the NIS2 network-security gap records JMX/RMI ports exposed beyond the management VLAN, and the CAF B4 gap records the opt-in listener being left enabled with reachable RMI ports.",
65831
+ "gap_closes": [
65832
+ "NIST-800-53-CM-7",
65833
+ "NIS2-Art21-network-security",
65834
+ "UK-CAF-B4"
65835
+ ]
65836
+ },
65837
+ {
65838
+ "id": "NEW-CTRL-018",
65839
+ "name": "SCANNER-PAPER-COMPLIANCE-TEST",
65840
+ "description": "For this CVE a scan verdict keyed on the Tomcat version answers a narrower question than the estate needs. The packet states that exploitation requires the non-default JmxRemoteLifecycleListener plus reachable JMX ports — which narrows the population but yields full RCE where present — so which servers are in that population is a configuration and reachability fact, and the packet's configuration-management gap records baselines drifting into enabling the listener for observability. The operational test is therefore two-part per server: does the audit read the listener configuration of the running Tomcat and probe the RMI registry and JMX ports from outside the management segment, and does it record which of the two remediations the packet names was actually applied — the fixed release, or removal of JmxRemoteLifecycleListener — rather than reporting 'Tomcat patched' from a package version. That matters twice here. It names the servers that were in the exploitable set during the in-the-wild abuse the 2023-05-12 KEV listing reflects, and so warrant investigation rather than only upgrade; and it is the only way to confirm the listener-removal path was genuinely taken on hosts whose Tomcat version could not be moved, since that path leaves the version string unchanged and a version-keyed scan will report those hosts as vulnerable or as fixed entirely by coincidence. Precondition: the check has to interrogate the running container, because the packet's remediation requires a servlet-container restart — an edited configuration on a JVM that has not restarted still has the listener live, and a config-file-only audit scores it compliant while the port stays open.",
65841
+ "evidence": "The packet's vector states remote code execution is possible if JmxRemoteLifecycleListener is used and an attacker can reach JMX ports, and its affected_versions list qualifies the 9.x entry as 'with JmxRemoteLifecycleListener enabled'; the exploitation notes state that exploitation requires the non-default listener plus reachable JMX ports, which narrows the population but yields full RCE where present. live_patch_available is false and remediation is recorded as the fixed release or removing the listener, then restarting the servlet container. The ISO-27001-2022-A.8.9 gap records configuration baselines drifting toward enabling JmxRemoteLifecycleListener for observability on servers assumed to be patched; the Essential-Eight application-hardening gap records environments that enabled remote JMX for monitoring without restricting the RMI ports remaining exploitable.",
65842
+ "gap_closes": [
65843
+ "ISO-27001-2022-A.8.9",
65844
+ "AU-Essential-8-App-Hardening"
65845
+ ]
65846
+ }
65847
+ ]
65172
65848
  },
65173
65849
  "CVE-2023-29336": {
65174
65850
  "name": "Microsoft Win32K Privilege Escalation Vulnerability",
@@ -65489,7 +66165,31 @@
65489
66165
  "adequate": false,
65490
66166
  "gap": "A.8.22 network segregation would have isolated the WebLogic T3/IIOP ports from untrusted networks, but many deployments expose them flat; without segregation the unauthenticated JNDI class-load reaches the server, which A.8.8 patching alone would not prevent for unpatched hosts."
65491
66167
  }
65492
- }
66168
+ },
66169
+ "new_control_requirements": [
66170
+ {
66171
+ "id": "NEW-CTRL-128",
66172
+ "name": "APPSERVER-REMOTING-PROTOCOL-RESTRICTION",
66173
+ "description": "Oracle WebLogic Server's T3 and IIOP naming service is the binary remoting listener this control governs: a non-HTTP endpoint that answers before authentication and whose own handling is the vulnerable code, so a perimeter that inspects HTTP and a WAF fronting the web tier never see the request that binds the JNDI reference. For WebLogic 12.2.1.3.0, 12.2.1.4.0 and 14.1.1.0.0 the requirement is that the T3 and IIOP ports accept connections only from hosts that legitimately speak them — the admin/managed-server mesh and the specific clients that use T3 or IIOP — enforced by network ACL or host firewall rather than assumed from 'WebLogic sits behind the load balancer', and that the Oracle January 2023 Critical Patch Update be applied on an accelerated clock with the WebLogic domain-services restart taken. live_patch_available is false and live_patch_notes records that the update restarts the domain services (no host reboot), so a domain that staged the CPU without that restart is still running the vulnerable code, and patch_required_reboot being false must not be read as 'nothing to restart'. The distinguishing test for this product: from a DMZ or general user segment against a staging domain, open a T3 and an IIOP connection and confirm both are dropped before the naming service answers — an estate that passes WebLogic role, credential and HTTP-hardening audits while leaving T3/IIOP reachable is fully exposed to the unauthenticated remote class-load. Precondition: the ACL bounds who can present the request, it does not repair the JNDI handling, so any compromised host inside the permitted segment still reaches it, and where T3 or IIOP must remain reachable for a legitimate client the only closure is the CPU plus the restart.",
66174
+ "evidence": "Packet vector: an unauthenticated attacker with network access via T3, IIOP compromises Oracle WebLogic Server; CVSS 3.1 base score 7.5, vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N. affected_versions: WebLogic 12.2.1.3.0, 12.2.1.4.0 and 14.1.1.0.0. attack_vector: over T3/IIOP the attacker binds a JNDI reference so a subsequent lookup makes WebLogic fetch and execute a remote class from an attacker LDAP/RMI server. CISA KEV 2023-05-01 with active_exploitation confirmed, mass exploitation and a near-maximal EPSS noted, and poc_available true. The NIST-800-53-SC-7 gap records that WebLogic frequently exposes the T3/IIOP naming ports by default and a perimeter guarding only HTTP misses them; the ISO-27001-2022-A.8.22 gap records deployments exposing them flat without segregation; the NIS2-Art21-network-security gap records that network-security measures rarely restrict the proprietary T3/IIOP channels even where HTTP is fronted by a WAF; the UK-CAF-B4 gap records that baselines hardening HTTP endpoints do not close the IIOP naming service. live_patch_available false; live_patch_notes: the January 2023 Critical Patch Update restarts the WebLogic domain services, no host reboot required.",
66175
+ "gap_closes": [
66176
+ "NIST-800-53-SC-7",
66177
+ "ISO-27001-2022-A.8.22",
66178
+ "NIS2-Art21-network-security",
66179
+ "UK-CAF-B4",
66180
+ "AU-Essential-8-Patch"
66181
+ ]
66182
+ },
66183
+ {
66184
+ "id": "NEW-CTRL-032",
66185
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
66186
+ "description": "The packet records mass exploitation of internet-exposed WebLogic after the January 2023 Critical Patch Update and the public proof-of-concept, with opportunistic actors deploying crypto-miners and web shells. Applying the CPU closes the T3/IIOP class-load path; it removes nothing already written while the server was executing attacker-supplied classes — a web shell under the domain's application or staging directories, an installed miner, a scheduled job, an added account or key, or a credential read out of the domain's configuration. So for any WebLogic 12.2.1.3.0, 12.2.1.4.0 or 14.1.1.0.0 domain that was reachable on T3 or IIOP from an untrusted network during the window that was already open at the KEV listing of 2023-05-01, the default disposition is to preserve the configuration for analysis, rebuild the server from a known-good deployment, and rotate the credentials the domain held — datasource and JMS credentials, the domain administrative account, and keystore material — rather than apply the CPU in place and close the finding on the patch record. Precondition: this is a disposition rule for hosts already exposed, not a mitigation, and it gives nothing to a domain that was never reachable; it also depends on being able to tell the two apart, so a domain with no record of which segments could reach its T3/IIOP ports must be treated as exposed rather than assumed clean.",
66187
+ "evidence": "Packet: active_exploitation confirmed; active_exploitation_notes state the CVE was mass-exploited, that CISA added it to KEV on 2023-05-01, that it carries a near-maximal EPSS, and that after the January 2023 CPU and public PoC release opportunistic actors weaponized the T3/IIOP JNDI vector against internet-exposed WebLogic servers to deploy crypto-miners and web shells. poc_available true; RWEP 72; CVSS 7.5. attack_vector: the JNDI reference causes WebLogic to fetch and execute a remote class from an attacker LDAP/RMI server. affected_versions 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0. live_patch_available false; live_patch_notes: remediation is the Oracle January 2023 Critical Patch Update, which restarts the WebLogic domain services. The AU-Essential-8-Patch gap records that estates missing the 48-hour window for exploited internet-facing services were mass-exploited around the 2023-05-01 KEV date.",
66188
+ "gap_closes": [
66189
+ "AU-Essential-8-Patch"
66190
+ ]
66191
+ }
66192
+ ]
65493
66193
  },
65494
66194
  "CVE-2023-28432": {
65495
66195
  "name": "MinIO Information Disclosure Vulnerability",
@@ -65892,7 +66592,31 @@
65892
66592
  "adequate": false,
65893
66593
  "gap": "A.8.8 technical-vulnerability management may treat a local-only macOS escalation as low priority, but as a KEV-listed in-the-wild bug it warranted expedited handling, exposing a gap between CVSS-driven triage and real exploitation."
65894
66594
  }
65895
- }
66595
+ },
66596
+ "new_control_requirements": [
66597
+ {
66598
+ "id": "NEW-CTRL-056",
66599
+ "name": "MOBILE-ENDPOINT-MDM-ENFORCED-KEV-SLA",
66600
+ "description": "For CVE-2019-8526 the enforcement target is the managed macOS estate, and the only remediation the packet records is moving each Mac to macOS Mojave 10.14.4 or later — there is no live-patch path and the upgrade reboots the machine. Applied to this CVE the control means that upgrade is driven on the clock that opened with the 2023-04-17 KEV listing rather than folded into the next compatibility-tested image refresh, with user deferral disallowed, and with completion measured per Mac against the build it is actually booted into: a machine that has staged the 10.14.4 upgrade but has not restarted is still executing the vulnerable code and counts as exposed, not as patched. Priority has to follow the packet rather than the CVSS band — poc_available is false and the packet notes EPSS is modest because this is a local privilege-escalation stage rather than a remote entry point, yet active_exploitation is confirmed and the entry is KEV-listed, which is exactly the triage split the ISO A.8.8 gap describes. Precondition: this reaches only Macs the management platform can actually enforce against, and it gives nothing for a Mac deliberately held below 10.14.4 because an application will not run on the fixed build — that population is the access-condition case, not the SLA case.",
66601
+ "evidence": "Packet records cisa_kev true with kev_date 2023-04-17 and active_exploitation 'confirmed'; patch_available true, live_patch_available false, patch_required_reboot true, and live_patch_notes: 'No live-patch mechanism for macOS; remediation requires upgrading to macOS Mojave 10.14.4 (or later), which reboots the system.' affected_versions is 'Apple macOS before Mojave 10.14.4'. poc_available false, CVSS 7.8, RWEP 48, and active_exploitation_notes state EPSS is modest (~0.7%) because this is a local privilege-escalation stage. The AU-Essential-8-Patch gap records macOS point-release upgrades commonly deferred for compatibility testing so the fixed 10.14.4 build routinely lands after the one-month SLA; the NIS2-Art21-patch-management gap records endpoints held back on older macOS staying exploitable well past the 2023-04-17 KEV listing; the ISO-27001-2022-A.8.8 gap records CVSS-driven triage treating a local-only escalation as low priority.",
66602
+ "gap_closes": [
66603
+ "AU-Essential-8-Patch",
66604
+ "NIS2-Art21-patch-management",
66605
+ "ISO-27001-2022-A.8.8"
66606
+ ]
66607
+ },
66608
+ {
66609
+ "id": "NEW-CTRL-126",
66610
+ "name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
66611
+ "description": "The trigger the packet records for CVE-2019-8526 is a local application: an application running on the Mac reaches a use-after-free and comes away with rights above its assigned user context. For the Macs an estate cannot move to macOS Mojave 10.14.4 — held back for application compatibility, which both the Essential-Eight and NIS2 gaps name as the reason the fix lands late — the two levers left are constraining what code is permitted to run on the machine at all, and making the fixed build an access condition rather than a dashboard row: a Mac below 10.14.4 is denied mail, VPN and document access until it is at or above the fix. This is the half AC-6 cannot supply, because the escalation happens inside macOS and no privilege scoping applied to the user's account contains it once the application executes, and the half CAF B4 cannot supply, because MDM hardening leaves the vulnerable code path in place. Distinguishing test: enrol a Mac pinned below 10.14.4 and confirm policy actually denies it access to protected resources — an estate that surfaces the stale build on a report while the Mac keeps its access has recorded the exposure rather than removed it. Precondition: restricting which applications may be installed and run raises the bar for getting the triggering application onto the Mac, but it does not evict one already installed and does nothing against one arriving through a channel the policy already trusts; a Mac suspected of having run such an application belongs on the incident path, since the packet records confirmed in-the-wild exploitation. This is a holding measure for the window before the 10.14.4 upgrade and its reboot land, not a substitute for them.",
66612
+ "evidence": "Packet vector: 'A use after free issue was addressed with improved memory management. This issue is fixed in macOS Mojave 10.14.4. An application may be able to gain elevated privileges.' attack_vector: 'A local application triggers a use-after-free in macOS; reusing the freed object corrupts memory in a way that grants the app elevated privileges beyond its user context.' The NIST-800-53-AC-6 gap states least privilege 'cannot contain a use-after-free that yields elevated privileges within macOS itself... defeating the privilege boundary AC-6 relies on'; the UK-CAF-B4 gap states endpoint system security 'cannot remediate an OS memory-management flaw through configuration; MDM hardening does not remove the vulnerable code path fixed only in macOS 10.14.4'; the AU-Essential-8-Patch gap records point-release upgrades deferred for compatibility testing. active_exploitation is 'confirmed' (KEV 2023-04-17); patch_required_reboot true with no live-patch mechanism.",
66613
+ "gap_closes": [
66614
+ "NIST-800-53-AC-6",
66615
+ "UK-CAF-B4",
66616
+ "AU-Essential-8-Patch"
66617
+ ]
66618
+ }
66619
+ ]
65896
66620
  },
65897
66621
  "CVE-2023-2033": {
65898
66622
  "name": "Google Chromium V8 Type Confusion Vulnerability (CVE-2023-2033)",
@@ -66111,7 +66835,29 @@
66111
66835
  "adequate": false,
66112
66836
  "gap": "A.8.8 technical-vulnerability management depends on inventorying the Novi Survey deployment; where such a niche app is untracked, the KEV-listed preauth deserialization RCE persists unpatched despite the April 2023 fix."
66113
66837
  }
66114
- }
66838
+ },
66839
+ "new_control_requirements": [
66840
+ {
66841
+ "id": "NEW-CTRL-001",
66842
+ "name": "CISA-KEV-RESPONSE-SLA",
66843
+ "description": "Novi Survey is the deployment shape this SLA exists to override. The packet's own gaps record it being handled as a low-criticality survey web application on a routine cycle, while the defect is an unauthenticated deserialization that gives arbitrary code execution as the service account to anyone who can reach the site. For this CVE the control means the clock runs from the 2023-04-13 KEV listing rather than from the next application-maintenance window, and completion is measured by the running Novi Survey service reporting 8.9.43676 or later — not by the upgrade being staged or approved. The packet records no host reboot but does record that remediation is upgrading to 8.9.43676 or later and restarting the application service, so an instance whose files were replaced while the service kept running is still executing the vulnerable deserialization path and counts as exposed; that restart is the completion criterion. Precondition on the interim window: live_patch_available is false and the packet names no vendor mitigation rule, so between the KEV listing and that restart the only operator-side lever is removing the site's reachability from untrusted networks. That bounds who can deliver the serialized object without repairing the deserialization, and it is unavailable where the survey site exists precisely to take responses from an untrusted population — for those instances there is no interim state, only the upgrade.",
66844
+ "evidence": "CISA KEV listing 2023-04-13 with active_exploitation confirmed and CVSS 9.8; patch_available true with the fix recorded as Novi Survey 8.9.43676 or later per the vendor advisory; live_patch_available false and patch_required_reboot false, with the packet's live_patch_notes stating remediation requires upgrading and restarting the application service. The attack vector is an unauthenticated crafted serialized object deserialized without validation, executing arbitrary code as the service account. The cited SI-2 gap records that flaw remediation only applies after 8.9.43676 is deployed and that any patch lag leaves an unauthenticated code-execution path open; the NIS2 patch-management gap records the app being treated as low-criticality despite a KEV-listed CVSS 9.8 preauth RCE; the Essential-Eight gap records the 48-hour internet-facing target being missed because a self-hosted survey platform is easily overlooked.",
66845
+ "gap_closes": [
66846
+ "NIST-800-53-SI-2",
66847
+ "NIS2-Art21-patch-management",
66848
+ "AU-Essential-8-Patch"
66849
+ ]
66850
+ },
66851
+ {
66852
+ "id": "NEW-CTRL-032",
66853
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
66854
+ "description": "The packet has this exploited in the wild by the KEV date, and the exploit outcome is attacker code running as the Novi Survey service account on the host. The upgrade to 8.9.43676 replaces the vulnerable deserialization path and removes nothing that ran through it, so for any Novi Survey instance that was reachable from untrusted networks while below 8.9.43676 after 2023-04-13, the default disposition is rebuild from a known-good image with the service account's credential rotated — not upgrade-in-place followed by closing the flaw-remediation ticket. Scope the rebuild to what the packet establishes and no further: the vendor states that code execution does not itself grant access to stored survey or response data, so this is a host and service-account compromise question, and asserting that the response corpus was read goes beyond the packet. Precondition: the rebuild default applies to instances whose exposure window can be established from the site's reachability and its upgrade date. Where those cannot place an instance outside the window, confirmed in-the-wild exploitation of a preauth path makes 'assume clean' the weaker default; and note that no standalone public PoC is recorded for this CVE, so absence of a matching public exploit artifact in logs is not evidence the instance was not reached.",
66855
+ "evidence": "active_exploitation confirmed, CISA KEV listing 2023-04-13, CVSS 9.8, RWEP 48, poc_available false with the packet noting no standalone public PoC is known. The packet's exploitation notes state that an unauthenticated attacker sends a crafted serialized object the server insecurely deserializes, executing code in the context of the service account, and that per the vendor this does not itself grant access to stored survey/response data but provides a foothold on the host. patch_available true (8.9.43676) with live_patch_available false. The SI-2 gap records that the flaw-remediation control only engages once 8.9.43676 is deployed — which is exactly the interval in which the preauth code-execution path was already in use.",
66856
+ "gap_closes": [
66857
+ "NIST-800-53-SI-2"
66858
+ ]
66859
+ }
66860
+ ]
66115
66861
  },
66116
66862
  "CVE-2023-28252": {
66117
66863
  "name": "Microsoft Windows Common Log File System (CLFS) Driver Privilege Escalation Vulnerability (CVE-2023-28252)",
@@ -66256,7 +67002,41 @@
66256
67002
  "adequate": false,
66257
67003
  "gap": "A.8.8 technical-vulnerability management prioritizes CVE-2023-28205 once KEV-listed, but because the exploit predates the advisory only prompt emergency-update deployment (and Lockdown Mode for at-risk users) actually closes the WebKit RCE."
66258
67004
  }
66259
- }
67005
+ },
67006
+ "new_control_requirements": [
67007
+ {
67008
+ "id": "NEW-CTRL-056",
67009
+ "name": "MOBILE-ENDPOINT-MDM-ENFORCED-KEV-SLA",
67010
+ "description": "This is an Apple-estate CVE with an emergency vendor release, so the control applies directly — but its scope has to come from the packet's affected list, not from the word 'Safari', or the sweep reports clean on the devices most likely to be behind. Four fixed builds are in scope: iOS and iPadOS 16.4.1 for devices on the 16 branch, iOS and iPadOS 15.7.5 for those held on the 15 branch, macOS Ventura 13.3.1, and Safari 16.4.1, which ships as its own update rather than inside an OS build. Drive all four through device management on the clock that opened with the 2023-04-10 KEV listing, against a fix Apple released on 2023-04-07, with user deferral disallowed rather than merely discouraged — the packet describes exploitation as a stage in a commercial-spyware chain, and the population being targeted is exactly the population that defers updates because the device is in constant use. Completion must be measured on the build the device is actually executing: patch_required_reboot is true and the packet records the fix applying only through an OS or Safari update requiring a device restart, with no live-patch mechanism, so a device that has downloaded the update and not restarted is still rendering web content through the vulnerable WebKit and must be counted as exposed rather than as compliant. Precondition: this reaches supervised and enrolled devices only. A personally-owned handset, a contractor's laptop, or any device outside enrolment renders the same crafted web content and is untouched by a management push — those need the access-condition treatment instead, and counting them as out of scope rather than as unremediated is how this control gets reported green over an exposed estate.",
67011
+ "evidence": "Packet fields for CVE-2023-28205: affected identifies Apple WebKit as used by Safari and WebKit-based HTML parsers across iOS, iPadOS and macOS; affected_versions lists Apple iOS/iPadOS < 16.4.1 (and < 15.7.5), macOS Ventura < 13.3.1, and Safari < 16.4.1; vector states the issue is fixed in Safari 16.4.1, iOS 15.7.5 and iPadOS 15.7.5, iOS 16.4.1 and iPadOS 16.4.1, macOS Ventura 13.3.1, that processing maliciously crafted web content may lead to arbitrary code execution, and that Apple is aware of a report that this issue may have been actively exploited; active_exploitation_notes record Apple's April 7, 2023 emergency updates and CISA KEV addition on 2023-04-10; patch_available true, patch_required_reboot true, live_patch_available false with live_patch_notes stating Apple ships the fix in an OS/Safari update requiring a device restart to apply; cvss 8.8; rwep_score 52.",
67012
+ "gap_closes": [
67013
+ "NIST-800-53-SI-2",
67014
+ "NIS2-Art21-patch-management",
67015
+ "AU-Essential-8-Patch"
67016
+ ]
67017
+ },
67018
+ {
67019
+ "id": "NEW-CTRL-121",
67020
+ "name": "MOBILE-ZERO-CLICK-HARDENING",
67021
+ "description": "The packet's attribution is what makes this control the one that matters on this CVE: Google TAG and Amnesty tie the flaw to a commercial-spyware exploit chain used against targeted individuals, Apple acknowledged a report of active exploitation, and no public proof-of-concept was released. That profile means the exposed population is not the whole estate — it is the people a mercenary-spyware customer pays to target — and the delivery path is attacker-controlled web content rendered by WebKit, which every affected device does by design. For that cohort the reboot-gated emergency update is not fast enough on its own, because the packet records exploitation preceding both the 2023-04-07 fix and the 2023-04-10 KEV listing. Identify the cohort in advance — executives, journalists, legal and security staff, anyone handling sensitive negotiations or at-risk sources — and place them in Apple's reduced-attack-surface mode, which the packet's own technical-vulnerability gap names as Lockdown Mode for at-risk users, so untrusted web content, message attachments and link previews are not processed on the normal path. It only works as a standing posture assigned before the next disclosure: the mode has to have been on when the chain arrived, and assigning it in response to this CVE protects nobody against this CVE. Precondition, stated plainly because this control is easy to over-claim: the mode narrows what reaches WebKit, it does not remove the use-after-free and does not make the device patched. It does nothing for a targeted user who is not in the cohort you defined, it does not cover a WebKit-based parser reached outside the paths the mode restricts, and it does not evict an implant already delivered — a device in the targeted set that rendered untrusted content while below the fixed build belongs on the incident path, not on the mitigation record.",
67022
+ "evidence": "Packet fields for CVE-2023-28205: active_exploitation_notes state that the Google TAG / Amnesty attribution ties it to a commercial-spyware exploit chain used against targeted individuals, that Apple acknowledged a report of active exploitation, that the fix shipped in Apple's April 7, 2023 emergency updates and KEV listing followed on 2023-04-10, and that no public PoC was released (poc_available false); attack_vector describes the use-after-free being triggered when Safari or a WebKit-based parser processes maliciously crafted web content, yielding a code-execution primitive in the renderer as a stage in a commercial-spyware browser exploit chain; framework_control_gaps ISO-27001-2022-A.8.8 records that because the exploit predates the advisory, only prompt emergency-update deployment and Lockdown Mode for at-risk users actually close the WebKit RCE; framework_control_gaps UK-CAF-B4 records that endpoint hardening does not neutralize the flaw and the renderer sandbox only raises exploit cost; patch_required_reboot true, live_patch_available false.",
67023
+ "gap_closes": [
67024
+ "UK-CAF-B4",
67025
+ "ISO-27001-2022-A.8.8",
67026
+ "AU-Essential-8-Patch"
67027
+ ]
67028
+ },
67029
+ {
67030
+ "id": "NEW-CTRL-126",
67031
+ "name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
67032
+ "description": "On this CVE the access-condition half of this control is the load-bearing half, and the install-policy half does not apply — the packet's trigger is maliciously crafted web content processed by WebKit, not a malicious application, so restricting untrusted or side-loaded application installation gives nothing here; the browser and every WebKit-based parser on the device render attacker-supplied content by design. What the control means for this estate is that the fixed build functions as a condition of access rather than as a row on a patch-compliance report: a device below iOS or iPadOS 16.4.1 (or 15.7.5 on the 15 branch), below macOS Ventura 13.3.1, or running Safari below 16.4.1 is denied mail, VPN and document access until it is at or above that build. That is the only lever that reaches the population a management push cannot force — unenrolled and personally-owned devices, and devices deliberately held on the iOS 15 branch for application compatibility, which the packet shows Apple treated as in scope by shipping 15.7.5 alongside 16.4.1. The condition must key on the build the device is running after the restart, since the packet records the fix applying only through an update requiring a device restart and no live-patch path; a device reporting a downloaded-but-not-applied update satisfies a dashboard, not this control. Distinguishing test: enrol a device pinned below the fixed build and confirm the policy actually denies it access to protected resources — an estate that surfaces the stale build on a report while the device keeps its mail and VPN has recorded the exposure rather than removed it. Precondition: this is a holding measure for the window before the fixed build and its restart land, not a substitute for them, and it protects organizational data on the device rather than the device itself — a targeted user's personal browsing on that same handset still reaches the vulnerable WebKit.",
67033
+ "evidence": "Packet fields for CVE-2023-28205: affected_versions list Apple iOS/iPadOS < 16.4.1 (and < 15.7.5), macOS Ventura < 13.3.1, and Safari < 16.4.1; vector states the issue is fixed in Safari 16.4.1, iOS 15.7.5 and iPadOS 15.7.5, iOS 16.4.1 and iPadOS 16.4.1, macOS Ventura 13.3.1, and that processing maliciously crafted web content may lead to arbitrary code execution; affected identifies WebKit as used by Safari and WebKit-based HTML parsers across iOS, iPadOS and macOS; patch_available true, patch_required_reboot true, live_patch_available false with live_patch_notes stating Apple ships the fix in an OS/Safari update requiring a device restart to apply; framework_control_gaps NIS2-Art21-patch-management records that mobile fleets deferring iOS 16.4.1 stayed exposed to a WebKit RCE reachable from any crafted page; cisa_kev true, kev_date 2023-04-10.",
67034
+ "gap_closes": [
67035
+ "NIS2-Art21-patch-management",
67036
+ "AU-Essential-8-Patch"
67037
+ ]
67038
+ }
67039
+ ]
66260
67040
  },
66261
67041
  "CVE-2023-28206": {
66262
67042
  "name": "Apple iOS, iPadOS, and macOS IOSurfaceAccelerator Out-of-Bounds Write Vulnerability",
@@ -66993,7 +67773,42 @@
66993
67773
  "adequate": false,
66994
67774
  "gap": "A.8.9 configuration management is the miss here: leaving writable shares and named-pipe execution enabled by default is an insecure baseline, so an ISMS that never hardened the Samba config left the SambaCry path open even where the software was otherwise current."
66995
67775
  }
66996
- }
67776
+ },
67777
+ "new_control_requirements": [
67778
+ {
67779
+ "id": "NEW-CTRL-038",
67780
+ "name": "MITIGATION-ACTIVE-PATCH-PENDING-VERDICT-CLASS",
67781
+ "description": "Samba is the case this control's middle state exists for, because the packet names a configuration-side mitigation alongside the vendor fix. live_patch_notes gives three dispositions: upgrade to Samba 4.4.14 / 4.5.10 / 4.6.4 or later and restart smbd; apply the 'nt pipe support = no' workaround; or, on embedded NAS/IoT devices, depend on a vendor firmware update. A host running with 'nt pipe support = no' is in the mitigation-active state, not the patched state — the named-pipe-to-dlopen path is closed by a configuration setting that a firmware factory reset, a package upgrade restoring a default smb.conf, or a vendor configuration restore silently reverts, with nothing re-checking it — so it must carry a time-bound action to reach the fixed Samba build rather than being reported as patched per SLA. A NAS or embedded appliance whose vendor has shipped no firmware carrying the fix is in the third state, full exposure, and must be reported as such. Note the restart trap the packet records: patch_required_reboot is false, meaning no machine reboot, but live_patch_notes requires smbd to be restarted, so a host that installed the fixed package while the old smbd process is still serving belongs in neither the patched nor the mitigated column. The distinguishing test is per host: report the running smbd version, whether 'nt pipe support' is disabled, and whether write access to shares was removed — an ISMS carrying one 'SambaCry remediated' line over a mixed estate is recording three different exposures as one.",
67782
+ "evidence": "Packet: live_patch_notes states there is no live-patch mechanism and that remediation is upgrading to Samba 4.4.14 / 4.5.10 / 4.6.4 (or later) and restarting smbd, or applying the 'nt pipe support = no' workaround, with embedded NAS/IoT devices often depending on a vendor firmware update instead. patch_available true, live_patch_available false, patch_required_reboot false. The NIST-800-53-CM-7 gap names Samba's own workaround as 'nt pipe support = no' plus removing writable-share access, and records that default configurations left the named-pipe-to-filesystem path enabled; the ISO-27001-2022-A.8.9 gap records that leaving writable shares and named-pipe execution enabled by default is an insecure baseline that an ISMS never hardened; the NIS2-Art21-patch-management gap records embedded NAS/IoT firmware with no vendor patch, so the fixed Samba releases never reach those hosts. CISA KEV 2023-03-30, active_exploitation confirmed, poc_available true, CVSS 9.8, RWEP 76.",
67783
+ "gap_closes": [
67784
+ "ISO-27001-2022-A.8.9",
67785
+ "NIST-800-53-CM-7",
67786
+ "NIS2-Art21-patch-management",
67787
+ "AU-Essential-8-Patch"
67788
+ ]
67789
+ },
67790
+ {
67791
+ "id": "NEW-CTRL-054",
67792
+ "name": "BACKUP-TIER-NETWORK-ISOLATION",
67793
+ "description": "The packet names embedded NAS and IoT devices as the bulk of the exposed Samba population, and those devices are exactly what this control governs: an appliance whose function is holding the data on the very share the attacker must write to, reachable from untrusted networks. Applied here it means the SMB service on those appliances answers only from the client segment that legitimately mounts the shares — never from the internet through a router port-forward or UPnP mapping, and never from a general user VLAN with no need for the data — and the appliance's outbound path is constrained so a compromised device cannot reach arbitrary destinations with the data it holds. Reachability plus write access to a share is the entire exploit precondition per the packet's attack vector, and on a NAS whose vendor has shipped no firmware carrying the Samba fix, restricting reachability is the only lever the operator holds. Precondition, and it is the part most often over-claimed: an SMB file server exists to serve its clients, so isolation removes internet and untrusted-segment exposure but removes nothing for a client inside the permitted segment — any host there that holds write access to a share still satisfies the precondition in full. Inside that segment the remaining lever is the one the packet's own gap names, removing writable-share and anonymous/guest write access, and neither measure evicts an attacker who already exploited the device. The distinguishing test: from an external address and from a general user VLAN, attempt to reach TCP/445 on each NAS; anything that answers is within reach of the published single-request exploit, and 'the NAS is on the internal network' is a claim about topology, not a demonstration.",
67794
+ "evidence": "Packet: active_exploitation_notes record confirmed exploitation since 2017 by cryptomining botnets such as EternalMiner and other campaigns targeting internet-exposed Samba on NAS/IoT, with a single-request Metasploit module making mass exploitation of writable-share Samba hosts trivial. attack_vector: a client with write access to an SMB share uploads a .so payload and opens a named pipe whose path resolves to that file, so smbd calls dlopen on it. live_patch_notes record that embedded NAS/IoT devices often depend on a vendor firmware update instead of the Samba upgrade. The AU-Essential-8-Patch gap records internet-facing Samba on unmanaged NAS/embedded devices sitting outside the fleet update process; the NIS2-Art21-patch-management gap records that much of the exposed population is embedded NAS/IoT firmware with no vendor patch; the UK-CAF-B4 gap records that system security should have restricted anonymous/guest write to shares. poc_available true, CVSS 9.8, KEV 2023-03-30.",
67795
+ "gap_closes": [
67796
+ "NIS2-Art21-patch-management",
67797
+ "AU-Essential-8-Patch",
67798
+ "UK-CAF-B4"
67799
+ ]
67800
+ },
67801
+ {
67802
+ "id": "NEW-CTRL-032",
67803
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
67804
+ "description": "The uploaded shared library is loaded inside smbd, so per the packet's attack vector the injected code runs as the Samba service user, commonly root, on hosts the packet records as exploited in the wild since 2017 and flagged by KEV for known ransomware use. Upgrading to Samba 4.4.14 / 4.5.10 / 4.6.4 and restarting smbd closes the load path and removes nothing already placed through it: the uploaded .so, any miner or service it started, any account or key added, and any credential the host held remain exactly where the attacker left them. So for any Samba host or NAS that ran an affected build — 3.5.0 through before 4.4.14, 4.5.10 and 4.6.4 — while reachable from an untrusted network with a writable share, the default disposition is to capture the configuration for analysis, rebuild from a known-good image, and rotate every credential the host held or that transited it, rather than patch in place and close the finding on the version number. Precondition: this is a disposition rule for hosts already exposed, not a mitigation — it lowers no exploitation probability, and it depends on being able to distinguish exposed from not, so a host with no record of who could reach TCP/445 and no record of share write permissions has to be treated as exposed. Second precondition specific to the embedded population: where the packet records devices depending on a vendor firmware update, a rebuild restores the same vulnerable Samba code, so rebuild only completes the remediation when paired with firmware carrying the fix or with isolation — and whether such firmware exists for a given model is a question for that device's vendor, not one this entry answers.",
67805
+ "evidence": "Packet: active_exploitation confirmed, with active_exploitation_notes recording exploitation in the wild since 2017 by cryptomining botnets such as EternalMiner and campaigns targeting internet-exposed Samba on NAS/IoT, and KEV flagging ransomware use as Known; CISA KEV 2023-03-30; poc_available true with a single-request Metasploit module noted; RWEP 76, CVSS 9.8. attack_vector: smbd calls dlopen on the uploaded library and executes the code as the Samba service user, commonly root. affected_versions: Samba 3.5.0 through versions before 4.4.14, 4.5.10 and 4.6.4. live_patch_notes: no live-patch mechanism; remediation is the upgrade plus an smbd restart, with embedded NAS/IoT devices often depending on a vendor firmware update instead. The AU-Essential-8-Patch gap records a wormable pre-auth RCE left unpatched for years after the KEV listing.",
67806
+ "gap_closes": [
67807
+ "AU-Essential-8-Patch",
67808
+ "NIS2-Art21-patch-management"
67809
+ ]
67810
+ }
67811
+ ]
66997
67812
  },
66998
67813
  "CVE-2022-42948": {
66999
67814
  "name": "Fortra Cobalt Strike User Interface Remote Code Execution Vulnerability",
@@ -67306,7 +68121,34 @@
67306
68121
  "adequate": false,
67307
68122
  "gap": "A.8.8 technical-vulnerability management struggles because the vulnerable component is a hardware GPU driver whose fix ships on OEM schedules; risk-rated patching cannot close a CVSS 8.8 kernel UAF when the fixed r40p0 driver is not yet available for the device model."
67308
68123
  }
67309
- }
68124
+ },
68125
+ "new_control_requirements": [
68126
+ {
68127
+ "id": "NEW-CTRL-126",
68128
+ "name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
68129
+ "description": "The vulnerable component is the Arm Mali GPU kernel driver on handsets — Bifrost r0p0 through r38p1 and r39p0, Valhall r19p0 through r38p1 and r39p0, and Midgard r4p0 through r32p0 — and the fixed r40p0 driver reaches a device only when its OEM ships a firmware/OS update, which the packet records as installing with a reboot. Because the operator cannot deliver that fix, the enforceable form of this control is the access-condition half: a handset whose running Mali driver revision is below r40p0 is denied organizational mail, VPN and document access until the OEM build carrying the fix is installed AND the device has restarted onto it. patch_required_reboot is true and live_patch_available is false, so a device that has downloaded the OEM update but not restarted is still executing the vulnerable driver and must not be counted as remediated. The distinguishing test is to enrol a device on an OEM build below the fix and confirm policy actually denies it protected resources — an estate that shows the stale driver revision on a compliance report while the device keeps its access has recorded the exposure rather than removed it. Precondition on the second half: restricting which applications may install raises the bar on getting the unprivileged app onto the device, but it does not evict an application already installed, and it does not cover code arriving through the browser/renderer foothold the packet describes this use-after-free being chained behind. A device suspected of already having run such code belongs on the incident path, not the install-policy path.",
68130
+ "evidence": "Packet: CISA KEV 2023-03-30, active_exploitation confirmed, poc_available true, CVSS 8.8, RWEP 71. patch_available true with patch_required_reboot true and live_patch_available false; live_patch_notes states remediation is the fixed Arm Mali GPU kernel driver (r40p0 or later) delivered through the device OEM's firmware/OS update, which installs with a reboot. affected_versions list Bifrost r0p0 through r38p1 and r39p0, Valhall r19p0 through r38p1 and r39p0, Midgard r4p0 through r32p0. The NIS2-Art21-patch-management gap records that organizations could not directly remediate and depended on carrier/OEM update timelines; the ISO-27001-2022-A.8.8 gap records that the fixed r40p0 driver is not yet available for some device models; the UK-CAF-B4 gap records that the use-after-free lets an unprivileged app reach root, breaking the sandbox boundary mobile baselines rely on. active_exploitation_notes place it as the local privilege-escalation step in a mobile spyware chain, chained after an initial browser/renderer foothold.",
68131
+ "gap_closes": [
68132
+ "AU-Essential-8-Patch",
68133
+ "NIS2-Art21-patch-management",
68134
+ "NIST-800-53-SI-2",
68135
+ "ISO-27001-2022-A.8.8",
68136
+ "UK-CAF-B4"
68137
+ ]
68138
+ },
68139
+ {
68140
+ "id": "NEW-CTRL-038",
68141
+ "name": "MITIGATION-ACTIVE-PATCH-PENDING-VERDICT-CLASS",
68142
+ "description": "For this CVE the handset population splits by device model, and the compliance verdict has to state which state each device is in rather than carrying one open remediation ticket for the fleet. The packet records no live-patch path and names no configuration-side workaround: the trigger is mishandled GPU memory operations reached through ordinary unprivileged GPU use, so there is no feature to disable and no vendor mitigation rule to run. That means a handset whose OEM has not shipped a build carrying r40p0 sits in the third state — no mitigation and no patch, full exposure — and must be reported that way, with a dated action, instead of as 'patch scheduled' or an untimed risk acceptance against a KEV-listed, actively exploited root escalation. Only a device that has received the OEM build and restarted onto it is in the patched state; patch_required_reboot is true, so a downloaded-but-not-restarted device belongs in the exposed column. The distinguishing test: produce the per-device running Mali driver revision and its state rather than a fleet-level patch percentage — a dashboard reporting 'patching in progress' for models whose OEM never shipped the fixed driver is asserting an SLA that cannot be met, which is the specific way this remediation is recorded as complete while every affected handset stays exploitable.",
68143
+ "evidence": "Packet: patch_available true but, per live_patch_notes, delivered only through the device OEM's firmware/OS update, with live_patch_available false and patch_required_reboot true. The ISO-27001-2022-A.8.8 gap states risk-rated patching cannot close a CVSS 8.8 kernel use-after-free when the fixed r40p0 driver is not yet available for the device model; the NIS2-Art21-patch-management gap states the patch is gated on OEM firmware releases and operators depended on carrier/OEM timelines; the AU-Essential-8-Patch gap states driver revisions r38p1/r39p0 stayed deployed past the fix during the in-the-wild campaign. CISA KEV 2023-03-30 with active_exploitation confirmed and poc_available true.",
68144
+ "gap_closes": [
68145
+ "ISO-27001-2022-A.8.8",
68146
+ "NIS2-Art21-patch-management",
68147
+ "AU-Essential-8-Patch",
68148
+ "NIST-800-53-SI-2"
68149
+ ]
68150
+ }
68151
+ ]
67310
68152
  },
67311
68153
  "CVE-2023-0266": {
67312
68154
  "name": "Linux Kernel Use-After-Free Vulnerability",
@@ -67367,7 +68209,39 @@
67367
68209
  "adequate": false,
67368
68210
  "gap": "A.8.8 technical-vulnerability management flags the KEV entry, yet the practical exposure is the reboot-deferred kernel-update window during which a local use-after-free continues to grant ring0 escalation."
67369
68211
  }
67370
- }
68212
+ },
68213
+ "new_control_requirements": [
68214
+ {
68215
+ "id": "NEW-CTRL-002",
68216
+ "name": "LIVE-PATCH-CAPABILITY",
68217
+ "description": "The residual exposure of this Linux kernel flaw on a production estate is the reboot-deferred window, and the packet is unusually explicit about what could shorten it: no live patch shipped with the fix, but kpatch, Canonical Livepatch and Ksplice can in principle carry the sound/core/control.c rwsem-lock change without a reboot on supported distributions. For this CVE the control means that capability is already deployed and exercised on hosts that cannot absorb an unplanned reboot before the next kernel local-privilege-escalation lands — multi-user and shared hosts first, because there the precondition this flaw needs is the normal operating state rather than an anomaly: an ordinary local user who can open an ALSA control device and call SNDRV_CTL_IOCTL_ELEM_READ/WRITE32 wins ring0 through the missing lock. A capability stood up in response to a listing arrives after the window it was meant to cover. Precondition, and it is the whole of this control's honesty on this entry: 'in principle' is not 'shipped'. The lever exists only where the distribution's live-patch vendor actually published a patch carrying this specific control.c change, and the packet records that none shipped with the fix, so on any host where that is the case the canonical remediation stands unchanged — a kernel past commit 56b88b50565cd8b946a2d00b0c83927b7ebb055e plus a reboot. Completion is measured on the kernel the host is executing: a host with the fixed package installed and the old kernel still running is exposed, not patched, and this control does nothing to change that.",
68218
+ "evidence": "live_patch_available is false and live_patch_notes state: 'No vendor live-patch was shipped with the fix; kernel live-patching frameworks (kpatch, Canonical Livepatch, Ksplice) can in principle apply the control.c rwsem-lock fix without reboot on supported distributions, but the canonical remediation is the fixed kernel (past commit 56b88b50565cd8b946a2d00b0c83927b7ebb055e) plus a reboot.' patch_available is true with patch_required_reboot true. The affected summary places the defect in the Linux kernel ALSA PCM subsystem where 'SNDRV_CTL_IOCTL_ELEM_READ/WRITE32 in sound/core/control.c miss the read-write semaphore, creating a use-after-free race that escalates a local user to ring0', with active_exploitation 'confirmed' and KEV listing 2023-03-30. The three gaps this attaches to name the same window: the NIS2 gap that kernel patch management 'is reboot-gated and slow' leaving hosts 'awaiting a maintenance window', the Essential Eight gap that 'kernel patching requires a reboot and is often deferred', and the A.8.8 gap that 'the practical exposure is the reboot-deferred kernel-update window during which a local use-after-free continues to grant ring0 escalation'.",
68219
+ "gap_closes": [
68220
+ "NIS2-Art21-patch-management",
68221
+ "AU-Essential-8-Patch",
68222
+ "ISO-27001-2022-A.8.8"
68223
+ ]
68224
+ },
68225
+ {
68226
+ "id": "NEW-CTRL-009",
68227
+ "name": "KERNEL-MODULE-INVENTORY-AND-DISABLE",
68228
+ "description": "The reachable surface for this CVE is the ALSA control device. The packet's attack path is a local user invoking SNDRV_CTL_IOCTL_ELEM_READ/WRITE32 against it, and the missing read-write semaphore in sound/core/control.c turns that call into a use-after-free race that is groomed into a kernel read/write primitive. So the inventory question this control asks, bound to this CVE, is which hosts have the ALSA sound modules present at all: on a server with no audio function, snd and snd-pcm and the control device they create are attack surface carrying no business purpose, and a host where they are neither loaded nor loadable does not offer the vulnerable ioctl to a local user in the first place. This is the complement of the least-privilege control cited as insufficient on this entry — the attacker uses an ordinary unprivileged account exactly as intended, so no account scoping is ever consulted, and the only operator-side lever short of the kernel fix is whether the call can be made. Two preconditions decide whether this is worth anything on a given host, and both must be checked per host rather than assumed for the fleet. A modprobe blacklist only prevents a future autoload: where the modules are already loaded, or are built into the running kernel image, the blacklist changes nothing, and the remaining levers are unloading them or booting a kernel that does not include them. And on any host that legitimately plays audio — every workstation, and any machine running the browser session the entry's own CAF-B4 gap names as a plausible foothold — the modules cannot be removed and this control is unavailable, leaving those hosts with the fixed kernel and its reboot as the only path. Narrowing who can reach the ioctl is not repairing the lock.",
68229
+ "evidence": "The packet's attack_vector reads: 'A local user invokes SNDRV_CTL_IOCTL_ELEM_READ/WRITE32 on an ALSA control device; missing rwsem locking in snd_ctl_elem_read creates a use-after-free race that is groomed into a kernel read/write primitive, escalating from system user to ring0.' The affected summary names the Linux kernel ALSA PCM subsystem and sound/core/control.c. The cited AC-6 gap states that least privilege 'assumes the OS enforces the user/kernel boundary, but this ALSA PCM use-after-free lets any local system user race to ring0, so least-privilege account design gives no protection once the vulnerable ioctl is reachable — only the fixed kernel restores the boundary'. The CAF-B4 gap records that hardening 'can narrow reach to the ioctl but does not fix the missing rwsem lock; a local attacker or a browser-renderer foothold that can call the ALSA control ioctl still wins ring0 until the kernel is patched'. patch_available is true, patch_required_reboot true, live_patch_available false.",
68230
+ "gap_closes": [
68231
+ "NIST-800-53-AC-6"
68232
+ ]
68233
+ },
68234
+ {
68235
+ "id": "NEW-CTRL-018",
68236
+ "name": "SCANNER-PAPER-COMPLIANCE-TEST",
68237
+ "description": "Two properties of this specific kernel CVE make a package-version verdict wrong. The fix is identified by a commit rather than a release: the packet's remediation is a kernel past commit 56b88b50565cd8b946a2d00b0c83927b7ebb055e while affected versions are recorded as 'Linux kernel through 6.1.6', so a scanner comparing an upstream version number against a distribution kernel that carries the change as a backport reads the wrong answer in both directions — a backported vendor kernel numbered below 6.1.6 is reported vulnerable when it is fixed, and a kernel numbered above it without the backport is reported fixed when it is not. And the remediation is reboot-gated with no live patch shipped, so a host whose package database shows the fixed kernel while it is still executing the old one will be reported patched while a local user can still race to ring0. The operational test for this entry, then: does the scan report the kernel the host is currently executing rather than the newest kernel package installed, does it resolve the distribution's backport of the control.c rwsem fix rather than performing an upstream version comparison, and does it record whether an ALSA control device is present on that host at all — the module-surface question that decides whether the vulnerable ioctl is reachable there. A scan that answers only 'kernel package version' returns a clean estate report across hosts that are one unprivileged local user away from ring0, which is precisely the reboot-deferred window the cited framework gaps describe and the reason a patch-compliance dashboard cannot be the evidence for this CVE.",
68238
+ "evidence": "affected_versions reads 'Linux kernel through 6.1.6 (ALSA PCM); fixed past commit 56b88b50565cd8b946a2d00b0c83927b7ebb055e', and the vector's own remediation advice is 'We recommend upgrading past commit 56b88b50565cd8b946a2d00b0c83927b7ebb055e'. patch_required_reboot is true, live_patch_available false, and live_patch_notes confirm 'No vendor live-patch was shipped with the fix'. The A.8.8 gap states that technical-vulnerability management 'flags the KEV entry, yet the practical exposure is the reboot-deferred kernel-update window during which a local use-after-free continues to grant ring0 escalation', and the Essential Eight gap that patch-operating-systems 'targets prompt kernel updates, but kernel patching requires a reboot and is often deferred; that latency leaves the use-after-free LPE available to chain after any initial code execution'. The module-surface half of the test follows the packet's attack_vector, which requires the local user to invoke the ioctl 'on an ALSA control device'.",
68239
+ "gap_closes": [
68240
+ "ISO-27001-2022-A.8.8",
68241
+ "AU-Essential-8-Patch"
68242
+ ]
68243
+ }
68244
+ ]
67371
68245
  },
67372
68246
  "CVE-2022-3038": {
67373
68247
  "name": "Google Chromium Network Service Use-After-Free Vulnerability",
@@ -67428,7 +68302,31 @@
67428
68302
  "adequate": false,
67429
68303
  "gap": "A.8.8 technical-vulnerability management must track fast-moving Chromium releases across every derived browser; a program that inventories only 'Chrome' can miss Edge/Opera instances still exposed to this crafted-HTML use-after-free."
67430
68304
  }
67431
- }
68305
+ },
68306
+ "new_control_requirements": [
68307
+ {
68308
+ "id": "NEW-CTRL-057",
68309
+ "name": "BROWSER-MANAGED-UPDATE-NO-DEFERRAL",
68310
+ "description": "For this CVE the no-deferral ring has to be defined over every Chromium-derived browser in the estate, not over Chrome: the packet fixes it at Google Chrome 105.0.5195.52 and records the affected population as Chromium-based browsers including Edge and Opera prior to their corresponding patched builds, each shipping on its own update channel. An estate standardised on Edge, or carrying a second Chromium browser for one legacy application, stays exposed to the same crafted-page path while its Chrome ring reports compliant — which is exactly the inventory failure the ISO gap on this entry names. Deployment completion has to be measured on the browser that is running, not the bits on disk: patch_required_reboot is false, meaning no machine reboot, but the packet's recorded remediation includes restarting the browser, so a Chrome or Edge process that has been up since before the update still executes the pre-fix Network Service code and is not remediated. Take the reported version from the running process (chrome://version and the equivalent page on each derived browser) after that restart. Preconditions: this reaches only browsers whose update channel the estate actually controls — a per-user install, an unmanaged host, or a policy that suppresses auto-update is remediated by removing the suppression or the install, not by shortening the ring; and because the defect is in the browser's own network process and triggered by rendering a page, no configuration or policy setting substitutes for reaching the patched build.",
68311
+ "evidence": "Packet: vector 'Use after free in Network Service in Google Chrome prior to 105.0.5195.52 allowed a remote attacker to potentially exploit heap corruption via a crafted HTML page.' affected_versions: 'Google Chrome < 105.0.5195.52' and 'Chromium-based browsers (Edge, Opera, and others) prior to the corresponding patched build.' patch_available true, patch_required_reboot false, live_patch_available false, live_patch_notes 'No live-patch mechanism; remediation is updating to Google Chrome 105.0.5195.52 or later (and the equivalent patched build of each Chromium-based browser) and restarting the browser.' Cited gaps: NIS2-Art21-patch-management 'Chromium-based products (Chrome, Edge, Opera) update on separate channels; a crafted HTML page could exploit any host whose browser lagged 105.0.5195.52'; ISO-27001-2022-A.8.8 'a program that inventories only Chrome can miss Edge/Opera instances still exposed to this crafted-HTML use-after-free'; UK-CAF-B4 'secure configuration cannot mitigate a use-after-free in the browser's own Network Service process reached by simply rendering a page; only shipping the patched Chromium build removes the heap-corruption path'; AU-Essential-8-Patch 'targets 48 hours for actively-exploited browser flaws.'",
68312
+ "gap_closes": [
68313
+ "AU-Essential-8-Patch",
68314
+ "NIS2-Art21-patch-management",
68315
+ "UK-CAF-B4",
68316
+ "ISO-27001-2022-A.8.8"
68317
+ ]
68318
+ },
68319
+ {
68320
+ "id": "NEW-CTRL-001",
68321
+ "name": "CISA-KEV-RESPONSE-SLA",
68322
+ "description": "The two dates in this packet are what make the control bite differently here: the fixed build, Chrome 105.0.5195.52, shipped on the stable channel 30 August 2022, and the CISA KEV listing came on 2023-03-30. Under this control's 'within 4 hours of KEV listing or patch availability, whichever is later' wording, the clock therefore starts at the listing, on a build that had already been available for roughly seven months — so the action the listing demands is not a deployment but a verification sweep: on the day of listing, enumerate every Chrome, Edge, Opera and other Chromium-derived install and produce the version each one is running, because by then the exposed population is exactly the set whose auto-update was suppressed, deferred, or never applied. There is no interim state to record for this CVE: live_patch_available is false, so a browser below its product's patched build is simply exposed, and the only remediation is the patched build plus the browser restart the packet requires. Precondition and limit, which this entry demonstrates rather than hides: the KEV listing is the trigger, and here it arrived months after in-the-wild use began, so this control bounds the tail of the exposure rather than its opening — the standing update posture is what covers the window between the vendor fix and the listing.",
68323
+ "evidence": "Packet: cisa_kev true, kev_date 2023-03-30, active_exploitation confirmed. active_exploitation_notes: 'Fixed in Google Chrome 105.0.5195.52 (stable channel, 30 August 2022) and later added to CISA KEV on 2023-03-30, indicating in-the-wild exploitation... affects the broad Chromium base — Chrome, Edge, Opera and other Chromium-derived browsers — so a single malicious page can target a large browser population.' patch_available true, live_patch_available false, poc_available false, cvss 8.8, rwep_score 45. Cited gap NIST-800-53-SI-2: 'this Network Service use-after-free was fixed on 2022-08-30 but only KEV-listed on 2023-03-30, so environments that suppressed or delayed Chromium auto-update ran an exploitable browser for months.' Cited gap AU-Essential-8-Patch records the '~7-month gap between the 2022-08-30 fix and the 2023-03-30 KEV listing.'",
68324
+ "gap_closes": [
68325
+ "NIST-800-53-SI-2",
68326
+ "AU-Essential-8-Patch"
68327
+ ]
68328
+ }
68329
+ ]
67432
68330
  },
67433
68331
  "CVE-2022-22706": {
67434
68332
  "name": "Arm Mali GPU Kernel Driver Unspecified Vulnerability",
@@ -67920,7 +68818,38 @@
67920
68818
  "adequate": false,
67921
68819
  "gap": "A.8.8 technical vulnerability management must cover embedded libraries; this deserialization flaw was remediable only by upgrading XStream to 1.4.18 or applying the embedding vendor's patch, and inventories that tracked only top-level products missed the vulnerable component."
67922
68820
  }
67923
- }
68821
+ },
68822
+ "new_control_requirements": [
68823
+ {
68824
+ "id": "NEW-CTRL-021",
68825
+ "name": "TIER-3-DEPENDENCY-INVENTORY",
68826
+ "description": "For most operators exposed to this XStream flaw, XStream is not something they chose. It arrives below the layer their inventory records — inside a commercial product that bundles it, and inside their own Java services as a dependency of a dependency — which is why an estate could be running the vulnerable code with every top-level product accounted for. Bound to this CVE the requirement is to resolve XStream by component and version rather than by product name across both arrivals the packet names: every Java service whose resolved dependency tree pulls XStream below 1.4.18, and every shipped product that bundles it, with VMware Cloud Foundation (NSX) named explicitly and each such product's own fixed release being the remediation target rather than the library's. Scope it to that. The packet ties this CWE-502 sink to XStream and to products bundling XStream, and gives no mapping into other XML or serialization libraries, so treating every Java deserialization path in the estate as an instance of this CVE manufactures findings and remediation work against code no evidence implicates; widen the inventory only where a verified source identifies another product carrying XStream below 1.4.18. Preconditions. The inventory reaches only what its sources can see: a closed-source product that publishes no component list cannot be resolved from the outside, and there the embedding vendor's advisory is the only evidence of exposure — the packet records that VMware issued a critical-rated advisory for Cloud Foundation. And locating the component is not removing it; this control tells an operator where the exposure is, after which each instance still has to reach 1.4.18+ or its vendor's fixed release.",
68827
+ "evidence": "The packet gives affected as 'XStream (Java XML serialization library) and products embedding it — the pre-1.4.18 default converts an attacker-controlled XML stream into arbitrary objects (CWE-502), enabling OS command execution', with affected_versions 'XStream < 1.4.18' and 'VMware Cloud Foundation (NSX) and other products bundling XStream < 1.4.18'. The active-exploitation notes record it 'Exploited against products that bundle XStream with a default (blacklist) configuration, notably VMware Cloud Foundation (NSX), for which VMware issued a critical-rated advisory', with KEV listing 2023-03-10 and active_exploitation 'confirmed'. The NIS2 supply-chain gap states organizations 'often did not know XStream < 1.4.18 was embedded in their VMware or other stack until exploitation'; the A.8.8 gap that 'inventories that tracked only top-level products missed the vulnerable component'; and the SI-2 gap that remediation 'required each product (e.g. VMware Cloud Foundation) to ship an updated XStream, so downstream remediation lagged the 2021 library fix'.",
68828
+ "gap_closes": [
68829
+ "NIS2-Art21-supply-chain",
68830
+ "ISO-27001-2022-A.8.8",
68831
+ "NIST-800-53-SI-2"
68832
+ ]
68833
+ },
68834
+ {
68835
+ "id": "NEW-CTRL-001",
68836
+ "name": "CISA-KEV-RESPONSE-SLA",
68837
+ "description": "The XStream fix predates the KEV listing by well over a year, so on this entry the listing is what starts the clock, and the SLA has to be written against two distinct remediation targets rather than one. Services whose XStream dependency the operator controls move to 1.4.18 or later. Instances bundled inside a shipped product move to that product's fixed release — VMware Cloud Foundation (NSX) is the one the packet names, and there the operator cannot compile a library fix in at all, so the vendor's release is the only path and the SLA is met by deploying it, not by noting that the library upstream is fixed. Completion is measured on the version the running process is executing. patch_required_reboot is false, meaning no host reboot, but the packet records no live-patch mechanism, so a replaced XStream artifact on disk is not in effect until the JVM that has it loaded restarts — a service still running the pre-1.4.18 classes is exposed however current the filesystem looks, and that restart is the step to plan and evidence rather than the one to assume away. Precondition on the compensating-control branch this SLA allows: the packet's own remediation note offers configuring an explicit type whitelist as an alternative to upgrading, and that is available only where the operator controls the XStream instantiation. Inside a bundled product it cannot be configured from outside, so for those instances there is no compensating state to fall back to during the window — only the vendor's fixed release, or removing the service's exposure to untrusted XML until it lands.",
68838
+ "evidence": "cisa_kev is true with kev_date 2023-03-10, active_exploitation 'confirmed', poc_available true, CVSS 8.5 and RWEP 67. patch_available is true, patch_required_reboot false, live_patch_available false, and live_patch_notes read 'No live-patch mechanism; remediation requires upgrading XStream to 1.4.18+ (or configuring an explicit type whitelist) and applying the fixed release of any embedding product such as VMware Cloud Foundation.' affected_versions name both 'XStream < 1.4.18' and 'VMware Cloud Foundation (NSX) and other products bundling XStream < 1.4.18'. The cited SI-2 gap states that flaw remediation 'is complicated because XStream is an embedded dependency; patching required each product (e.g. VMware Cloud Foundation) to ship an updated XStream, so downstream remediation lagged the 2021 library fix and the flaw was still KEV-listed as exploited on 2023-03-10.'",
68839
+ "gap_closes": [
68840
+ "NIST-800-53-SI-2"
68841
+ ]
68842
+ },
68843
+ {
68844
+ "id": "NEW-CTRL-038",
68845
+ "name": "MITIGATION-ACTIVE-PATCH-PENDING-VERDICT-CLASS",
68846
+ "description": "This CVE produces a genuine mitigation-active state that a patch-oriented verdict cannot express, and the packet describes it directly: no user is affected who followed the recommendation to set up XStream's security framework with a whitelist limited to the minimal required types. So a service can be protected while still running a library version the scanner flags, and — more dangerously for an audit — can be recorded as hardened while the protection covers only part of it. For this CVE the requirement is that a service carrying an explicit XStream type allowlist while still below 1.4.18 is recorded as mitigation-active-patch-pending with a dated action to reach 1.4.18 or the embedding vendor's fixed release, never as remediated. The residual risk that classification carries is specific here: the allowlist is per-instantiation configuration, so it holds only for the XStream instances it was applied to, and a second instance constructed elsewhere in the same service, or inside a bundled product whose configuration the operator does not control, reverts to the vulnerable default. Precondition, and it decides which state a deployment is actually in: the pre-1.4.18 default is a blacklist, and the packet records that 1.4.18 stopped using one because it cannot be secured for general purpose. A deployment relying on that default is not in the mitigation-active state at all — it belongs in the no-mitigation state, and recording it as configured-and-therefore-hardened is the specific way this entry's application-hardening posture becomes paper.",
68847
+ "evidence": "The packet's vector states: 'No user is affected, who followed the recommendation to setup XStream's security framework with a whitelist limited to the minimal required types. XStream 1.4.18 uses no longer a blacklist by default, since it cannot be secured for general purpose.' live_patch_notes give the two remediation routes as 'upgrading XStream to 1.4.18+ (or configuring an explicit type whitelist) and applying the fixed release of any embedding product such as VMware Cloud Foundation'. The active-exploitation notes record exploitation 'against products that bundle XStream with a default (blacklist) configuration'. The cited Essential Eight application-hardening gap states that 'the safe posture (an XStream type whitelist) was off by default before 1.4.18, so hardening depended on developers configuring it, which most embedding products had not.'",
68848
+ "gap_closes": [
68849
+ "AU-Essential-8-App-Hardening"
68850
+ ]
68851
+ }
68852
+ ]
67924
68853
  },
67925
68854
  "CVE-2022-47986": {
67926
68855
  "name": "IBM Aspera Faspex Code Execution Vulnerability",