@blamejs/exceptd-skills 0.19.13 → 0.19.14

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.
@@ -16317,7 +16317,31 @@
16317
16317
  },
16318
16318
  "ai_discovered_zeroday": false,
16319
16319
  "ai_discovery_source": "vendor_research",
16320
- "ai_assist_factor": "none"
16320
+ "ai_assist_factor": "none",
16321
+ "new_control_requirements": [
16322
+ {
16323
+ "id": "NEW-CTRL-129",
16324
+ "name": "ENTERPRISE-ERP-MANAGEMENT-FUNCTION-AUTHENTICATION",
16325
+ "description": "FreePBX's password check is where the product makes its access decision, and this CVE is that decision failing open: the packet describes unauthorized users bypassing password authentication and reaching the services provided by the FreePBX admin, ending in administrative access to the telephony server for an attacker who never held an account. Bound to this product, the control means each administrative function on the FreePBX server authorizes its caller itself rather than inheriting a verdict from the authentication layer that fronts it, and the administrative surface is segmented so an untrusted caller cannot present a request to that layer at all — the FreePBX admin interface answers only from an operator or management segment, or an authenticated VPN, and never from the internet or a general user or voice VLAN. The identity and least-privilege gaps recorded on this entry do not touch this path: because no password is presented, no password policy, lockout threshold or second factor on any operator account is ever exercised, per-account privilege scoping is never consulted, and the account model an identity attestation examines is bypassed rather than abused. Distinguishing test: from a segment with no operational need for telephony administration, issue unauthenticated requests to each administrative function on a staging FreePBX instance and confirm each refuses the caller before the function runs — an attestation that every FreePBX administrator holds a unique account with a strong password passes cleanly while this path stays fully open. Precondition: the per-function authorization property is what the vendor update establishes; this control states what to verify and what to restrict, it does not implement the fix. Restricting reachability bounds who can attempt the bypass but leaves it fully available to anything inside the permitted segment, and it is not available at all where the admin surface must stay reachable for remote administration — those instances depend on the update and its required service restart. And because active exploitation is confirmed, an instance whose admin surface was reachable during the exposure window needs its administrative accounts and the configuration reachable from that surface reviewed, and its credentials rotated; the update does not undo changes an attacker made while holding admin access.",
16326
+ "evidence": "Packet records CWE-287 improper authentication. The vector states Sangoma FreePBX 'contains an improper authentication vulnerability that potentially allows unauthorized users to bypass password authentication and access services provided by the FreePBX admin', and the attack-vector line records an unauthenticated attacker gaining administrative access to the telephony server. CVSS 9.1, RWEP 77, poc_available true, active_exploitation confirmed, CISA KEV-listed 2026-02-03. patch_available true, live_patch_available false, with live_patch_notes recording that the vendor patch typically requires a service restart or system reboot. Citing gaps include UK-CAF-B2 (identity and access control), NIST-800-53-AC-6 (least privilege) and NIS2-Art21-network-security — the first two are cited precisely because no account is authenticated anywhere on this path.",
16327
+ "gap_closes": [
16328
+ "UK-CAF-B2",
16329
+ "NIST-800-53-AC-6",
16330
+ "NIS2-Art21-network-security"
16331
+ ]
16332
+ },
16333
+ {
16334
+ "id": "NEW-CTRL-001",
16335
+ "name": "CISA-KEV-RESPONSE-SLA",
16336
+ "description": "For this entry the control means the FreePBX fix is driven across every instance on the clock that opened with the 2026-02-03 KEV listing rather than deferred to the next telephony maintenance window, with completion measured per instance by the installed version against the vendor's fixed version and by the required restart having been taken — not by an update having been downloaded or scheduled. The packet records a vendor patch with no live-patch path and a fix that typically requires a service restart or system reboot, so an instance that has taken the update but not restarted still runs the vulnerable code and must be counted as exposed; on a PBX that restart is also the step most likely to be deferred, because taking it interrupts calls in progress, and a deferral recorded as 'patched' is the specific way this remediation goes wrong. Priority follows the packet rather than the CVSS band: a public PoC plus confirmed exploitation against a pre-authentication administrative bypass on a telephony server means the routine cadence a PBX usually sits on is the wrong tier. The packet also pairs a 2019 CVE identifier with a 2026-02-03 KEV listing, which makes discovery the first task rather than the last — the exposed population is instances nobody is currently patching, so enumerate FreePBX servers that no software inventory tracks (branch sites, lab and test instances, vendor- or contractor-managed deployments) before measuring compliance against the ones already in the console. Precondition: the SLA governs the clock and provides no interim mitigation; until the restart completes, restricting which segments can reach the administrative surface is the only operator-side lever, and it is unavailable where that surface must stay reachable for remote administration.",
16337
+ "evidence": "Packet records patch_available true, live_patch_available false, and live_patch_notes 'No live-patch tool registered for this entry at bulk-import time. Vendor patch typically requires service restart or system reboot per the KEV requiredAction.' CISA KEV-listed 2026-02-03, active_exploitation confirmed, poc_available true, RWEP 77, CVSS 9.1. The CVE identifier year (2019) and the KEV listing date (2026-02-03) are both packet fields; the discovery-first ordering is the inference drawn from that pairing, not a claim the packet makes. Citing gaps AU-Essential-8-Patch, ISO-27001-2022-A.8.8 and NIST-800-53-SI-2 are the patch-cadence controls this listing outruns.",
16338
+ "gap_closes": [
16339
+ "AU-Essential-8-Patch",
16340
+ "ISO-27001-2022-A.8.8",
16341
+ "NIST-800-53-SI-2"
16342
+ ]
16343
+ }
16344
+ ]
16321
16345
  },
16322
16346
  "CVE-2025-40551": {
16323
16347
  "name": "SolarWinds Web Help Desk Deserialization of Untrusted Data Vulnerability (variant: CVE-2025-40551)",
@@ -17739,7 +17763,30 @@
17739
17763
  },
17740
17764
  "ai_discovered_zeroday": false,
17741
17765
  "ai_discovery_source": "vendor_research",
17742
- "ai_assist_factor": "none"
17766
+ "ai_assist_factor": "none",
17767
+ "new_control_requirements": [
17768
+ {
17769
+ "id": "NEW-CTRL-120",
17770
+ "name": "DOWNLOAD-PROVENANCE-ENFORCEMENT",
17771
+ "description": "Exploitation here requires a victim to open an attacker-supplied presentation: the packet's vector is a PowerPoint file whose OutlineTextRefAtom carries an invalid index value, triggering memory corruption and code execution inside the PowerPoint process at the user's own privilege. On the unpatched long-tail installs the packet says the re-listing exists for, the delivery path is the only enforceable control. Require Mark-of-the-Web on every presentation arriving by mail, web download, or untrusted file share, and require MOTW-tagged presentations to open in Protected View — an isolated, reduced-privilege render — rather than the full parsing path that reaches the vulnerable record handling. Provenance has to survive the container: a presentation extracted from an archive, mounted from an ISO or VHD, or renamed must inherit the tag rather than lose it, and 'Enable Editing' on externally sourced presentations must be blocked by policy rather than left to the user, because parsing the file is the whole exploit. Distinguishing test: mail a presentation nested inside a ZIP to a managed workstation, extract it, and confirm the extracted file still opens in Protected View — an application-hardening attestation covering only macro and ActiveX/OLE settings passes cleanly while a provenance-stripped presentation reaches the parser with full user privileges. Preconditions: Protected View bounds the render, it does not repair the parser. A user who clicks through to editing, or a file arriving on an ingress path that never applies the tag, is back on the vulnerable path with nothing in between — so the tagging must be enforced at each ingress rather than assumed. This is a holding measure for hosts that have not yet taken the vendor fix, not a substitute for it.",
17772
+ "evidence": "Packet vector: a PowerPoint file with an OutlineTextRefAtom containing an invalid index value that triggers memory corruption, allowing remote attackers to execute arbitrary code; the packet's attack_vector places execution in the PowerPoint process. CWE-94. CISA KEV-listed 2026-01-07 with confirmed active exploitation; poc_available true; CVSS 9.8; RWEP 77. Citing gaps include AU-Essential-8-App-Hardening (User application hardening) and NIST-800-53-AC-6 (Least Privilege).",
17773
+ "gap_closes": [
17774
+ "AU-Essential-8-App-Hardening",
17775
+ "NIST-800-53-AC-6"
17776
+ ]
17777
+ },
17778
+ {
17779
+ "id": "NEW-CTRL-001",
17780
+ "name": "CISA-KEV-RESPONSE-SLA",
17781
+ "description": "The vendor fix for this defect is not new; what the 2026-01-07 KEV listing changes is that the installs which never took it are now on a KEV clock. The packet states the reason for the re-listing outright — long-tail unpatched estates remain exposed — so for this CVE the control is not 'apply the update' but 'enumerate what never received it'. Run the clock from the listing against a census of every PowerPoint install actually in service, and measure completion by the build each install reports rather than by a 'no updates pending' state in a management console: the hosts that keep a defect of this vintage reachable are precisely the hosts that fell out of the managed update path, so the console's silence is an absence of visibility rather than evidence of remediation. The packet records no live-patch path and states the vendor patch typically requires a service restart or system reboot, so an install updated but not restarted is still exposed. Distinguishing test: pull the reported PowerPoint build from every host carrying the product — including machines restored from backup images and rebuilt from older media, which is where a pre-fix build silently returns — and confirm none is pre-fix; a patch-management attestation scoped to the currently supported Office channel reports clean while the long-tail installs the packet names stay exploitable. Precondition: this closes the exposure only where the inventory can see the install. A copy no console enumerates is remediated by removing it or bringing it under management, never by recording it as compliant.",
17782
+ "evidence": "patch_available true; live_patch_available false, with the packet noting no live-patch tool registered and that the vendor patch typically requires service restart or system reboot per the KEV requiredAction. CISA KEV-listed 2026-01-07 with confirmed active exploitation; poc_available true; CVSS 9.8; RWEP 77. The packet's attack_vector states the legacy re-listing exists because long-tail unpatched estates remain exposed. Citing gaps include NIST-800-53-SI-2 (Flaw Remediation), ISO-27001-2022-A.8.8 (Management of technical vulnerabilities) and NIS2-Art21-patch-management (Vulnerability handling and disclosure).",
17783
+ "gap_closes": [
17784
+ "NIST-800-53-SI-2",
17785
+ "ISO-27001-2022-A.8.8",
17786
+ "NIS2-Art21-patch-management"
17787
+ ]
17788
+ }
17789
+ ]
17743
17790
  },
17744
17791
  "CVE-2025-37164": {
17745
17792
  "name": "Hewlett Packard Enterprise (HPE) OneView Code Injection Vulnerability",
@@ -22979,7 +23026,31 @@
22979
23026
  },
22980
23027
  "ai_discovered_zeroday": false,
22981
23028
  "ai_discovery_source": "vendor_research",
22982
- "ai_assist_factor": "none"
23029
+ "ai_assist_factor": "none",
23030
+ "new_control_requirements": [
23031
+ {
23032
+ "id": "NEW-CTRL-145",
23033
+ "name": "ACTIVELY-EXPLOITED-OS-LPE-REMEDIATION-WINDOW-ENFORCEMENT",
23034
+ "description": "The packet places this in the Android Runtime and describes a use-after-free (recorded under CWE-269) reached by a local app to escalate privileges on the device, with the vector naming a Chrome sandbox escape as the route in. Nothing about the account model is being abused here — the attacker already holds execution inside a sandboxed context and a privilege boundary inside the runtime is what fails — so for this CVE the control means the vendor fix is driven across every managed Android device on the clock that opened with the 2025-09-04 KEV listing, rather than left to whenever each handset next takes an update. Completion has to be measured by the patch level the device itself reports back to the management platform, not by 'update pushed' or 'policy applied' in the console. The packet records a vendor patch with no live-patch path and notes the fix typically requires a service restart or system reboot, so a device that has downloaded and staged the update but has not restarted still runs the vulnerable runtime and must be counted as exposed — on a phone the restart is the step a user defers indefinitely, and a deferral recorded as 'patched' is the specific way this remediation goes wrong. Priority follows the packet rather than the 7.8 base score: a public PoC, confirmed in-the-wild exploitation, and the packet's own framing of this as the local-escalation half of a mobile exploit chain make it the step that converts a browser-sandboxed foothold into device-wide compromise, which is why it belongs on a chain-containment clock rather than in the routine mobile-update queue. Precondition: this control only reaches devices whose vendor is still shipping them the fix and whose reported patch level the operator can actually see; a device that cannot reach the fixed level is not remediated by scheduling it, and belongs on a replacement or access-denial path instead.",
23035
+ "evidence": "Packet facts only: cwe_refs CWE-269; vector states Android Runtime contains a use-after-free 'potentially allowing a chrome sandbox escape leading to local privilege escalation'; attack_vector describes exploitation by a local app to escalate privileges and calls it the local-escalation step after an initial-access primitive in a mobile exploit chain, with escalation flaws of this class forming the second half of an intrusion chain; cisa_kev true with kev_date 2025-09-04; active_exploitation confirmed; poc_available true; rwep_score 77 against cvss 7.8; patch_available true; live_patch_available false with live_patch_notes recording no live-patch tool for this entry and that the vendor patch typically requires service restart or system reboot per the KEV requiredAction.",
23036
+ "gap_closes": [
23037
+ "AU-Essential-8-Patch",
23038
+ "NIST-800-53-SI-2",
23039
+ "NIS2-Art21-patch-management",
23040
+ "ISO-27001-2022-A.8.8"
23041
+ ]
23042
+ },
23043
+ {
23044
+ "id": "NEW-CTRL-126",
23045
+ "name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
23046
+ "description": "Exploitation as the packet describes it needs attacker code already executing on the handset — a local app, or the Chrome sandbox the vector names — so on this entry the control's access-condition half is the load-bearing one. The fixed Android patch level has to function as a condition of access: a device below it is refused organizational mail, VPN and document access until it takes the fix and completes the restart the packet says the vendor patch requires. The distinguishing test is to enrol a device held below the fixed patch level and confirm the policy actually denies it protected resources; an estate that surfaces the stale patch level on a compliance dashboard while the device keeps its access has recorded the exposure rather than removed it, and the flaw-remediation and technical-vulnerability attestations cited against this entry pass on exactly that kind of reporting. Precondition, and this is where the control is usually over-claimed: restricting which applications may install raises the bar for getting the attacker's local app onto the device, but it does not evict an app already installed, and it does not cover the second delivery path the packet names at all — a Chrome sandbox escape routes through the browser that is already on the device and is driven by rendered web content, so no install decision is ever made and no install policy is ever consulted. A device suspected of having already run the escalation belongs on the incident path, not the install-policy path. This is a holding measure for the window before the fixed runtime and its restart land, not a substitute for them.",
23047
+ "evidence": "Packet facts only: vector states the Android Runtime use-after-free potentially allows a chrome sandbox escape leading to local privilege escalation; attack_vector states exploitation is by a local app escalating privileges on the device; active_exploitation confirmed with poc_available true and kev_date 2025-09-04; patch_available true; live_patch_available false, with live_patch_notes stating the vendor patch typically requires service restart or system reboot per the KEV requiredAction. The citing framework gaps recorded on this entry are the patch and technical-vulnerability-management controls (AU-Essential-8-Patch, ISO-27001-2022-A.8.8, NIS2-Art21-patch-management, NIST-800-53-SI-2) plus UK-CAF-B4 system security.",
23048
+ "gap_closes": [
23049
+ "UK-CAF-B4",
23050
+ "AU-Essential-8-Patch"
23051
+ ]
23052
+ }
23053
+ ]
22983
23054
  },
22984
23055
  "CVE-2025-53690": {
22985
23056
  "name": "Sitecore Multiple Products Deserialization of Untrusted Data Vulnerability",
@@ -23755,7 +23826,30 @@
23755
23826
  },
23756
23827
  "ai_discovered_zeroday": false,
23757
23828
  "ai_discovery_source": "vendor_research",
23758
- "ai_assist_factor": "none"
23829
+ "ai_assist_factor": "none",
23830
+ "new_control_requirements": [
23831
+ {
23832
+ "id": "NEW-CTRL-125",
23833
+ "name": "SERVICE-INTERNAL-PROTOCOL-DESERIALIZATION-HARDENING",
23834
+ "description": "The Citrix Session Recording server is the deserialization sink here, and the packet's stated access requirement is why a perimeter-shaped defence does nothing for it: the attacker is an authenticated user on the same intranet as the recording server, so the traffic carrying the untrusted serialized object is ordinary internal traffic from an ordinary internal account. Bound to this product, the control means the Session Recording server's listening surface is treated as a trust boundary rather than an internal convenience — it accepts connections only from the hosts that legitimately deliver session-recording traffic and from the administrative segment that manages the server, enforced by host firewall or network ACL rather than inherited from the assumption that the recording server is internal, and the content arriving on that surface is constrained to what the service legitimately needs instead of being reconstructed into arbitrary objects. The sink's own content handling is the only thing standing between an unprivileged intranet account and execution as the NetworkService account on the recording server, because the caller's account privilege is never consulted on this path. Distinguishing test: from a general user VLAN on a staging deployment, open a connection to the Session Recording server's listening surface and send content the service never legitimately receives, and confirm the peer is refused before the content is deserialized — a deployment that passes a Citrix role-and-permission review while the recording server answers from every internal segment still carries the path. Precondition, and this is where the control is usually over-claimed: restricting reachability bounds which hosts and accounts can present the payload, it does not repair the deserialization, and any authenticated user inside a permitted segment satisfies the packet's stated access requirement in full. It is a holding measure for the window before the vendor update and its required restart land, and it offers nothing where the recording server must stay reachable from the segments that legitimately deliver recordings.",
23835
+ "evidence": "Packet records CWE-502 deserialization of untrusted data in Citrix Session Recording. The vector states the flaw 'allows limited remote code execution with privilege of a NetworkService Account access' and that the 'Attacker must be an authenticated user on the same intranet as the session recording server'. CVSS 9.8, RWEP 77, poc_available true, active_exploitation confirmed, CISA KEV-listed 2025-08-25. Citing gaps include NIS2-Art21-network-security and UK-CAF-B4; NIST-800-53-AC-6 is also cited, consistent with an access requirement that any authenticated intranet account satisfies regardless of its privilege.",
23836
+ "gap_closes": [
23837
+ "NIS2-Art21-network-security",
23838
+ "UK-CAF-B4"
23839
+ ]
23840
+ },
23841
+ {
23842
+ "id": "NEW-CTRL-001",
23843
+ "name": "CISA-KEV-RESPONSE-SLA",
23844
+ "description": "For this entry the control means the Citrix Session Recording update is driven across every recording server on the clock that opened with the 2025-08-25 KEV listing, rather than folded into the next scheduled virtualization-platform maintenance window, with completion measured per server by its installed version against the vendor's fixed version and by the required restart having been taken — not by 'approved' or 'downloaded' in a management console. The packet records a vendor patch with no live-patch path and a fix that typically requires a service restart or system reboot, so a recording server that has taken the update but not restarted still runs the vulnerable code and must be counted as exposed. The tier assignment is the load-bearing part: because the exploit's only stated access requirement is an authenticated account on the same intranet, an internal, non-internet-facing recording server does not qualify for the relaxed cadence such assets normally receive — internal reachability is this exploit's precondition, not a mitigating factor, which is exactly how the patch-cadence controls cited on this entry pass their attestations while the server stays exploitable. Precondition: the SLA governs the clock, it supplies no interim mitigation; for the window before the restart completes, constraining who can reach the recording server's listening surface is the only operator-side lever. And because active exploitation is confirmed, a recording server that was reachable by intranet accounts during the exposure window belongs on the incident path rather than being closed on the patch — the update removes the deserialization path, not anything an attacker executed as NetworkService through it.",
23845
+ "evidence": "Packet records patch_available true, live_patch_available false, and live_patch_notes 'No live-patch tool registered for this entry at bulk-import time. Vendor patch typically requires service restart or system reboot per the KEV requiredAction.' CISA KEV-listed 2025-08-25, active_exploitation confirmed, poc_available true, RWEP 77, CVSS 9.8. The vector's access requirement — an authenticated user on the same intranet as the session recording server — is the packet fact that rules out treating this as a low-urgency internal asset. Citing gaps AU-Essential-8-Patch, ISO-27001-2022-A.8.8 and NIST-800-53-SI-2 are the patch-cadence controls this listing outruns.",
23846
+ "gap_closes": [
23847
+ "AU-Essential-8-Patch",
23848
+ "ISO-27001-2022-A.8.8",
23849
+ "NIST-800-53-SI-2"
23850
+ ]
23851
+ }
23852
+ ]
23759
23853
  },
23760
23854
  "CVE-2025-54948": {
23761
23855
  "name": "Trend Micro Apex One OS Command Injection Vulnerability",
@@ -26836,7 +26930,31 @@
26836
26930
  },
26837
26931
  "ai_discovered_zeroday": false,
26838
26932
  "ai_discovery_source": "vendor_research",
26839
- "ai_assist_factor": "none"
26933
+ "ai_assist_factor": "none",
26934
+ "new_control_requirements": [
26935
+ {
26936
+ "id": "NEW-CTRL-021",
26937
+ "name": "TIER-3-DEPENDENCY-INVENTORY",
26938
+ "description": "The packet states that this flaw affects various products implementing the Erlang/OTP SSH server, including but not limited to Cisco, NetApp and SUSE. For most operators that means the vulnerable code is not something they installed but something a vendor embedded, and no host in the estate reports 'Erlang/OTP' anywhere an administrator would look. Bound to this CVE the control means the component inventory has to be able to answer 'which products in service contain an Erlang/OTP SSH server' from vendor SBOM and advisory data rather than from installed-package lists, with the three vendors the packet names enumerated first and the enumeration extended by vendor response rather than stopped there — the packet's own wording is explicitly non-exhaustive, so treating those three as the affected set is a decision to leave the rest unknown. The distinguishing test is deliberately an absence test done properly: take an appliance whose vendor is not one of the three named and show the answer to 'does this product embed an Erlang/OTP SSH server?' comes from that vendor's SBOM or advisory, not from the absence of an Erlang package on the host — for an embedded runtime, absence from an installed-software list and true absence look identical. Precondition: the inventory remediates nothing on its own; it determines which vendor updates apply. The packet records a vendor patch, no live-patch path, and a fix that typically requires a service restart or system reboot per the KEV requiredAction, so each identified product carries its own update and its own restart, and a product identified and updated but not restarted is still running the vulnerable listener. The packet names no fixed Erlang/OTP release, so the fixed version is whatever each product's vendor publishes for that product.",
26939
+ "evidence": "Packet vector: 'This vulnerability could affect various products that implement Erlang/OTP SSH server, including—but not limited to—Cisco, NetApp, and SUSE.' CWE-306; CVSS 9.8; RWEP 77; poc_available true; active_exploitation confirmed; CISA KEV-listed 2025-06-09. patch_available true; live_patch_available false; live_patch_notes: 'No live-patch tool registered for this entry at bulk-import time. Vendor patch typically requires service restart or system reboot per the KEV requiredAction.'",
26940
+ "gap_closes": [
26941
+ "AU-Essential-8-Patch",
26942
+ "ISO-27001-2022-A.8.8",
26943
+ "NIST-800-53-SI-2",
26944
+ "NIS2-Art21-patch-management"
26945
+ ]
26946
+ },
26947
+ {
26948
+ "id": "NEW-CTRL-128",
26949
+ "name": "APPSERVER-REMOTING-PROTOCOL-RESTRICTION",
26950
+ "description": "The Erlang/OTP SSH server is exactly the pre-authentication protocol listener this control governs: the packet places the defect in how SSH protocol messages are handled and has an attacker executing arbitrary commands without valid credentials, so the message handler answers — and is exploitable — before any credential is presented, and the parser is itself the vulnerable code. Bound to this deployment the requirement is that the SSH surface of every product identified as embedding the Erlang/OTP SSH server accepts connections only from the management and jump networks that legitimately administer it, enforced by network ACL or host firewall rather than assumed from 'SSH is internal', and that this KEV-listed defect is remediated on an accelerated clock with the service restart or reboot the packet records actually taken rather than folded into the next maintenance window. This is also why the least-privilege and identity-and-access gaps recorded against this entry do not close the path: the attacker never authenticates, so no account's privileges are consulted and the account model an identity attestation examines is bypassed rather than abused — key-only authentication, disabled password login, MFA on SSH accounts and per-account privilege scoping all pass cleanly while the pre-auth path stays fully open. Distinguishing test: from a segment with no administrative role, open a connection to the SSH port of each identified product on a staging instance and confirm it is refused before the protocol exchange begins. Preconditions: reachability restriction bounds who can send the pre-authentication messages, it does not repair the handler; it is unavailable wherever that SSH surface must stay reachable for normal operation, and any compromised jump host or automation account already inside the permitted segment satisfies the exploit's only stated requirement in full. Because the packet records confirmed exploitation with a public PoC, a product whose SSH surface was reachable during the exposure window needs forensic triage and credential rotation — the update closes the path, it does not remove what unauthenticated command execution left behind.",
26951
+ "evidence": "Packet vector: 'Erlang Erlang/OTP SSH server contains a missing authentication for critical function vulnerability. This could allow an attacker to execute arbitrary commands without valid credentials... By exploiting a flaw in how SSH protocol messages are handled, a malicious actor could gain unauthorized access to affected systems.' CWE-306; CVSS 9.8; RWEP 77; poc_available true; active_exploitation confirmed; CISA KEV-listed 2025-06-09. patch_available true; live_patch_available false; live_patch_notes records that the vendor patch typically requires service restart or system reboot per the KEV requiredAction. Citing gaps on this entry include NIST-800-53-AC-6 (Least Privilege) and UK-CAF-B2 (Identity and access control).",
26952
+ "gap_closes": [
26953
+ "UK-CAF-B2",
26954
+ "NIST-800-53-AC-6"
26955
+ ]
26956
+ }
26957
+ ]
26840
26958
  },
26841
26959
  "CVE-2025-5419": {
26842
26960
  "name": "Google Chromium V8 Out-of-Bounds Read and Write Vulnerability",
@@ -27676,7 +27794,30 @@
27676
27794
  },
27677
27795
  "ai_discovered_zeroday": false,
27678
27796
  "ai_discovery_source": "vendor_research",
27679
- "ai_assist_factor": "none"
27797
+ "ai_assist_factor": "none",
27798
+ "new_control_requirements": [
27799
+ {
27800
+ "id": "NEW-CTRL-001",
27801
+ "name": "CISA-KEV-RESPONSE-SLA",
27802
+ "description": "This entry is the case where a severity-tiered remediation queue and the real exposure disagree: CVSS 6.1 puts it below the critical/high trigger most patch programs act on, while the packet carries RWEP 77, confirmed in-the-wild exploitation, a public PoC and a CISA KEV listing dated 2025-05-19. Bound to this product the control means the ZCS remediation item opens on the KEV listing rather than on the CVSS band, and completion is measured by each mailbox node running the vendor-fixed release with the restart taken — the packet records a vendor patch, no live-patch path, and a fix that typically requires a service restart or system reboot per the KEV requiredAction, so a node that has taken the package but not restarted is still serving the vulnerable CalendarInvite render path and must be counted as exposed. The distinguishing test is to produce the remediation record for this CVE and show what triggered it: a program ordered by CVSS will show this sitting in a medium-severity backlog with an attestation that reads clean, while a flaw with confirmed exploitation executes attacker JavaScript in users' authenticated mail sessions. Precondition: the vendor release closes the render path, it does not undo a session that was already scripted. Arbitrary JavaScript in an authenticated webmail session can do whatever that session can do, so with exploitation confirmed, mailboxes whose users opened invites during the exposure window need review of the state that session could have changed — forwarding and filter configuration, and message access — rather than being closed on the patch.",
27803
+ "evidence": "Packet: CVSS 6.1 against RWEP 77; CWE-79; poc_available true; active_exploitation confirmed; CISA KEV-listed 2025-05-19. patch_available true; live_patch_available false; live_patch_notes: 'No live-patch tool registered for this entry at bulk-import time. Vendor patch typically requires service restart or system reboot per the KEV requiredAction.' Vector places the flaw in 'the CalendarInvite feature of the Zimbra webmail classic user interface'. No fixed ZCS version is recorded in the packet.",
27804
+ "gap_closes": [
27805
+ "AU-Essential-8-Patch",
27806
+ "ISO-27001-2022-A.8.8",
27807
+ "NIS2-Art21-patch-management",
27808
+ "NIST-800-53-SI-2"
27809
+ ]
27810
+ },
27811
+ {
27812
+ "id": "NEW-CTRL-040",
27813
+ "name": "OWA-PER-REQUEST-SIEM-INGESTION",
27814
+ "description": "Zimbra's classic web client is the webmail tier this control governs, and this CVE is precisely the failure mode it exists for: the packet has the payload arriving inside an email message's crafted calendar header, executing when the CalendarInvite feature renders it, and running in a victim's already-authenticated session. Nothing in that sequence produces an authentication event — the user signed in normally, once, before the message arrived — so an estate whose mail-platform logging is authentication events plus administrator actions holds no record that exploitation occurred. Bound to this product the requirement is per-request access logging from every ZCS mailbox node forwarded to a SIEM outside the mail platform, retained long enough to cover a window that opened before the 2025-05-19 KEV listing, and correlated with inbound-message telemetry. The two observable halves of what the packet describes are an inbound message carrying markup in a calendar header, and subsequent requests issued inside one already-authenticated session that do not correspond to what that user was doing, with no new sign-in between them. A rule keyed on failed logins, impossible-travel or new-device sign-ins, or malicious attachments fires on none of it: there is no failed login, no new device, and no attachment — the payload rides a header on an otherwise ordinary invite. Distinguishing test: send a benign but structurally equivalent invite carrying markup in the calendar header to a mailbox on a staging node, open it in the classic UI, and confirm the SIEM shows both the inbound message and the resulting per-request activity under the pre-existing session; if the only retrievable artifact is that day's login event, the logging cannot evidence this exploitation. Precondition: this is detection, not prevention — it does not stop the script from running and it yields nothing retrospectively if per-request logs were never retained, so it has value only where it was already in place. It covers only the nodes actually forwarding.",
27815
+ "evidence": "Packet vector: 'Zimbra Collaboration contains a cross-site scripting (XSS) vulnerability in the CalendarInvite feature of the Zimbra webmail classic user interface. An attacker can exploit this vulnerability via an email message containing a crafted calendar header, leading to the execution of arbitrary JavaScript code.' Attack vector: 'letting an attacker run script in a victim's authenticated session.' CWE-79; poc_available true; active_exploitation confirmed; CISA KEV-listed 2025-05-19.",
27816
+ "gap_closes": [
27817
+ "UK-CAF-B4"
27818
+ ]
27819
+ }
27820
+ ]
27680
27821
  },
27681
27822
  "CVE-2025-27920": {
27682
27823
  "name": "Srimax Output Messenger Directory Traversal Vulnerability",
@@ -32277,7 +32418,39 @@
32277
32418
  },
32278
32419
  "ai_discovered_zeroday": false,
32279
32420
  "ai_discovery_source": "vendor_research",
32280
- "ai_assist_factor": "none"
32421
+ "ai_assist_factor": "none",
32422
+ "new_control_requirements": [
32423
+ {
32424
+ "id": "NEW-CTRL-134",
32425
+ "name": "DEVICE-MANAGEMENT-GATEWAY-CONFIG-ENDPOINT-AUTH-INPUT-NEUTRALIZATION",
32426
+ "description": "Unified CM is the call-control plane the packet names, and the defect sits on a service endpoint it exposes: WebDialer is reachable by an unauthenticated remote attacker, and improper input validation of specific HTTP requests lets the caller choose what the server requests and drives file writes to the underlying OS that are then used to reach root. Bound to this product, the control means the WebDialer request handlers authorize their caller before the request is processed at all, and the destination the server is asked to contact and the path it is asked to write are canonicalized and validated against an allowlist before either action executes — so a caller-supplied value cannot select an internal target or which file gets written; and no Unified CM node is left with WebDialer reachable from a segment that has no click-to-dial need. This is also why the cited boundary-protection gap does not close the path by itself: a perimeter that keeps the node off the internet still leaves the endpoint answering any host inside the permitted segment, and a boundary attestation passes cleanly while it does. Distinguishing test: from a segment with no click-to-dial requirement, send unauthenticated HTTP requests to the WebDialer endpoints on a staging node whose parameters name an internal address the server should never contact, and confirm each is refused before the server issues the outbound request or writes anything. Preconditions: endpoint-side authorization and input validation are properties the vendor update establishes — this control states what to verify, it does not implement it, and the packet registers no live-patch path for the product class. Restricting reachability bounds who can send the request but leaves the endpoint fully exploitable to anything inside the permitted segment, and it is unavailable where WebDialer must stay reachable for normal click-to-dial operation. Because exploitation is confirmed and the packet's path ends in files written to the OS and root privilege, a node reachable during the exposure window needs forensic review — the update does not remove what was already written.",
32427
+ "evidence": "Packet vector: 'The Unified CM WebDialer service is reachable by an unauthenticated remote attacker. Improper input validation of specific HTTP requests (CWE-918) lets the attacker coerce the server into issuing attacker-controlled requests and writing files to the underlying OS, which are then used to elevate to root. Cisco rates the Security Impact Critical above the 8.6 base because the end state is root compromise of the call-control plane.' cwe_refs CWE-918; cisa_kev true with kev_date 2026-06-25; active_exploitation confirmed; poc_available true; CVSS 8.6; RWEP 78. patch_available true, live_patch_available false, live_patch_notes: 'No live-patch path for this product class; remediation is the vendor update plus the named compensating controls until it lands.'",
32428
+ "gap_closes": [
32429
+ "NIST-800-53-SC-7",
32430
+ "NIS2-Art21-network-security",
32431
+ "UK-CAF-B4"
32432
+ ]
32433
+ },
32434
+ {
32435
+ "id": "NEW-CTRL-001",
32436
+ "name": "CISA-KEV-RESPONSE-SLA",
32437
+ "description": "The packet gives this entry a vendor update, no live-patch path for the product class, confirmed exploitation and a public PoC, so the remediation clock runs from the 2026-06-25 KEV listing through the update landing on every Unified CM node — including the nodes an operator would ordinarily defer, because a telephony cluster's change window is scheduled around call availability rather than around exploit availability. That deferral is the specific way this remediation goes wrong: the packet's end state is root on the call-control plane, so a node left running past the clock while the cluster waits for its next maintenance window is not the low-risk member of the cluster, it is the one the unauthenticated path reaches. Where a node genuinely cannot take the update inside the clock, the packet's own remediation line requires the compensating controls to be in force for the whole interval and the node counted as exposed, not recorded as scheduled.",
32438
+ "evidence": "Packet: cisa_kev true, kev_date 2026-06-25, active_exploitation confirmed, poc_available true, CVSS 8.6, RWEP 78. patch_available true, live_patch_available false, live_patch_notes: 'No live-patch path for this product class; remediation is the vendor update plus the named compensating controls until it lands.' Vector records the end state as root compromise of the call-control plane.",
32439
+ "gap_closes": [
32440
+ "AU-Essential-8-Patch",
32441
+ "NIST-800-53-SI-2"
32442
+ ]
32443
+ },
32444
+ {
32445
+ "id": "NEW-CTRL-038",
32446
+ "name": "MITIGATION-ACTIVE-PATCH-PENDING-VERDICT-CLASS",
32447
+ "description": "The packet's remediation line for this entry — the vendor update plus the named compensating controls until it lands — describes exactly the intermediate state a vulnerability-management verdict collapses into 'handled'. For this product the interim measure is operator-side rather than a vendor rule: restricting which segments can reach WebDialer on an un-updated Unified CM node. That is the mitigation-active state, not remediation, and its residual risk is specific enough to record — anything that can already route to the node still reaches an unauthenticated endpoint whose documented end state is root. The verdict for this CVE must therefore carry the list of nodes still in that state, the segments each remains reachable from, and a dated action item for the vendor update, instead of reporting the cluster as remediated because a segmentation change was made. Precondition worth stating in the same verdict: for a node with confirmed exposure during the window, neither the segmentation change nor the later update evicts anything the attacker already wrote to the OS.",
32448
+ "evidence": "Packet: live_patch_available false with live_patch_notes 'No live-patch path for this product class; remediation is the vendor update plus the named compensating controls until it lands'; vector states the WebDialer service is reachable by an unauthenticated remote attacker and that the attacker-driven file writes are used to elevate to root; active_exploitation confirmed; poc_available true.",
32449
+ "gap_closes": [
32450
+ "ISO-27001-2022-A.8.8"
32451
+ ]
32452
+ }
32453
+ ]
32281
32454
  },
32282
32455
  "CVE-2025-67038": {
32283
32456
  "name": "Lantronix EDS5000 Code Injection Vulnerability",
@@ -32387,7 +32560,31 @@
32387
32560
  },
32388
32561
  "ai_discovered_zeroday": false,
32389
32562
  "ai_discovery_source": "human_researcher",
32390
- "ai_assist_factor": "none"
32563
+ "ai_assist_factor": "none",
32564
+ "new_control_requirements": [
32565
+ {
32566
+ "id": "NEW-CTRL-134",
32567
+ "name": "DEVICE-MANAGEMENT-GATEWAY-CONFIG-ENDPOINT-AUTH-INPUT-NEUTRALIZATION",
32568
+ "description": "UniFi OS is the management plane running on the device, and the defect sits on one of its configuration endpoints: the packet has the package-update handler passing attacker-influenced input into a command executed with root privilege, CWE-20 improper input validation becoming the CWE-78 injection. Bound to this product, the control means the update handler authorizes its caller before any supplied input is acted on, and neutralizes that input before the privileged command runs, so a caller-supplied value cannot become part of what the console executes as root; and it means no UniFi OS console is left with its management surface reachable from a network with no management role, including any path into the site from outside. Reachability is doing real work here, and it is also where this control is normally over-claimed. The packet says the flaw on its own requires reaching the handler, but chained behind CVE-2026-34908 (access-control bypass) and CVE-2026-34909 (path traversal) it completes an unauthenticated root RCE — so restricting who holds a UniFi administrative account changes nothing about this path, because the attacker never authenticates, and only restricting who can route to the management surface bounds the attempt. Distinguishing test: from a segment with no management role, and from outside the site, attempt to reach the UniFi OS management surface on a staging console and confirm the request is refused before the update handler is entered — a console that passes an administrator-account and password-policy audit while answering a general user VLAN or an inbound mapping is still fully exposed to the published chain. Precondition: the caller authorization and input neutralization are properties the vendor update establishes; this control states what to verify, it does not implement it. The packet records a vendor update with no live-patch path, so until that update lands, restricting reachability bounds the population that can present a request to the handler but leaves the handler itself entirely exploitable to anything inside the permitted segment, and it is unavailable wherever the console must stay reachable for remote site management.",
32569
+ "evidence": "Packet facts only: cwe_refs CWE-20 and CWE-78; vector states the UniFi OS package-update handler passes attacker-influenced input into a command executed with root privilege, that on its own it requires reaching the handler, and that chained behind CVE-2026-34908 (access-control bypass) and CVE-2026-34909 (path traversal) it completes an unauthenticated root RCE that operators use to install a Mirai/Gafgyt-derived botnet; cisa_kev true with kev_date 2026-06-23; active_exploitation confirmed; poc_available true; cvss 10 with rwep_score 79; patch_available true; live_patch_available false with live_patch_notes 'No live-patch path for this product class; remediation is the vendor update plus the named compensating controls until it lands.' NIST-800-53-SC-7 boundary protection is one of the framework gaps already citing this CVE.",
32570
+ "gap_closes": [
32571
+ "NIST-800-53-SC-7",
32572
+ "UK-CAF-B4",
32573
+ "NIS2-Art21-network-security"
32574
+ ]
32575
+ },
32576
+ {
32577
+ "id": "NEW-CTRL-032",
32578
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
32579
+ "description": "The packet does not stop at root RCE — it names the outcome operators are observing, a Mirai/Gafgyt-derived botnet installed on the device, with exploitation confirmed and the entry KEV-listed 2026-06-23. That makes the vendor update the wrong closing step for any console that was reachable by the chain during the exposure window: applying it removes the injection path but leaves an implant that was installed with root exactly where it is, along with whatever the attacker changed or read on the box, and the device keeps operating as a botnet member after the flaw-remediation ticket closes. For a suspect console the response is to treat it as compromised infrastructure rather than as a patch item — capture the running configuration for analysis, rebuild from vendor firmware rather than restoring that configuration wholesale, and rotate the console's administrative credentials along with anything else it stored or that was presented to it during the window, since the packet establishes the attacker held root and root on this device is custody of everything on it. The distinguishing test keys on what the packet documents rather than on tool signatures: an installed botnet client exists to reach its operator, so examine the console's own outbound connections for destinations that no management, update or telemetry function explains — a console that reports the fixed version and still initiates them was compromised before the update landed, and a version check alone cannot tell those two states apart. Precondition, stated rather than assumed: rebuild is warranted where the console was reachable by the chain during the exposure window. Where the packet's stated requirement of reaching the update handler was never satisfiable — a console with no route from any untrusted network across that period — the update alone is closure. Deciding which case a given console is in requires reachability evidence from the exposure window, not a present-tense assertion that the console sits on an internal network.",
32580
+ "evidence": "Packet facts only: vector and attack_vector state the chain completes an unauthenticated root RCE that operators use to install a Mirai/Gafgyt-derived botnet; active_exploitation confirmed; cisa_kev true with kev_date 2026-06-23; poc_available true; cvss 10 with rwep_score 79; the flaw requires reaching the package-update handler on its own, and is chained behind CVE-2026-34908 and CVE-2026-34909; patch_available true with live_patch_available false and live_patch_notes stating remediation is the vendor update plus the named compensating controls until it lands. NIST-800-53-SI-2 flaw remediation and AU-Essential-8-Patch are among the framework gaps already citing this CVE.",
32581
+ "gap_closes": [
32582
+ "NIST-800-53-SI-2",
32583
+ "AU-Essential-8-Patch",
32584
+ "ISO-27001-2022-A.8.8"
32585
+ ]
32586
+ }
32587
+ ]
32391
32588
  },
32392
32589
  "CVE-2026-34909": {
32393
32590
  "name": "Ubiquiti UniFi OS Path Traversal Vulnerability",
@@ -35518,7 +35715,32 @@
35518
35715
  },
35519
35716
  "ai_discovered_zeroday": false,
35520
35717
  "ai_discovery_source": "human_researcher",
35521
- "ai_assist_factor": "none"
35718
+ "ai_assist_factor": "none",
35719
+ "new_control_requirements": [
35720
+ {
35721
+ "id": "NEW-CTRL-001",
35722
+ "name": "CISA-KEV-RESPONSE-SLA",
35723
+ "description": "The packet turns this SLA into a build check an operator can actually perform: every VeraCore instance released before 2024.4.2.1 carries the upload.aspx path, so the object of the clock is a version string read off each running instance, not an attestation that a patching process exists. Run that clock from the 2025-03-10 KEV listing rather than the 2025-03-31 due date the entry records, because active exploitation is already confirmed — the three-week interval between those dates is precisely the window in which an authenticated user places a file into a folder the packet says is accessible during web browsing by other users, and the file outlives the window. The packet records no live-patch path for this product class, so the vendor update is the only thing that closes the upload path; it records no restart or reboot requirement either, so a deferral justified by needing a downtime window for the fulfilment platform is not supported by anything in this entry. Precondition, and the reason the scope cannot be narrowed to instances someone judges externally exposed: the packet's stated access requirement is a remote authenticated user, so every account that can sign in to an instance already satisfies the exploit precondition. Restricting who can reach the application bounds the population that can send the upload; it removes nothing for anyone already inside that population, and it is not a substitute for reaching 2024.4.2.1. Distinguishing test: produce every VeraCore instance in service with its version string and show each is at or past 2024.4.2.1 — an inventory row reading 'VeraCore: patching current' without a per-instance build is the state this control rejects, because a second instance on an older track keeps upload.aspx reachable while the ticket reads clean.",
35724
+ "evidence": "Packet vector: 'Advantive VeraCore before 2024.4.2.1 allows remote authenticated users to upload files to unintended folders (e.g., ones that are accessible during web browsing by other users). upload.aspx can be used for this.' CISA KEV-listed 2025-03-10 with a 2025-03-31 due date; active_exploitation confirmed; patch_available true; live_patch_available false, with live_patch_notes recording no live-patch path for this product class and the vendor update plus compensating controls as the remediation until it lands — no restart or reboot requirement is recorded. CWE-434; cvss 9.9; rwep_score 44; poc_available false.",
35725
+ "gap_closes": [
35726
+ "AU-Essential-8-Patch",
35727
+ "NIST-800-53-SI-2",
35728
+ "ISO-27001-2022-A.8.8",
35729
+ "NIS2-Art21-vulnerability-management"
35730
+ ]
35731
+ },
35732
+ {
35733
+ "id": "NEW-CTRL-018",
35734
+ "name": "SCANNER-PAPER-COMPLIANCE-TEST",
35735
+ "description": "A scan that reports VeraCore remediated because the instance now returns 2024.4.2.1 is paper compliance on this entry specifically, because the upgrade closes the upload path and removes nothing that was written through it. The packet records active exploitation as confirmed and describes the primitive as an authenticated user placing a file into a folder accessible during web browsing by other users — a file that landed there before the upgrade is still on disk, still under a path the application serves, and still returned to whatever requests it, after the version string changes. The operational test the scan has to carry is therefore a content test rather than a version test: for each instance, enumerate the contents of the directories VeraCore serves to browsing users and reconcile them against the deployment's own record of what belongs there, covering the whole interval the instance ran a build below 2024.4.2.1 and not merely the days since the 2025-03-10 KEV listing, and flag every file that upload.aspx could have placed and that no operator can account for. Precondition on that reconciliation, which is where this is usually over-claimed: it is conclusive only where a known-good manifest or build-time file list exists for the served directories. Where it does not, the honest output is an unresolved-content finding that puts the instance on a rebuild-from-known-good path — not a clean result, and not a finding that the upgrade closes. Distinguishing test: on a staging instance at 2024.4.2.1, sign in as an ordinary VeraCore user and POST a file through upload.aspx aimed at a folder that browsing users can reach, and confirm it is refused before the write — an attestation that the flaw-remediation ticket closed on the version bump answers a question this exploitation path never asked.",
35736
+ "evidence": "Packet vector: 'Advantive VeraCore before 2024.4.2.1 allows remote authenticated users to upload files to unintended folders (e.g., ones that are accessible during web browsing by other users). upload.aspx can be used for this.' active_exploitation confirmed; CISA KEV-listed 2025-03-10 (due 2025-03-31); patch_available true with 2024.4.2.1 as the fixed release named in the vector; live_patch_available false, live_patch_notes recording no live-patch path for this product class; CWE-434; cvss 9.9; rwep_score 44. Framework gaps cited on this entry are the patch- and vulnerability-management controls (ASD Essential Eight patching, ISO/IEC 27001:2022 A.8.8, NIST SP 800-53 SI-2, NIS2 vulnerability handling, UK CAF B4), none of which asks what the exposure window left behind.",
35737
+ "gap_closes": [
35738
+ "ISO-27001-2022-A.8.8",
35739
+ "NIST-800-53-SI-2",
35740
+ "UK-CAF-B4"
35741
+ ]
35742
+ }
35743
+ ]
35522
35744
  },
35523
35745
  "CVE-2025-25181": {
35524
35746
  "name": " Advantive VeraCore SQL Injection Vulnerability",
@@ -36314,7 +36536,21 @@
36314
36536
  },
36315
36537
  "ai_discovered_zeroday": false,
36316
36538
  "ai_discovery_source": "vendor_disclosure",
36317
- "ai_assist_factor": "none"
36539
+ "ai_assist_factor": "none",
36540
+ "new_control_requirements": [
36541
+ {
36542
+ "id": "NEW-CTRL-038",
36543
+ "name": "MITIGATION-ACTIVE-PATCH-PENDING-VERDICT-CLASS",
36544
+ "description": "Power Pages is a vendor-operated service and the packet says the fix already happened inside it: the vulnerability 'has already been mitigated in the service', all affected customers were notified, and those customers were given instructions on reviewing their sites for potential exploitation and cleanup methods. That produces a compliance state none of the cited controls has a box for, and it maps onto this control's state (b) rather than state (a) — a mitigation the operator did not deploy, cannot verify by version or build, and holds no artifact for, while a KEV clock that opened 2025-02-21 with a 2025-03-14 due date names an action the operator cannot perform. Recording the entry as 'patched per SLA' is precisely the failure this control exists to prevent, because the outstanding work is the other half: the flaw let an unauthorized attacker elevate privileges over the network by bypassing the user registration control, and a service-side fix closes that bypass without removing any account, role or site content an attacker obtained through it beforehand. The verdict for this CVE must therefore read as vendor-mitigated-in-service carrying a distinct, time-bound operator action item — work through the vendor's cleanup instructions and review each Power Pages site's registered users and their assigned privileges across the exposure window — and stay open until that review is evidenced rather than closing when the vendor's mitigation is acknowledged. The distinguishing test is documentary: ask for the artifact behind the 'remediated' verdict; a patch record for a service the operator never patched, or a copy of the vendor's mitigation notice, is not evidence that any site was reviewed. Two preconditions, both load-bearing. The packet states that an operator who was not notified is not affected, so the review scope is set by whether the notification was received, and an operator should establish that positively rather than infer exposure from the KEV listing. And the packet records poc_available false alongside confirmed active exploitation, so there is no public exploit for a scanner or detection signature to key on — the review has to run off the vendor's instructions and the site's own registration and privilege records, not off waiting for exploitation evidence to surface on its own.",
36545
+ "evidence": "Packet facts only: cwe_refs CWE-284; vector states an improper access control vulnerability in Power Pages allows an unauthorized attacker to elevate privileges over a network potentially bypassing the user registration control, that 'This vulnerability has already been mitigated in the service and all affected customers have been notified', that the update addressed the registration control bypass, that affected customers were given instructions on reviewing their sites for potential exploitation and clean up methods, and that 'If you've not been notified this vulnerability does not affect you'; cisa_kev true with kev_date 2025-02-21 and the attack_vector recording a 2025-03-14 due date; active_exploitation confirmed; poc_available false; cvss 8.2 with rwep_score 46; patch_available true; live_patch_available false with live_patch_notes recording no live-patch path for this product class.",
36546
+ "gap_closes": [
36547
+ "NIST-800-53-SI-2",
36548
+ "ISO-27001-2022-A.8.8",
36549
+ "NIS2-Art21-vulnerability-management",
36550
+ "AU-Essential-8-Patch"
36551
+ ]
36552
+ }
36553
+ ]
36318
36554
  },
36319
36555
  "CVE-2025-0111": {
36320
36556
  "name": "Palo Alto Networks PAN-OS File Read Vulnerability",
@@ -39237,7 +39473,40 @@
39237
39473
  "adequate": false,
39238
39474
  "gap": "Apple's fix landed in Safari 18.1.1/iOS/macOS point releases, but the JIT memory-corruption bug was exploited as a zero-day, so patch-cadence controls could not prevent initial compromise."
39239
39475
  }
39240
- }
39476
+ },
39477
+ "new_control_requirements": [
39478
+ {
39479
+ "id": "NEW-CTRL-056",
39480
+ "name": "MOBILE-ENDPOINT-MDM-ENFORCED-KEV-SLA",
39481
+ "description": "The fix for this CVE is not one build, it is a list of them: Safari 18.1.1, iOS 17.7.2 and iPadOS 17.7.2, iOS 18.1.1 and iPadOS 18.1.1, macOS Sequoia 15.1.1, visionOS 2.1.1. Bound to this entry the control means every enrolled Apple device is driven onto the build that corresponds to the train it is on, on the clock that opened with the 2024-11-21 KEV listing rather than the estate's normal update ring, with user deferral removed rather than discouraged — the trigger is processing maliciously crafted web content, so a single page load during a deferral window is sufficient and the exposure ends only when the device is actually running the fixed build. Completion has to be measured per device against the fixed build for its own train (17.7.2 on the 17 train, 18.1.1 on the 18 train, 15.1.1 on Sequoia); a fleet report that counts only the newest train, or that counts 'update approved/downloaded' as done, marks devices compliant while they still run the vulnerable code. Enumerate Intel-based Macs first, since that is the only population the packet attaches exploitation to. Precondition: the packet records a vendor patch and no live-patch path, so an update that is pending rather than applied changes nothing and the device must still be counted as exposed. And because the packet places this flaw chained with CVE-2024-44309 in a targeted campaign, a device that already loaded the attacker's content is an incident-response case, not a patch-compliance case — the fixed build removes the flaw, not what already executed.",
39482
+ "evidence": "Packet: CISA KEV-listed 2024-11-21, active_exploitation confirmed, CVSS 8.8, RWEP 59, CWE-787, poc_available false. patch_available true, live_patch_available false, live_patch_notes null. Vector: 'This issue is fixed in Safari 18.1.1, iOS 17.7.2 and iPadOS 17.7.2, iOS 18.1.1 and iPadOS 18.1.1, macOS Sequoia 15.1.1, visionOS 2.1.1. Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been actively exploited on Intel-based Mac systems.' Attack vector: chained with the CVE-2024-44309 cookie XSS flaw in a targeted campaign.",
39483
+ "gap_closes": [
39484
+ "NIST-800-53-SI-2",
39485
+ "ISO-27001-2022-A.8.8",
39486
+ "NIS2-Art21-vulnerability-management"
39487
+ ]
39488
+ },
39489
+ {
39490
+ "id": "NEW-CTRL-057",
39491
+ "name": "BROWSER-MANAGED-UPDATE-NO-DEFERRAL",
39492
+ "description": "The packet's fix list names Safari 18.1.1 as its own fixed version alongside macOS Sequoia 15.1.1, so on the Mac side the OS build and the browser version are two separate facts and only one of them is what the exploit path runs through: the packet puts the defect in JavaScriptCore's DFG JIT compiler, reached by loading attacker-controlled web content. Applied to this CVE the control means the Mac estate's update policy can report, per machine, the Safari version actually in service and holds it to the same no-deferral security channel as the OS — a browser update batched into the general software catalogue or held for a weekly ring leaves the vulnerable rendering path live for the length of that ring against a flaw the packet records as already exploited. The distinguishing test is to produce the Safari version per Mac and confirm each is at or above 18.1.1: a compliance view built on macOS build number alone cannot answer that question, because the packet treats Safari as a separately versioned fix, and an estate that reports 'macOS current' while a Mac still runs a pre-18.1.1 Safari reads clean against a flaw-remediation attestation while remaining exploitable. Scope this to Macs — on the iOS, iPadOS and visionOS trains the packet's fixed builds are OS builds, so those devices are closed by the fleet update rather than by a browser channel. Precondition: the packet records no live-patch path, so the fixed version must actually be installed and running; a downloaded update is not a remediated browser. This control reaches only Macs the management console can see and update, and it does nothing for a machine that already rendered the attacker's page.",
39493
+ "evidence": "Packet vector names Safari 18.1.1 as a fixed build distinct from macOS Sequoia 15.1.1, and states 'Processing maliciously crafted web content may lead to arbitrary code execution.' Attack vector: 'A victim on an Intel-based Mac loads attacker-controlled web content that triggers a register-corruption bug in JavaScriptCore's DFG JIT compiler, leading to arbitrary code execution.' patch_available true; live_patch_available false; live_patch_notes null. CISA KEV-listed 2024-11-21, active_exploitation confirmed.",
39494
+ "gap_closes": [
39495
+ "NIST-800-53-SI-2",
39496
+ "UK-CAF-B4"
39497
+ ]
39498
+ },
39499
+ {
39500
+ "id": "NEW-CTRL-121",
39501
+ "name": "MOBILE-ZERO-CLICK-HARDENING",
39502
+ "description": "The packet's exploitation profile is narrow rather than commodity: no public PoC, RWEP 59 against CVSS 8.8, exploitation reported on Intel-based Mac systems, and the flaw observed chained with the CVE-2024-44309 cookie XSS in a targeted campaign. For the population that profile implicates — executives, journalists, legal and security staff — the control means those users' Apple devices sit in the vendor's reduced-attack-surface mode as a standing posture, so untrusted web content is not processed through the full engine and the delivery path into the JavaScriptCore DFG JIT register-corruption primitive is narrowed during the window between the 2024-11-21 KEV listing and the completed fleet update. The distinguishing test is to take a managed device from that cohort and confirm the mode is enforced by policy and cannot be switched off locally, rather than confirming the mode exists in a policy template — a least-functionality attestation that enumerates installed applications says nothing about which classes of web content a browser will process, which is the surface this CVE is reached through. Preconditions, and this is where the control is usually over-claimed: the mode helps only if it was already enabled when the campaign arrived, so it must be assigned before the next disclosure rather than in response to this one; it does not remove the vulnerable code from the device and is therefore a holding measure for the window before the fixed build, not a substitute for it; and it does nothing for a device that already rendered the attacker's page. Given the packet's chained cookie-XSS flaw, such a device belongs on the incident path with its session and cookie material treated as exposed.",
39503
+ "evidence": "Packet attack_vector: 'A victim on an Intel-based Mac loads attacker-controlled web content that triggers a register-corruption bug in JavaScriptCore's DFG JIT compiler, leading to arbitrary code execution; observed chained with the CVE-2024-44309 cookie XSS flaw in a targeted campaign.' CWE-787; CVSS 8.8; RWEP 59; poc_available false; active_exploitation confirmed; CISA KEV-listed 2024-11-21; patch_available true; live_patch_available false.",
39504
+ "gap_closes": [
39505
+ "AU-Essential-8-App-Hardening",
39506
+ "NIST-800-53-CM-7"
39507
+ ]
39508
+ }
39509
+ ]
39241
39510
  },
39242
39511
  "CVE-2024-21287": {
39243
39512
  "name": "Oracle Agile Product Lifecycle Management (PLM) Incorrect Authorization Vulnerability",
@@ -41815,7 +42084,32 @@
41815
42084
  "adequate": false,
41816
42085
  "gap": "SI-2 flaw remediation has no patch path for an EoL plugin; only removal mitigates, which SI-2 alone does not compel."
41817
42086
  }
41818
- }
42087
+ },
42088
+ "new_control_requirements": [
42089
+ {
42090
+ "id": "NEW-CTRL-144",
42091
+ "name": "EMBEDDED-MEDIA-PARSER-LIBRARY-INVENTORY-AND-PATCH-PARITY",
42092
+ "description": "The packet names four separately-versioned products carrying this double free, not one: Adobe Flash Player, Adobe AIR on Android, the Adobe AIR SDK, and the Adobe AIR SDK & Compiler — and inside Flash Player the fixed build differs by operating system (11.7.700.269 and, for the 11.8.x through 12.0.x line, 12.0.0.70 on Windows and Mac OS X; 11.2.202.341 on Linux), while the three AIR products are fixed at 4.0.0.1628. Each is its own update track, so 'Flash is patched' is not a statement this estate can make from one inventory line: a Linux install at 11.2.202.341 is remediated and a Windows install below 11.7.700.269 is not, and a single software-inventory row reading 'Adobe Flash Player' cannot tell those apart. The control here is to enumerate every installed copy across the four tracks and every operating system the packet names, and confirm each reports at or above the fixed build for its own track, rather than closing the flaw-remediation ticket when the managed desktop image updates. The AIR SDK and AIR SDK & Compiler are the copies estates miss, because an SDK lives where development happens rather than on the desktop software inventory that drives endpoint patching, and the packet lists them as affected in their own right with their own fixed build — they need remediating whether or not the endpoint estate has been cleared. Scope the inventory to those products and no further: the packet ties this double free to Flash Player, Adobe AIR, the AIR SDK and the AIR SDK & Compiler, and gives no mapping from the vulnerable code into any other SWF-handling or media-parsing software, so instructing operators to treat every plugin or media renderer in the estate as an instance of this CVE manufactures findings and real removal work against software no evidence here implicates. Widen only where a verified source identifies another product carrying the same component. Distinguishing test: after the update lands, enumerate the Flash Player, AIR runtime and AIR SDK installs per platform and confirm none reports a build below the fixed one for its track — an estate that updates the browser-side plugin while a build machine keeps a pre-4.0.0.1628 AIR SDK still holds vulnerable code with a flaw-remediation attestation that reads clean. Precondition: this reaches only copies the inventory can see and the operator can update; a hand-installed or per-user copy is remediated by removing it, not by recording it as covered. Per the packet the vendor update needs no reboot, so an unremediated copy here is an inventory failure rather than a scheduling one. Terminal state, and this is what the version comparison above must not be mistaken for: Adobe Flash Player is end-of-life and receives no further fixes, so a copy sitting at the fixed build named here is current for this CVE and unpatched for every Flash defect found since. Reaching the fixed build is an interim state for a copy that cannot be removed today, not remediation. The requirement completes at removal of the Flash Player runtime and browser plugin, or replacement of whatever still depends on them; an estate that reports every install at or above the 2014 build and closes the finding has recorded parity with an abandoned product rather than removed the exposure. Where a business function still needs it, the honest record is an accepted exposure with a dated review and the runtime confined to hosts that reach nothing else — not a remediation entry. The AIR products named here are a separate case and must not inherit that conclusion: Adobe AIR was transferred to HARMAN and continues to be maintained, so for the AIR runtime and the AIR SDKs the terminal state is a supported, current build — patch parity is remediation there, and removing them is a decision about whether the dependency is still wanted, not a security requirement this CVE establishes.",
42093
+ "evidence": "The packet's vector enumerates the affected products and their fixed builds: Adobe Flash Player before 11.7.700.269 and 11.8.x through 12.0.x before 12.0.0.70 on Windows and Mac OS X and before 11.2.202.341 on Linux, Adobe AIR before 4.0.0.1628 on Android, Adobe AIR SDK before 4.0.0.1628, and Adobe AIR SDK & Compiler before 4.0.0.1628, allowing remote attackers to execute arbitrary code, 'as exploited in the wild in February 2014'. CWE-415, CISA KEV-listed 2024-09-17, active_exploitation confirmed, poc_available true, CVSS 8.8, RWEP 73. patch_available is true and live_patch_available is false; the packet's live-patch note states there is no live-patching primitive for this product and that the vendor update (no reboot required) is the remediation.",
42094
+ "gap_closes": [
42095
+ "AU-Essential-8-App-Hardening",
42096
+ "ISO-27001-2022-A.8.8",
42097
+ "NIST-800-53-SI-2",
42098
+ "UK-CAF-B4"
42099
+ ]
42100
+ },
42101
+ {
42102
+ "id": "NEW-CTRL-001",
42103
+ "name": "CISA-KEV-RESPONSE-SLA",
42104
+ "description": "The clock on this entry reads unusually and an estate that treats the KEV listing as 'newly disclosed' will misprioritise it: the packet records the flaw as exploited in the wild in February 2014 and the KEV listing as 2024-09-17, so the listing is not the start of exploitation — it is notice that installs below the fixed builds are still being hit a decade after those builds shipped, which makes this an inventory-age problem being surfaced by a KEV date rather than a fresh disclosure. The SLA applies from the listing regardless: every Flash Player, Adobe AIR, AIR SDK and AIR SDK & Compiler copy the estate still runs must reach the fixed build for its own track inside the KEV window, or carry a documented, dated compensating control where a specific copy cannot get there in that window. Per the packet the vendor update requires no reboot, so there is no maintenance-window basis for deferral — the delay in practice is finding the copies, not scheduling a restart, which is why this clock is only meaningful when it runs against an enumeration spanning all four product tracks rather than a single desktop-software line item. Precondition: the SLA governs the clock, not the exploit path. It does nothing for the delivery half, because the packet's path is a crafted SWF served from a compromised or attacker-controlled page — the victim visits a site, with no download prompt or file to inspect — so between the listing and the completed update, exposure stands on any host that still has a vulnerable copy able to render page-supplied SWF content, and no policy setting in this packet closes it. And because active exploitation is confirmed, a host that rendered attacker-controlled content during that window is an incident-triage question the update does not answer: applying the fixed build removes the double free, not code that already executed in the plugin process. Terminal state, and this is what the version comparison above must not be mistaken for: Adobe Flash Player is end-of-life and receives no further fixes, so a copy sitting at the fixed build named here is current for this CVE and unpatched for every Flash defect found since. Reaching the fixed build is an interim state for a copy that cannot be removed today, not remediation. The requirement completes at removal of the Flash Player runtime and browser plugin, or replacement of whatever still depends on them; an estate that reports every install at or above the 2014 build and closes the finding has recorded parity with an abandoned product rather than removed the exposure. Where a business function still needs it, the honest record is an accepted exposure with a dated review and the runtime confined to hosts that reach nothing else — not a remediation entry. The AIR products named here are a separate case and must not inherit that conclusion: Adobe AIR was transferred to HARMAN and continues to be maintained, so for the AIR runtime and the AIR SDKs the terminal state is a supported, current build — patch parity is remediation there, and removing them is a decision about whether the dependency is still wanted, not a security requirement this CVE establishes.",
42105
+ "evidence": "CISA KEV-listed 2024-09-17 with active_exploitation confirmed and poc_available true, while the packet's own vector records the flaw 'as exploited in the wild in February 2014' and names the fixed builds (Flash Player 11.7.700.269 and 12.0.0.70 on Windows and Mac OS X, 11.2.202.341 on Linux; Adobe AIR, AIR SDK and AIR SDK & Compiler 4.0.0.1628). patch_available is true, live_patch_available is false, and the live-patch note states the vendor update (no reboot required) is the remediation. The recorded attack vector is a crafted SWF served from a compromised or attacker-controlled page triggering a double free in the Flash plugin, corrupting memory and allowing arbitrary code execution in the browser plugin process. RWEP 73, CVSS 8.8.",
42106
+ "gap_closes": [
42107
+ "ISO-27001-2022-A.8.8",
42108
+ "NIST-800-53-SI-2",
42109
+ "NIS2-Art21-vulnerability-management"
42110
+ ]
42111
+ }
42112
+ ]
41819
42113
  },
41820
42114
  "CVE-2013-0648": {
41821
42115
  "name": "Adobe Flash Player Code Execution Vulnerability",
@@ -41931,7 +42225,7 @@
41931
42225
  {
41932
42226
  "id": "NEW-CTRL-018",
41933
42227
  "name": "SCANNER-PAPER-COMPLIANCE-TEST",
41934
- "description": "On this entry the fixed builds do not sort into one threshold, so a scan that compares a single version string is paper compliance regardless of how many hosts it covers. The packet gives 11.7.700.261 for the 11.7 branch, 12.0.0.44 for the 11.8.x-through-12.0.x range on Windows and Mac OS X, and 11.2.202.336 on Linux. A scanner set to 12.0.0.44 marks a correctly remediated 11.7.700.261 host and every correctly remediated Linux host at 11.2.202.336 as vulnerable, generating remediation work against systems already fixed; a scanner set to 11.7.700.261 passes every build in the 11.8.x-through-12.0.x range, all of which sort above that string while remaining affected until 12.0.0.44 — the direction that matters, because those hosts stay exposed with a clean report. The operational test for this entry is whether the scan resolves each install's branch and platform first and compares against the fixed build for that branch, rather than against any build merely newer than one of the three. Precondition: the check only reports on installs the scanner authenticates to and identifies by product. A per-user copy the scan does not resolve yields no finding, and no finding is indistinguishable from a clean host, so coverage has to be demonstrated by reconciling scan output against an independently built install inventory rather than by the absence of results. This control validates the comparison logic; it does not itself update anything.",
42228
+ "description": "On this entry the fixed builds do not sort into one threshold, so a scan that compares a single version string is paper compliance regardless of how many hosts it covers. The packet gives 11.7.700.261 for the 11.7 branch, 12.0.0.44 for the 11.8.x-through-12.0.x range on Windows and Mac OS X, and 11.2.202.336 on Linux. A scanner set to 12.0.0.44 marks a correctly remediated 11.7.700.261 host and every correctly remediated Linux host at 11.2.202.336 as vulnerable, generating remediation work against systems already fixed; a scanner set to 11.7.700.261 passes every build in the 11.8.x-through-12.0.x range, all of which sort above that string while remaining affected until 12.0.0.44 — the direction that matters, because those hosts stay exposed with a clean report. The operational test for this entry is whether the scan resolves each install's branch and platform first and compares against the fixed build for that branch, rather than against any build merely newer than one of the three. Precondition: the check only reports on installs the scanner authenticates to and identifies by product. A per-user copy the scan does not resolve yields no finding, and no finding is indistinguishable from a clean host, so coverage has to be demonstrated by reconciling scan output against an independently built install inventory rather than by the absence of results. This control validates the comparison logic; it does not itself update anything. Terminal state, and this is what the version comparison above must not be mistaken for: Adobe Flash Player is end-of-life and receives no further fixes, so a copy sitting at the fixed build named here is current for this CVE and unpatched for every Flash defect found since. Reaching the fixed build is an interim state for a copy that cannot be removed today, not remediation. The requirement completes at removal of the Flash Player runtime and browser plugin, or replacement of whatever still depends on them; an estate that reports every install at or above the 2014 build and closes the finding has recorded parity with an abandoned product rather than removed the exposure. Where a business function still needs it, the honest record is an accepted exposure with a dated review and the runtime confined to hosts that reach nothing else — not a remediation entry.",
41935
42229
  "evidence": "Packet vector: 'Integer underflow in Adobe Flash Player before 11.7.700.261 and 11.8.x through 12.0.x before 12.0.0.44 on Windows and Mac OS X, and before 11.2.202.336 on Linux, allows remote attackers to execute arbitrary code via unspecified vectors.' CWE-191. patch_available=true; live_patch_available=false; live_patch_notes: 'No live-patching primitive for this product; the vendor update (no reboot required) is the remediation.' CISA KEV-listed 2024-09-17, active_exploitation=confirmed, CVSS 9.8, RWEP 50.",
41936
42230
  "gap_closes": [
41937
42231
  "ISO-27001-2022-A.8.8",
@@ -41941,7 +42235,7 @@
41941
42235
  {
41942
42236
  "id": "NEW-CTRL-001",
41943
42237
  "name": "CISA-KEV-RESPONSE-SLA",
41944
- "description": "Two things about this entry defeat the usual prioritisation inputs, and this control's 'later of KEV listing or patch availability' rule is what corrects both. First, the fixed builds date from 2014 while CISA listed the CVE on 2024-09-17, so the SLA clock opens at the listing — a Flash Player install still in service on that date is inside a same-day mitigation window, not a ten-year-old backlog item that age-sorting pushes below current work. Second, the packet records poc_available=false alongside active_exploitation=confirmed: an intake rule that starts its clock on public exploit-code publication never starts at all on this entry, even though the packet states the flaw is being exploited. The listing date, not PoC availability and not the CVE year, is the trigger. Applied here that means driving the fixed build for each branch — 11.7.700.261, 12.0.0.44 for the 11.8.x-through-12.0.x range, 11.2.202.336 on Linux — across every install on the KEV clock, with completion measured by each install reporting the fixed build for its own branch rather than by the update being approved or downloaded in a management console. Precondition: the control permits documented compensating controls in place of the binary fix, but the packet registers no vendor mitigation and no live-patch path for this product, so there is nothing to substitute — the vendor update, which the packet states requires no reboot, is the remediation. An install that cannot take it inside the window is an open, dated exception carried as exposed, not an SLA closure.",
42238
+ "description": "Two things about this entry defeat the usual prioritisation inputs, and this control's 'later of KEV listing or patch availability' rule is what corrects both. First, the fixed builds date from 2014 while CISA listed the CVE on 2024-09-17, so the SLA clock opens at the listing — a Flash Player install still in service on that date is inside a same-day mitigation window, not a ten-year-old backlog item that age-sorting pushes below current work. Second, the packet records poc_available=false alongside active_exploitation=confirmed: an intake rule that starts its clock on public exploit-code publication never starts at all on this entry, even though the packet states the flaw is being exploited. The listing date, not PoC availability and not the CVE year, is the trigger. Applied here that means driving the fixed build for each branch — 11.7.700.261, 12.0.0.44 for the 11.8.x-through-12.0.x range, 11.2.202.336 on Linux — across every install on the KEV clock, with completion measured by each install reporting the fixed build for its own branch rather than by the update being approved or downloaded in a management console. Precondition: the control permits documented compensating controls in place of the binary fix, but the packet registers no vendor mitigation and no live-patch path for this product, so there is nothing to substitute — the vendor update, which the packet states requires no reboot, is the remediation. An install that cannot take it inside the window is an open, dated exception carried as exposed, not an SLA closure. Terminal state, and this is what the version comparison above must not be mistaken for: Adobe Flash Player is end-of-life and receives no further fixes, so a copy sitting at the fixed build named here is current for this CVE and unpatched for every Flash defect found since. Reaching the fixed build is an interim state for a copy that cannot be removed today, not remediation. The requirement completes at removal of the Flash Player runtime and browser plugin, or replacement of whatever still depends on them; an estate that reports every install at or above the 2014 build and closes the finding has recorded parity with an abandoned product rather than removed the exposure. Where a business function still needs it, the honest record is an accepted exposure with a dated review and the runtime confined to hosts that reach nothing else — not a remediation entry.",
41945
42239
  "evidence": "Packet: cisa_kev=true, kev_date 2024-09-17, active_exploitation=confirmed, poc_available=false, CVSS 9.8, RWEP 50. Vector gives fixed builds before 11.7.700.261, 11.8.x through 12.0.x before 12.0.0.44 on Windows and Mac OS X, and before 11.2.202.336 on Linux. attack_vector: 'An integer underflow during SWF parsing corrupts heap memory; a victim who loads an attacker-controlled Flash object (drive-by or malvertising) triggers arbitrary code execution in the browser context.' patch_available=true; live_patch_available=false; live_patch_notes: 'No live-patching primitive for this product; the vendor update (no reboot required) is the remediation.'",
41946
42240
  "gap_closes": [
41947
42241
  "NIST-800-53-SI-2",
@@ -41985,7 +42279,41 @@
41985
42279
  "adequate": false,
41986
42280
  "gap": "Logical-access controls assume the admin password stays secret, but an unauthenticated SQLi extracts it — the control's trust boundary is bypassed rather than enforced."
41987
42281
  }
41988
- }
42282
+ },
42283
+ "new_control_requirements": [
42284
+ {
42285
+ "id": "NEW-CTRL-085",
42286
+ "name": "DB-ABSTRACTION-LAYER-PARAMETERIZATION-VERIFICATION",
42287
+ "description": "The packet places this defect on a WhatsUp Gold web endpoint that answers an unauthenticated caller, and the query behind it returns the stored encrypted user password. For this product the control means parameterization is proven at the query layer of the endpoints that answer without a session — those are the ones the packet's attack path uses — rather than inferred from an application input-validation layer or from a WAF fronting the console. That distinction is the reason the boundary-protection control cited against this entry does not close the path: the injection arrives as a well-formed request to an endpoint that is supposed to answer unauthenticated, so a perimeter rule tight enough to catch it also breaks legitimate monitoring traffic, and the query still concatenates on everything the rule lets through. Remediation is a build check the packet makes unambiguous: the flaw sits in versions released before 2024.0.0, and the packet records the vendor update as the remediation with no reboot required — so the usual objection that the monitoring server cannot be taken down does not apply to an update that does not take it down, and there is no live-patching primitive to wait for instead. Distinguishing test: against a staging WhatsUp Gold instance, send an unauthenticated request carrying a SQL metacharacter in the parameter the endpoint reads and confirm the query builder parameterizes it rather than returning stored password material — an attestation that the application validates input and sits behind a WAF passes while this endpoint keeps building the query by concatenation.",
42288
+ "evidence": "Packet vector: 'In WhatsUp Gold versions released before 2024.0.0, a SQL Injection vulnerability allows an unauthenticated attacker to retrieve the users encrypted password.' attack_vector: 'An unauthenticated attacker sends a SQL injection payload to a WhatsUp Gold web endpoint to read the stored encrypted user password, then authenticates to the admin console and abuses monitoring tooling for code execution and lateral movement.' CWE-89; cvss 9.8; rwep_score 68; poc_available true; active_exploitation confirmed; CISA KEV-listed 2024-09-16; patch_available true; live_patch_available false with live_patch_notes 'No live-patching primitive for this product; the vendor update (no reboot required) is the remediation.' NIST SP 800-53 SC-7 (Boundary Protection) is among the framework controls this entry cites as insufficient.",
42289
+ "gap_closes": [
42290
+ "NIST-800-53-SC-7",
42291
+ "NIST-800-53-SI-2",
42292
+ "ISO-27001-2022-A.8.8",
42293
+ "AU-Essential-8-Patch",
42294
+ "NIS2-Art21-vulnerability-management"
42295
+ ]
42296
+ },
42297
+ {
42298
+ "id": "NEW-CTRL-036",
42299
+ "name": "FLEET-CONTROL-PLANE-ADMIN-PRIVILEGE-TIER",
42300
+ "description": "The packet's path does not stop at disclosure: the attacker reads the stored password, authenticates to the WhatsUp Gold admin console, and then abuses the monitoring tooling itself for code execution and lateral movement. That makes the WhatsUp Gold administrator a control-plane identity rather than an application administrator — the console's own legitimate capabilities are the execution vehicle, so downstream telemetry cannot separate the attacker's actions from an operator's, and collapsing this account into the generic 'admin' tier is what leaves it protected only by a password. Bound to this product, the control means console login is not satisfiable by a password alone: a phishing-resistant second factor at the console, an administrative identity used on no other system, and administrative access reached through a jump path rather than from general workstation segments. The second factor is the lever this specific CVE demands, because the primitive the packet describes yields a credential and nothing else — it is recovered with no interaction from the account owner at all, so every control premised on credential compromise happening through the user is out of the loop. Precondition, and this is where the control gets over-claimed: the factor blocks the packet's step-two console login; it does not stop step one. The unauthenticated read still returns the stored password material, so that material must be treated as disclosed and rotated wherever it was reused, and the factor gives nothing against a session or token already established during the exposure window. Distinguishing test: on a staging instance, attempt an admin-console login with a valid username and password and no second factor and confirm it is refused — the logical-access attestation this entry cites as insufficient asks whether console administrators are authorized, and in this attack every one of them is.",
42301
+ "evidence": "Packet attack_vector: the attacker 'read[s] the stored encrypted user password, then authenticates to the admin console and abuses monitoring tooling for code execution and lateral movement.' Vector confirms the injection is reachable by an unauthenticated attacker and returns the stored encrypted user password. active_exploitation confirmed; poc_available true; CISA KEV-listed 2024-09-16; cvss 9.8; rwep_score 68. SOC 2 CC6 (Logical and Physical Access Controls) is among the framework controls this entry cites as insufficient.",
42302
+ "gap_closes": [
42303
+ "SOC2-CC6-logical-access"
42304
+ ]
42305
+ },
42306
+ {
42307
+ "id": "NEW-CTRL-037",
42308
+ "name": "FLEET-COMPROMISE-IR-PLAYBOOK",
42309
+ "description": "This entry's exposure outlives its own remediation, which is why an incident path is required alongside the update: the packet's primitive hands a stored password to an unauthenticated caller, and moving the instance to a build at or past 2024.0.0 stops further reads without invalidating anything already read. Bound to WhatsUp Gold, the playbook is to rotate the account passwords the packet says are stored and retrievable — and any credential reused from them on another system — then review the console's configured actions and monitoring tasks across the exposure window, because the packet names the monitoring tooling itself as the code-execution and lateral-movement vehicle, which makes a task or action added through the console the persistence mechanism to hunt for rather than a file on disk. Scope the review to the hosts the platform can act on, not to the monitoring server alone. The window to reconstruct runs from the 2024-09-16 KEV listing at the latest, and the packet's public-exploit flag means the capability was never limited to whoever found it. This also answers the security-monitoring gap cited on this entry, and answers it awkwardly: the asset under investigation is the estate's monitoring platform, so its own record of the period is a record an attacker holding console administration could alter, and the review has to be conducted against telemetry held where the console cannot write. Precondition: the playbook establishes what was done during the window and rotates what was exposed — it does not close the injection path, which only the vendor update does, and the packet records that update as requiring no reboot, so there is no sequencing excuse for running the investigation before remediating. Distinguishing test: for an instance that ran a build below 2024.0.0 while reachable, produce the rotation record for its stored credentials together with a diff of its configured actions across the exposure window; an instance closed out on the version upgrade alone has stopped the reads and left the consequences of the reads that already happened untouched.",
42310
+ "evidence": "Packet vector: the injection 'allows an unauthenticated attacker to retrieve the users encrypted password' in versions released before 2024.0.0. attack_vector: the attacker 'then authenticates to the admin console and abuses monitoring tooling for code execution and lateral movement.' active_exploitation confirmed; poc_available true; CISA KEV-listed 2024-09-16; patch_available true; live_patch_notes: 'No live-patching primitive for this product; the vendor update (no reboot required) is the remediation.' UK NCSC CAF C1 (Security monitoring) and SOC 2 CC6 (Logical and Physical Access Controls) are among the framework controls this entry cites as insufficient.",
42311
+ "gap_closes": [
42312
+ "UK-CAF-C1",
42313
+ "SOC2-CC6-logical-access"
42314
+ ]
42315
+ }
42316
+ ]
41989
42317
  },
41990
42318
  "CVE-2024-43461": {
41991
42319
  "name": "Microsoft Windows MSHTML Platform Spoofing Vulnerability (CVE-2024-43461)",
@@ -43800,7 +44128,38 @@
43800
44128
  "adequate": false,
43801
44129
  "gap": "Payment-card patch requirements lag the near-immediate skimmer deployment on compromised commerce sites."
43802
44130
  }
43803
- }
44131
+ },
44132
+ "new_control_requirements": [
44133
+ {
44134
+ "id": "NEW-CTRL-133",
44135
+ "name": "ECOMMERCE-PLATFORM-EXTENSION-UNTRUSTED-DESERIALIZATION-GUARD",
44136
+ "description": "The packet's chain has two halves and only the first is the XXE. The crafted XML POSTed to Magento's guest-cart REST/GraphQL endpoint resolves an external entity and returns the store's encryption key and files; it is the object-injection step the packet names behind it that converts that read into remote code execution and the skimmer/webshell deployment recorded as the outcome. Bound to Adobe Commerce and Magento Open Source, the control means no unauthenticated storefront request path hands request-supplied data to a native deserializer (PHP unserialize() on this platform) — the guest-cart REST and GraphQL paths named in the packet first, then every path a third-party extension registers — and that the installed extensions are enumerated as part of the storefront's code-execution surface rather than treated as configuration sitting on top of a patched core. Distinguishing test: against a staging store, send an unauthenticated guest-cart request carrying a crafted serialized object in each cookie and header the installed extensions read, and confirm it is refused before any deserialization runs; a store that can produce a clean platform-patch attestation while an extension still deserializes request data has evidence for the core and none for the sink the packet's chain actually lands in. Precondition: this governs the object-injection sink, not the XXE parser. A store that closes every deserialization path still leaks the encryption key and readable files through the entity resolution until the vendor update lands, and the packet records no live-patch path — the update is the only thing that closes the read half. It also does nothing for a store already carrying skimmer or webshell content from the exposure window.",
44137
+ "evidence": "The packet's attack_vector states the crafted XML is POSTed to Magento's guest-cart REST/GraphQL endpoint, that the parser resolves the entity leaking the encryption key and files, and that the flaw \"chained with object injection achieves remote code execution and skimmer/webshell deployment\" — the packet itself names object injection as the step that turns the read into execution. The vector adds that \"Exploitation of this issue does not require user interaction\" and lists Adobe Commerce 2.4.7, 2.4.6-p5, 2.4.5-p7, 2.4.4-p8 and earlier as affected (CWE-611). poc_available true, active_exploitation \"confirmed\", CVSS 9.8, RWEP 74. Citing gaps ISO-27001-2022-A.8.8 (Management of technical vulnerabilities) and PCI-DSS-4.0-6.3.3 (\"All system components are protected from known vulnerabilities by installing applicable security patches/updates\") are both patch-installation attestations.",
44138
+ "gap_closes": [
44139
+ "ISO-27001-2022-A.8.8",
44140
+ "PCI-DSS-4.0-6.3.3"
44141
+ ]
44142
+ },
44143
+ {
44144
+ "id": "NEW-CTRL-032",
44145
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
44146
+ "description": "What the packet describes an attacker walking away with — the store's encryption key, the files the parser could read, and a deployed skimmer or webshell — is not taken back by the vendor update. For an internet-facing Adobe Commerce or Magento storefront reached through this unauthenticated, no-user-interaction chain during a period of confirmed exploitation, the default response has to be to treat the host as compromised rather than remediated: rotate the encryption key and every credential and API token reachable from files readable by the web process, hunt the storefront and checkout render paths for injected skimmer script and for webshells, and rebuild from a known-good baseline where that hunt cannot be made conclusive. Distinguishing test is temporal rather than technical: ask what version the store was running before the update and whether the encryption key was rotated after it — a flaw-remediation record showing only \"updated to a fixed release\" attests to closing the parser while leaving a key the attacker may already hold in service, and the same signed-payload path stays open with the patched parser untouched. Precondition: this is an incident-response default, not a mitigation of the vulnerability. It presumes the vendor update is applied (the packet records it as available, with no live-patch path and no reboot required), and rotation only covers secrets the operator can enumerate — anything readable by the web process that is not inventoried stays valid after the rebuild.",
44147
+ "evidence": "Packet records active_exploitation \"confirmed\" and poc_available true, and the attack_vector states the outcome as \"skimmer/webshell deployment\" reached after the entity resolution \"leaking the encryption key and files\". patch_available is true and live_patch_notes reads \"No live-patching primitive for this product; the vendor update (no reboot required) is the remediation\" — the packet records nothing that reverses the key disclosure or removes deployed skimmer/webshell content. KEV-listed 2024-07-17. Citing gaps NIST-800-53-SI-2 (Flaw Remediation) and NIS2-Art21-vulnerability-management (Vulnerability handling) are the attestations a completed update satisfies on its own.",
44148
+ "gap_closes": [
44149
+ "NIST-800-53-SI-2",
44150
+ "NIS2-Art21-vulnerability-management"
44151
+ ]
44152
+ },
44153
+ {
44154
+ "id": "NEW-CTRL-001",
44155
+ "name": "CISA-KEV-RESPONSE-SLA",
44156
+ "description": "For this CVE the compressed clock is unusually well matched to what the packet records on both sides. On the threat side there is no access precondition for the attacker to satisfy: the entry point is a public storefront's guest-cart REST/GraphQL path, the vector states exploitation does not require user interaction, a PoC is public and exploitation is confirmed. On the remediation side the packet records a vendor update with no live-patch path but also no reboot requirement — for this product the update is a deploy, not an outage — so the control's requirement of a verified mitigation within 4 hours of the KEV listing or of patch availability, whichever is later, is actually achievable here rather than aspirational. Applied to Adobe Commerce and Magento Open Source: the store's clock starts at the 2024-07-17 KEV listing, and completion is measured by the version the storefront is running, not by a change ticket reaching approved. Distinguishing test: pull the running version from the storefront itself and compare it against the affected list the packet names, rather than accepting the deployment pipeline's record of what it pushed. Precondition: an SLA governs the length of the window, not what happened inside it. A store that meets the clock but was reachable earlier is patched, not clean, and belongs on the incident path — the KEV listing marks when the obligation starts, not when exploitation started.",
44157
+ "evidence": "cisa_kev true with kev_date 2024-07-17; active_exploitation \"confirmed\"; poc_available true; CVSS 9.8; RWEP 74. The vector states \"Exploitation of this issue does not require user interaction\" and the attack_vector places the entry point on an unauthenticated POST to Magento's guest-cart REST/GraphQL endpoint. patch_available true; live_patch_notes: \"No live-patching primitive for this product; the vendor update (no reboot required) is the remediation.\" Citing gap AU-Essential-8-Patch (Patch operating systems).",
44158
+ "gap_closes": [
44159
+ "AU-Essential-8-Patch"
44160
+ ]
44161
+ }
44162
+ ]
43804
44163
  },
43805
44164
  "CVE-2024-36401": {
43806
44165
  "name": "OSGeo GeoServer GeoTools Eval Injection Vulnerability",
@@ -44623,7 +44982,29 @@
44623
44982
  "adequate": false,
44624
44983
  "gap": "SI-3 malicious-code protection trusted a signed, vendor-distributed installer and failed to catch the embedded supply-chain backdoor."
44625
44984
  }
44626
- }
44985
+ },
44986
+ "new_control_requirements": [
44987
+ {
44988
+ "id": "NEW-CTRL-132",
44989
+ "name": "INDEPENDENT-INTEGRITY-VERIFICATION-OF-SIGNED-VENDOR-INSTALLERS",
44990
+ "description": "The defect here is not in JAVS Viewer's code — it is that the installer users pulled from the vendor's own supply chain, Viewer Setup 8.3.7.250-1, contained a malicious binary and was signed with an unexpected Authenticode signature. A signature check on that download returns a valid answer to the wrong question: the file is signed, and signed by a certificate the installing organization never established as this vendor's. Bound to this product, the control means JAVS Viewer builds are not installed onto courtroom recording hosts straight from the vendor download page, but pulled into managed software distribution and checked against an integrity source independent of the download itself — a vendor-published per-release hash obtained over a separate channel, or the signer identity pinned to the certificate the vendor's prior releases carried — before any endpoint is permitted to run them. Distinguishing test: take the version string and the Authenticode signer of the JAVS Viewer build actually installed on each recording host and compare the signer against the pinned vendor identity, not merely against \"signed and trusted\" — a software-installation policy that requires signed installers accepts 8.3.7.250-1 without complaint, which is precisely what the packet records happening. Precondition: this control governs the intake decision and gives nothing to a host that already ran the trojanized installer. The packet records that installer dropping fffmpeg.exe, beaconing to a C2 server and executing unauthorized PowerShell to grant attacker control of the host, so a host that installed 8.3.7 is an incident — installing the vendor's clean build over the top does not remove what the attacker placed or revoke what it already took.",
44991
+ "evidence": "Packet vector: \"Justice AV Solutions Viewer Setup 8.3.7.250-1 contains a malicious binary when executed and is signed with an unexpected authenticode signature. A remote, privileged threat actor may exploit this vulnerability to execute of unauthorized PowerShell commands.\" attack_vector: \"Users downloaded a trojanized JAVS Viewer 8.3.7 installer from the vendor's supply chain; the installer dropped a malicious fffmpeg.exe that beaconed to a C2 server and executed unauthorized PowerShell, granting attacker control of the courtroom recording host.\" CWE-506 (embedded malicious code); cisa_kev true, kev_date 2024-05-29; active_exploitation \"confirmed\"; CVSS 8.7; RWEP 42; poc_available false. Citing gaps NIST-800-53-SI-3 (Malicious Code Protection), ISO-27001-2022-A.8.7 (Protection against malware) and AU-ISM-1546 (Patch operating systems and applications).",
44992
+ "gap_closes": [
44993
+ "NIST-800-53-SI-3",
44994
+ "ISO-27001-2022-A.8.7",
44995
+ "AU-ISM-1546"
44996
+ ]
44997
+ },
44998
+ {
44999
+ "id": "NEW-CTRL-001",
45000
+ "name": "CISA-KEV-RESPONSE-SLA",
45001
+ "description": "The clock applies, but for this entry what has to be deployed inside it is not only the vendor's clean build. The packet's malicious artifact is the installed product: a host running Viewer Setup 8.3.7.250-1 holds a dropped fffmpeg.exe that beacons to a C2 server and executes unauthorized PowerShell, so the state the SLA must close is the presence of that build on courtroom recording hosts, and \"verified mitigation\" for this CVE means the trojanized installation is removed and the host rebuilt — not that a newer installer was made available. The packet supports a fast clock on the remediation side: a vendor update exists with no live-patch path and no reboot requirement. Distinguishing test: enumerate hosts by the JAVS Viewer version actually installed and by the presence of the dropped fffmpeg.exe, and confirm each affected host was rebuilt rather than upgraded in place — an estate that verifies the installer currently on the vendor's download page is clean has tested the wrong artifact, since the malicious one is already resident. Where a recording host cannot be taken out of service immediately, the only interim lever the packet supports is watching for the behaviour it documents: outbound connections from the dropped fffmpeg.exe and PowerShell execution originating from the JAVS installation path. That is a detection, and it bounds dwell time rather than removing attacker control — a host that beacons has already granted it.",
45002
+ "evidence": "cisa_kev true with kev_date 2024-05-29; active_exploitation \"confirmed\"; RWEP 42; poc_available false. patch_available true with live_patch_notes \"No live-patching primitive for this product; the vendor update (no reboot required) is the remediation.\" The attack_vector records the installed product itself as the malicious artifact — the dropped fffmpeg.exe \"beaconed to a C2 server and executed unauthorized PowerShell, granting attacker control of the courtroom recording host\" — and the vector records the same PowerShell outcome. Citing gap NIS2-Art21-vulnerability-handling (Cybersecurity risk-management measures — vulnerability handling and disclosure).",
45003
+ "gap_closes": [
45004
+ "NIS2-Art21-vulnerability-handling"
45005
+ ]
45006
+ }
45007
+ ]
44627
45008
  },
44628
45009
  "CVE-2024-5274": {
44629
45010
  "name": "Google Chromium V8 Type Confusion Vulnerability (CVE-2024-5274)",
@@ -44711,7 +45092,29 @@
44711
45092
  "adequate": false,
44712
45093
  "gap": "The Flink JobManager REST/dashboard (default 8081) is frequently exposed to the internet; boundary protection is the primary missing control since Flink offers no built-in auth on this interface."
44713
45094
  }
44714
- }
45095
+ },
45096
+ "new_control_requirements": [
45097
+ {
45098
+ "id": "NEW-CTRL-094",
45099
+ "name": "AI-RUNTIME-API-PATH-TRAVERSAL-VALIDATION",
45100
+ "description": "The Flink JobManager's REST interface serves a log file selected by a caller-supplied path, and the packet names the bypass precisely: double-URL-encoded '../' sequences. That is the signature of containment enforced by inspecting the request string instead of by resolving the path — one decode pass strips the outer encoding, the filter runs against what it sees, and the traversal that finally reaches the filesystem was never the string the filter examined. For this component the requirement is that the JobManager resolve the requested log path to an absolute canonical form and verify the result is still under the permitted log directory immediately before the file handle is opened, rejecting absolute paths, residual '../' segments, and symlinks that leave the directory — the check belongs at path resolution, not at request parsing. The read direction is the entire exposure here: the packet scopes the leak to any file the JobManager process can read and names config, credentials and /etc/passwd, so the identity that process runs as decides what a single unauthenticated GET returns, and tightening the JobManager's own filesystem reach limits the blast radius of the next traversal defect as well as this one. Distinguishing test: against a staging JobManager, request the log endpoint with singly-encoded and doubly-encoded traversal sequences and confirm both are refused at path resolution — a deployment that rejects the plain '../' form and returns a file for the encoded one has a filter, not containment, and that is the exact difference this CVE turns into an arbitrary file read. Precondition: this states the property the vendor fix establishes, it does not implement it. The packet gives Flink 1.11.3 and 1.12.0 as the upgrade targets for the affected 1.11.0, 1.11.1 and 1.11.2 releases and records no live-patch path, so an operator still running an affected release gets nothing from this control by itself.",
45101
+ "evidence": "attack_vector: \"An unauthenticated attacker sends a GET to the Flink JobManager REST logs endpoint with double-URL-encoded '../' sequences, causing the process to return the contents of any file it can read (config, credentials, /etc/passwd).\" vector: the change introduced in Apache Flink 1.11.0 \"allows attackers to read any file on the local filesystem of the JobManager through the REST interface of the JobManager process. Access is restricted to files accessible by the JobManager process. All users should upgrade to Flink 1.11.3 or 1.12.0 if their Flink instance(s) are exposed.\" CWE-552; poc_available true; active_exploitation \"confirmed\"; cisa_kev true, kev_date 2024-05-23; CVSS 7.5; RWEP 65. patch_available true; live_patch_notes: \"No live-patching primitive for this product; the vendor update (no reboot required) is the remediation.\" Citing gaps ISO-27001-2022-A.8.8 (Management of technical vulnerabilities) and NIST-800-53-SI-2 (Flaw Remediation).",
45102
+ "gap_closes": [
45103
+ "ISO-27001-2022-A.8.8",
45104
+ "NIST-800-53-SI-2"
45105
+ ]
45106
+ },
45107
+ {
45108
+ "id": "NEW-CTRL-088",
45109
+ "name": "AI-COMPUTE-CONTROL-PLANE-AUTHENTICATION",
45110
+ "description": "The exploit in the packet is an unauthenticated GET, and nothing about it is subtle: the JobManager's REST interface — the control plane through which jobs are submitted and the cluster is managed — answers a caller who has presented no credential, and the vector's own upgrade instruction is conditioned on whether the instance is \"exposed\", which is deployment posture doing the security work instead of the service. For a Flink cluster the control means that REST interface is reachable only from segments with an operational need to submit or manage jobs, and is fronted by an authenticating proxy so a caller is identified before the endpoint is consulted, because \"the cluster is on an internal network\" is an assumption about topology rather than an access-control decision — and it is exactly the assumption this CVE converts into an arbitrary file read. It also means a cluster that was reachable during the exposure window is treated as having disclosed whatever the JobManager account could read: the packet names config and credentials among the returned content, and moving to a fixed release does not invalidate a credential already read out, so rotating what the JobManager could reach is part of remediation rather than a follow-up item. Distinguishing test: from a general workstation or application VLAN, and from outside the estate, issue an unauthenticated GET to the JobManager REST endpoint on a staging cluster and confirm it is refused before reaching the service — a cluster whose vulnerability-management record shows the fixed release while its control plane still answers unauthenticated callers has closed this traversal and left the next one fully exposed. Precondition: restricting reachability bounds who can send the request, it does not repair the endpoint, and any host already inside a permitted segment — a compromised application server, a CI runner, a jump host — satisfies the exploit's only stated access requirement in full. It is a holding measure for clusters not yet on 1.11.3 or 1.12.0, not a substitute for them.",
45111
+ "evidence": "The packet's attack_vector requires no credential: \"An unauthenticated attacker sends a GET to the Flink JobManager REST logs endpoint...\" The vector conditions its remediation instruction on exposure — \"All users should upgrade to Flink 1.11.3 or 1.12.0 if their Flink instance(s) are exposed\" — and scopes the returned content to \"any file it can read (config, credentials, /etc/passwd)\", with access \"restricted to files accessible by the JobManager process\". active_exploitation \"confirmed\"; poc_available true; KEV-listed 2024-05-23. patch_available true; live_patch_notes: \"No live-patching primitive for this product; the vendor update (no reboot required) is the remediation.\" Citing gaps NIST-800-53-SC-7 (Boundary Protection) and NIS2-Art21-network-security (Security of network and information systems).",
45112
+ "gap_closes": [
45113
+ "NIST-800-53-SC-7",
45114
+ "NIS2-Art21-network-security"
45115
+ ]
45116
+ }
45117
+ ]
44715
45118
  },
44716
45119
  "CVE-2024-4947": {
44717
45120
  "name": "Google Chromium V8 Type Confusion Vulnerability (CVE-2024-4947)",
@@ -44946,7 +45349,32 @@
44946
45349
  "adequate": false,
44947
45350
  "gap": "The affected DIR-600 revisions are end-of-life with no forthcoming fix, so flaw-remediation via patching is impossible and the only remedy is device retirement."
44948
45351
  }
44949
- }
45352
+ },
45353
+ "new_control_requirements": [
45354
+ {
45355
+ "id": "NEW-CTRL-127",
45356
+ "name": "UNSUPPORTED-NETWORK-DEVICE-ENUMERATION-AND-RETIREMENT",
45357
+ "description": "The packet carries two facts that must be resolved per unit before anything else: patch_available is recorded as false, and live_patch_notes states that firmware after 2.17b02 addressed the original issue only for supported revisions while rev. Bx hardware is end-of-life/end-of-service. So the first requirement is an inventory that names every DIR-600 in service with its hardware revision, taken from the device rather than assumed from the model name. A unit whose revision still receives vendor firmware is one class of item; a rev. Bx unit is a different class entirely, because there is no build it can be moved to and its only resolution is replacement on a dated schedule. Bound to this device, that distinction is invisible without the revision: an asset register that records 'D-Link DIR-600' cannot tell an operator which of its routers the firmware covers, and a risk acceptance with no removal date leaves a KEV-listed router with a public exploit answering hedwig.cgi, pigwidgeon.cgi and diagnostic.php indefinitely. Distinguishing test: read the hardware revision off every DIR-600 in the estate and confirm each rev. Bx unit carries a dated replacement commitment rather than a firmware ticket that will never close; a scanner that reports the model as current because it sees a firmware string at or above 2.17b02, without reading the revision, reports paper compliance on hardware that firmware does not cover.",
45358
+ "evidence": "Packet records patch_available: false and live_patch_notes: 'Affected DIR-600 (rev. Bx) hardware is end-of-life/end-of-service; vendor guidance is retirement and replacement. Firmware after 2.17b02 addressed the original issue only for supported revisions.' Packet vector names D-Link DIR-600 router (rev. Bx) with firmware before 2.17b02 and the endpoints hedwig.cgi, pigwidgeon.cgi and diagnostic.php. CISA KEV-listed 2024-05-16, active_exploitation confirmed, poc_available true, CVSS 8.0, RWEP 77.",
45359
+ "gap_closes": [
45360
+ "AU-Essential-8-Patch",
45361
+ "NIST-800-53-SI-2",
45362
+ "ISO-27001-2022-A.8.8",
45363
+ "NIS2-Art21-vulnerability-management"
45364
+ ]
45365
+ },
45366
+ {
45367
+ "id": "NEW-CTRL-122",
45368
+ "name": "EOL-ASSET-DECOMMISSION",
45369
+ "description": "There is no firmware a rev. Bx DIR-600 owner can move to, so on this entry remediation means removal and the interim measure has to be stated precisely, because the usual segmentation answer does not hold. The packet's path is a lure: an authenticated router administrator is drawn to a malicious page that auto-submits forged requests to hedwig.cgi, pigwidgeon.cgi and diagnostic.php to create an administrator account, enable remote management, or activate new configuration settings. The request therefore originates inside the administrator's own browser and arrives on an already-authenticated session, so blocking the router's admin surface at a network boundary does nothing — the browser is already on the permitted side, and the attacker never authenticates to the device at all. Applied to this router, the compensating measure is that the DIR-600 web administration surface must not be loadable from any network or browser profile an administrator also browses the general web from, that no administrator holds a live session to the router while browsing elsewhere, and that every surviving rev. Bx unit sits on a dated decommission schedule rather than an open-ended acceptance. Preconditions, and why this is a holding measure rather than a fix: none of it restores the missing request-origin validation, so any administrator who legitimately opens the router UI from a general-purpose browser satisfies the exploit's only access requirement in full; and disabling remote management is not durable protection here, because the packet lists enabling remote management as one of the actions the forged request itself performs — its value is limited to denying an external attacker a direct path, not to preventing the lure. Distinguishing test: from the workstation and browser profile an administrator actually uses, confirm the router's admin pages cannot be loaded in the same session context used for general web browsing, and read remote-management state off the device itself rather than from a configuration template, since the flaw's own effect is to change it.",
45370
+ "evidence": "Packet attack_vector: 'An attacker lures an authenticated router administrator to a malicious page that auto-submits forged requests to hedwig.cgi/pigwidgeon.cgi/diagnostic.php, hijacking the admin session to create accounts, enable remote management, or change settings.' Packet vector enumerates the same actions, including enabling remote management via a crafted configuration module to hedwig.cgi and activating settings via a SETCFG,SAVE,ACTIVATE action to pigwidgeon.cgi; cwe_refs CWE-352. patch_available: false; live_patch_notes records rev. Bx as end-of-life/end-of-service with retirement and replacement as vendor guidance. CISA KEV-listed 2024-05-16, active_exploitation confirmed, poc_available true.",
45371
+ "gap_closes": [
45372
+ "NIST-800-53-SC-7",
45373
+ "NIST-800-53-AC-3",
45374
+ "UK-CAF-B4"
45375
+ ]
45376
+ }
45377
+ ]
44950
45378
  },
44951
45379
  "CVE-2024-30040": {
44952
45380
  "name": "Microsoft Windows MSHTML Platform Security Feature Bypass Vulnerability",
@@ -45109,7 +45537,19 @@
45109
45537
  "adequate": false,
45110
45538
  "gap": "Password-only authentication is fully defeated once the reset email is redirected; without enforced MFA the identity control permits complete takeover, so it is inadequate against this flaw."
45111
45539
  }
45112
- }
45540
+ },
45541
+ "new_control_requirements": [
45542
+ {
45543
+ "id": "NEW-CTRL-001",
45544
+ "name": "CISA-KEV-RESPONSE-SLA",
45545
+ "description": "The exposure this SLA tier governs on GitLab is fully unauthenticated and needs no foothold to start: the attacker submits the password-reset form supplying multiple email addresses, GitLab delivers the reset link to the attacker-controlled unverified address, and the attacker sets a new password. There is no login step for a monthly patch window to hide behind and no credential to rate-limit — every self-managed instance on an affected release is reset-able by anyone who knows a target account's address, and the affected range spans seven 16.x lines (16.1 through 16.7). The packet records a vendor update with no live-patch primitive but explicitly no reboot requirement, which is what makes the expedited branch of this control real rather than aspirational here: moving an instance to the fixed release in its own 16.x line is a service upgrade, not a maintenance-window event, so a 14- or 30-day cadence is the wrong tier for a KEV-listed pre-authentication account-takeover path with a public exploit. Precondition on the residual half, and it is the part a patch record will not show: the packet ties completion of the takeover to 2FA being absent, so a second factor blocks the takeover but does not prevent the reset itself, and the upgrade bounds new attempts without undoing one that already succeeded — any account that could have been reset during the exposure window must have its password, personal access tokens and session state treated as attacker-known irrespective of the upgrade. Distinguishing test: on a staging instance running the operator's pre-upgrade version, submit the reset form for a known account with a second, attacker-controlled address and confirm no reset link reaches it; an attestation that 'GitLab is patched on the monthly cycle' passes cleanly while an affected 16.x instance stays reset-able for the whole cycle.",
45546
+ "evidence": "Packet vector: 'An issue has been discovered in GitLab CE/EE affecting all versions from 16.1 prior to 16.1.6, 16.2 prior to 16.2.9, 16.3 prior to 16.3.7, 16.4 prior to 16.4.5, 16.5 prior to 16.5.6, 16.6 prior to 16.6.4, and 16.7 prior to 16.7.2 in which user account password reset emails could be delivered to an unverified email address.' Packet attack_vector: unauthenticated attacker submits the reset form supplying multiple email addresses and takes over the account 'when 2FA is absent'; cwe_refs CWE-640. patch_available: true; live_patch_notes: 'No live-patching primitive for this product; the vendor update (no reboot required) is the remediation.' CISA KEV-listed 2024-05-01, active_exploitation confirmed, poc_available true, CVSS 9.8, RWEP 70.",
45547
+ "gap_closes": [
45548
+ "AU-Essential-8-Patch",
45549
+ "NIST-800-53-SI-2"
45550
+ ]
45551
+ }
45552
+ ]
45113
45553
  },
45114
45554
  "CVE-2024-29988": {
45115
45555
  "name": "Microsoft SmartScreen Prompt Security Feature Bypass Vulnerability",
@@ -45206,7 +45646,30 @@
45206
45646
  "adequate": false,
45207
45647
  "gap": "Boundary controls leave the CrushFTP WebInterface publicly reachable, and the SSTI rides normal HTTPS so a firewall does not stop it."
45208
45648
  }
45209
- }
45649
+ },
45650
+ "new_control_requirements": [
45651
+ {
45652
+ "id": "NEW-CTRL-001",
45653
+ "name": "CISA-KEV-RESPONSE-SLA",
45654
+ "description": "The CrushFTP WebInterface is the internet-facing half of a managed file-transfer deployment, and the packet's path asks nothing of the attacker but the ability to send it a request: server-side template-injection syntax is rendered by the server, escaping the VFS sandbox to read arbitrary files including configuration and session data, bypassing authentication to administrative access, and executing code. All versions before 10.7.1 and 11.1.0 on all platforms are affected, so the exposed population is every instance until it is moved. The packet records no live-patching primitive but explicitly no reboot requirement, which is what makes the expedited branch of this control real on this product: bringing an instance to 10.7.1 or 11.1.0 is a service upgrade rather than a maintenance-window event, so a 14- or 30-day tier is the wrong clock for a KEV-listed unauthenticated path to admin and code execution with a public exploit. Precondition, stated because this is where operators reach for the wrong lever: segmentation is not available as the interim measure on an externally published instance, since the WebInterface is reachable by design for the users the service exists to serve; where an instance serves only internal users, restricting which segments can reach it bounds who can send the injection but leaves it fully exploitable to anything inside the permitted segment, and it is unavailable wherever the interface must stay published for normal operation. Distinguishing test: enumerate the running version on every CrushFTP instance and confirm each is at or above 10.7.1 or 11.1.0; a vulnerability-management attestation that cites the organisation's standard patch cadence passes cleanly while a published pre-10.7.1 instance stays unauthenticated-RCE-able for the length of that cadence.",
45655
+ "evidence": "Packet vector: 'A server side template injection vulnerability in CrushFTP in all versions before 10.7.1 and 11.1.0 on all platforms allows unauthenticated remote attackers to read files from the filesystem outside of the VFS Sandbox, bypass authentication to gain administrative access, and perform remote code execution on the server.' cwe_refs CWE-1336 and CWE-94. patch_available: true; live_patch_notes: 'No live-patching primitive for this product; the vendor update (no reboot required) is the remediation.' CISA KEV-listed 2024-04-24, active_exploitation confirmed, poc_available true, CVSS 10, RWEP 72.",
45656
+ "gap_closes": [
45657
+ "AU-Essential-8-Patch",
45658
+ "ISO-27001-2022-A.8.8",
45659
+ "NIST-800-53-SI-2"
45660
+ ]
45661
+ },
45662
+ {
45663
+ "id": "NEW-CTRL-032",
45664
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
45665
+ "description": "The packet's own ordering is why upgrading CrushFTP is not the same as remediating it. Before the attacker reaches code execution they have already read files from outside the VFS sandbox — the attack_vector names configuration and session data specifically — and bypassed authentication to hold administrative access, all without a credential. Moving the instance to 10.7.1 or 11.1.0 removes the template-rendering path; it does not invalidate a session token or an administrative credential the attacker lifted out of the configuration, and it does not remove accounts, VFS definitions, scheduled jobs or files an admin-level attacker left on a server whose entire purpose is storing and moving other people's data. Bound to this product, the default response for any instance that ran an affected version while exposed is: treat the CrushFTP configuration and every secret in it as disclosed, rotate the administrative and service credentials and any keys the server held, invalidate all sessions, compare user and VFS definitions and scheduled jobs against a known-good baseline, and rebuild from that baseline rather than upgrade in place wherever the exposure window cannot be bounded from logs. Precondition and its hard limit: this bounds what the attacker retains going forward, and it does nothing about what already left — anything the sandbox escape could read is disclosed permanently, so rotating the credentials those files contained is the only recourse, and rotation is only complete if it covers credentials that were valid at any point in the window, not just the ones current at upgrade time. Distinguishing test: for each instance, produce evidence that the admin credential, service account and session keys were rotated after the upgrade and that user and VFS definitions were diffed against a baseline; a flaw-remediation record showing only 'upgraded to 11.1.0' is a patched host that may still be answering to its attacker.",
45666
+ "evidence": "Packet attack_vector: 'An unauthenticated attacker sends a request with server-side template-injection syntax to the CrushFTP WebInterface; the server renders the expression, escaping the VFS sandbox to read arbitrary files (config/session data), bypass authentication to gain admin, and execute code.' Packet vector confirms the same three outcomes for all versions before 10.7.1 and 11.1.0 on all platforms. active_exploitation: confirmed; CISA KEV-listed 2024-04-24; poc_available true; CVSS 10; RWEP 72. patch_available: true with live_patch_notes stating the vendor update (no reboot required) is the remediation.",
45667
+ "gap_closes": [
45668
+ "NIST-800-53-SI-2",
45669
+ "UK-CAF-B4"
45670
+ ]
45671
+ }
45672
+ ]
45210
45673
  },
45211
45674
  "CVE-2024-20359": {
45212
45675
  "name": "Cisco ASA and FTD Privilege Escalation Vulnerability",
@@ -45280,7 +45743,40 @@
45280
45743
  "adequate": false,
45281
45744
  "gap": "SC-7 treats the firewall as the boundary, but the vulnerable web service runs on that same edge appliance, so the control cannot protect the device that enforces it."
45282
45745
  }
45283
- }
45746
+ },
45747
+ "new_control_requirements": [
45748
+ {
45749
+ "id": "NEW-CTRL-030",
45750
+ "name": "PERIMETER-DEVICE-ZERODAY-SLA-TIER",
45751
+ "description": "The vulnerable code sits in the management and VPN web servers of Cisco ASA and Cisco FTD — the appliance that is itself the trust boundary — and the packet's path needs no credential: an unauthenticated remote attacker sends a crafted HTTP request, incomplete error checking while parsing an HTTP header drives an infinite loop (CWE-835), and the device reloads. For this CVE the tier means the vendor update runs on a clock that opened at the 2024-04-24 KEV listing rather than being folded into the next appliance maintenance window, and completion is measured per unit by the reload the update requires having actually been taken: the packet records patch_available true with no live-patch path and states the vendor update requires a reboot, so an appliance staged with the fixed image but not yet reloaded is still running the vulnerable parser and must be counted as exposed. Precondition on the isolation half of this control, which is where it is usually over-claimed on ASA/FTD: restricting which networks can reach the management web server bounds one of the two surfaces the packet names, but the VPN web server has to answer unauthenticated requests from untrusted networks to do its job, so on any unit terminating remote-access VPN there is no segment that removes the path — isolation shrinks the management-side surface while the reload is scheduled, it is not an alternative to the update. Distinguishing test: produce, per appliance, the running image and the time of its last reload, and show the reload post-dates the update; a boundary-protection or flaw-remediation attestation that reads 'update deployed' off the management console records an appliance still running the vulnerable image as remediated.",
45752
+ "evidence": "Packet fields: cisa_kev true, kev_date 2024-04-24, active_exploitation 'confirmed', cvss 8.6, rwep_score 57, poc_available false. patch_available true, live_patch_available false, live_patch_notes 'No live-patching primitive for this product; the vendor update requires a reboot and is the remediation.' Vector places the flaw in 'the management and VPN web servers for Cisco Adaptive Security Appliance (ASA) Software and Cisco Firepower Threat Defense (FTD) Software', reachable by 'an unauthenticated, remote attacker', 'due to incomplete error checking when parsing an HTTP header', exploited 'by sending a crafted HTTP request to a targeted web server on a device'. cwe_refs CWE-835. Citing gaps include NIST-800-53-SC-7 Boundary Protection, NIST-800-53-SI-2 Flaw Remediation and AU-ISM-1546 Patch operating systems and applications.",
45753
+ "gap_closes": [
45754
+ "NIST-800-53-SC-7",
45755
+ "NIST-800-53-SI-2",
45756
+ "ISO-27001-2022-A.8.8",
45757
+ "AU-ISM-1546"
45758
+ ]
45759
+ },
45760
+ {
45761
+ "id": "NEW-CTRL-032",
45762
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
45763
+ "description": "The packet does not stop at the denial of service: it records that in ArcaneDoor this flaw was chained with CVE-2024-20359 for implant persistence. That is what makes 'the appliance reloaded, we then updated it' the wrong close-out for an ASA or FTD that showed the documented behaviour during the exposure window — the update changes the running image, it does not answer whether anything was left behind on the box. For this CVE the control means such a unit is handled as a compromised device rather than a patch item: preserve and export its configuration for analysis, rebuild from vendor-supplied image plus a known-good configuration instead of upgrading in place, and rotate the secrets the appliance held (VPN key material, administrative credentials, certificates) along with any account that authenticated through it during the window. Precondition, stated plainly because this control is expensive if applied blindly: this is triage for units with evidence of the path, not a blanket estate rebuild. The packet gives no on-box indicator, only the unexpected reload as the visible symptom, so the trigger is an unexplained reload correlated with inbound requests to the management or VPN web server; a unit with no such record is an update item under the SLA tier. And the rebuild is only as trustworthy as its source — an image or configuration restored from the suspect device's own storage carries forward whatever was written there. Distinguishing test: take an appliance that reloaded during the exposure window, apply the vendor update, then ask what evidence exists that nothing persisted across it. A flaw-remediation attestation answers 'the image version is current', which is not an answer to implant persistence.",
45764
+ "evidence": "Packet attack_vector: 'An unauthenticated remote attacker sends a crafted HTTP request to the ASA/FTD management or VPN web server; incomplete HTTP-header error checking triggers an infinite loop (CWE-835) that reloads the device, causing denial of service. In ArcaneDoor it was chained with CVE-2024-20359 for implant persistence.' active_exploitation 'confirmed'; cisa_kev true, kev_date 2024-04-24. patch_available true with live_patch_available false and live_patch_notes 'No live-patching primitive for this product; the vendor update requires a reboot and is the remediation.' Citing gaps include NIST-800-53-SI-2 Flaw Remediation and UK-CAF-B4 System security.",
45765
+ "gap_closes": [
45766
+ "NIST-800-53-SI-2",
45767
+ "UK-CAF-B4"
45768
+ ]
45769
+ },
45770
+ {
45771
+ "id": "NEW-CTRL-031",
45772
+ "name": "FIREWALL-EGRESS-TELEMETRY-SEPARATE-TRUST-ZONE",
45773
+ "description": "The only symptom the packet gives is the device reloading unexpectedly, and the same packet places this flaw in a chain that ends in implant persistence on that same appliance — so the record that distinguishes a hardware fault from exploitation cannot be allowed to live only on the ASA or FTD itself. For this CVE the control means syslog and the management/VPN web servers' request and authentication records are forwarded continuously to a collector in a separate trust zone, with its own credentials and its own management path, retained across the appliance's reloads, so an analyst can ask after the fact whether a reload was preceded by requests to those web servers from an untrusted source. The detection keys on exactly what an exploit doing what the packet describes emits: an unauthenticated HTTP request to the management or VPN web server followed by an unscheduled reload of that device, and the repetition of that pair across attempts or across appliances — not on a crash signature, because the crash record is produced by the device under attack, and not on authentication events, because the attacker never authenticates. Precondition: this preserves and surfaces evidence, it does not prevent the reload and it is not a mitigation for the flaw. It is also only as good as the window it covers — an appliance whose forwarding was not already configured before the exposure window has no retrospective record to consult — and the collector must not authenticate back through the appliance it is monitoring, or the compromise of that appliance takes the evidence path with it.",
45774
+ "evidence": "Packet vector: the flaw 'could allow an unauthenticated, remote attacker to cause the device to reload unexpectedly, resulting in a denial of service (DoS) condition', triggered 'by sending a crafted HTTP request to a targeted web server on a device'. attack_vector adds 'In ArcaneDoor it was chained with CVE-2024-20359 for implant persistence.' active_exploitation 'confirmed'; cisa_kev true, kev_date 2024-04-24; poc_available false. Citing gap NIS2-Art21-network-security (Security of network and information systems).",
45775
+ "gap_closes": [
45776
+ "NIS2-Art21-network-security"
45777
+ ]
45778
+ }
45779
+ ]
45284
45780
  },
45285
45781
  "CVE-2022-38028": {
45286
45782
  "name": "Microsoft Windows Print Spooler Privilege Escalation Vulnerability",
@@ -45428,7 +45924,40 @@
45428
45924
  "adequate": false,
45429
45925
  "gap": "No patch will ever ship — the devices are end-of-life — so flaw-remediation is unattainable; the only remediation is retirement, which asset-owners routinely fail to perform for cheap NAS boxes."
45430
45926
  }
45431
- }
45927
+ },
45928
+ "new_control_requirements": [
45929
+ {
45930
+ "id": "NEW-CTRL-122",
45931
+ "name": "EOL-ASSET-DECOMMISSION",
45932
+ "description": "There is no update to apply here. The packet records patch_available false and states the vendor confirmed the product is end-of-life and that it should be retired and replaced, so for the DNS-320L, DNS-325, DNS-327L and DNS-340L units in service the remediation is removal on a dated schedule and nothing else — neither 'we will update it' nor an open-ended risk acceptance is an available disposition on a device whose exploit has been publicly disclosed and whose exploitation is confirmed. Applied to these NAS units: enumerate every one in service, give each a removal date, and settle the data migration target first, because the appliance exists to hold the data and pulling it without somewhere for the data to go is what converts a removal into an indefinite deferral. Precondition on the interim measure, which is where this gets over-claimed: until the unit is gone, restricting reachability of its HTTP interface bounds who can send the GET to /cgi-bin/nas_sharing.cgi, but it does not close the path — the credential ships inside the product, so every host still permitted to reach the device satisfies the attacker's only requirement. And because exploitation is confirmed and the exploit is public, a unit that was exposed to the internet through a router port-forward or UPnP mapping at any point in the exposure window has to be handled as already reached: the data it stored and any credentials it held are exposed regardless of what happens to the hardware afterwards, so removal alone does not close that half. Distinguishing test: for each unit produce a decommission date and the migration target. A vulnerability-management record that carries these models as 'no patch available, risk accepted' with no removal date is exactly the outcome this control exists to catch.",
45933
+ "evidence": "Packet: patch_available false, live_patch_available false, live_patch_notes 'No patch — affected D-Link NAS models are end-of-life/end-of-service; vendor guidance is to retire and replace the hardware.' Vector: '** UNSUPPORTED WHEN ASSIGNED ** ... D-Link DNS-320L, DNS-325, DNS-327L and DNS-340L up to 20240403 ... /cgi-bin/nas_sharing.cgi of the component HTTP GET Request Handler ... The exploit has been disclosed to the public and may be used ... NOTE: This vulnerability only affects products that are no longer supported by the maintainer. NOTE: Vendor was contacted early and confirmed immediately that the product is end-of-life. It should be retired and replaced.' cisa_kev true, kev_date 2024-04-11, active_exploitation 'confirmed', poc_available true, cvss 9.8, rwep_score 81. Citing gaps include AU-Essential-8-Patch, NIST-800-53-SI-2 Flaw Remediation and NIS2-Art21-vulnerability-management.",
45934
+ "gap_closes": [
45935
+ "AU-Essential-8-Patch",
45936
+ "NIST-800-53-SI-2",
45937
+ "NIS2-Art21-vulnerability-management"
45938
+ ]
45939
+ },
45940
+ {
45941
+ "id": "NEW-CTRL-054",
45942
+ "name": "BACKUP-TIER-NETWORK-ISOLATION",
45943
+ "description": "These are network-attached storage appliances whose purpose is holding the primary and backup copy of a household's, remote worker's or branch site's files, and the packet's path reaches that data with no credential at all: an HTTP GET to /cgi-bin/nas_sharing.cgi with the argument user set to messagebus, which — chained with the companion command-injection flaw the packet names — yields unauthenticated remote code execution on the box holding the data. Since the packet records no available fix, reachability is the only lever the operator holds while the units are still in service. For the DNS-320L, DNS-325, DNS-327L and DNS-340L that means the device's web interface answers only from an operator subnet or an authenticated VPN: not from the general user VLAN, and above all not from the internet through a router port-forward or a UPnP mapping, which is how NAS hardware at homes, remote-worker locations and small branches normally acquires its exposure. Constrain the appliance's outbound path too, so a unit that has already been reached cannot ship what it stores to an arbitrary destination. Precondition: this bounds the population that can send the request; it does not remove the flaw and must not be recorded as closure. Any host inside the permitted segment still meets the attacker's only requirement, because the credential travels with the product rather than being obtained from the site — and it does nothing for a unit already reached during the exposure window. Distinguishing test: from a general user VLAN and from an external address, request /cgi-bin/nas_sharing.cgi on the unit; anything that answers is within reach of the published exploit. 'The NAS is on the internal network' is a claim about topology, not a demonstration that the interface is unreachable from untrusted segments.",
45944
+ "evidence": "Packet attack_vector: 'An attacker sends an HTTP GET to /cgi-bin/nas_sharing.cgi using the hardcoded messagebus account (empty password); chained with the companion command-injection flaw this yields unauthenticated remote code execution on end-of-life D-Link NAS devices.' Vector names D-Link DNS-320L, DNS-325, DNS-327L and DNS-340L up to 20240403, the /cgi-bin/nas_sharing.cgi HTTP GET Request Handler, and states 'The attack may be initiated remotely.' patch_available false; live_patch_notes 'No patch — affected D-Link NAS models are end-of-life/end-of-service; vendor guidance is to retire and replace the hardware.' poc_available true; active_exploitation 'confirmed'. Citing gap NIST-800-53-SC-7 Boundary Protection.",
45945
+ "gap_closes": [
45946
+ "NIST-800-53-SC-7"
45947
+ ]
45948
+ },
45949
+ {
45950
+ "id": "NEW-CTRL-124",
45951
+ "name": "FRAMEWORK-DEFAULT-SECRET-DETECTION",
45952
+ "description": "The secret in this CVE ships inside the product: the packet's manipulation is the argument user set to messagebus, a hard-coded account with an empty password in the device's HTTP GET request handler (CWE-798). No operator-side credential hygiene touches that exposure — the attacker never uses an account the site created, and there is nothing for the operator to rotate away. That is precisely why the identity-and-access and least-functionality gaps sit on this entry: an attestation showing every NAS administrator holds a unique, strong credential passes cleanly while this path stays fully open, and the vulnerable handler is not a service the operator can turn off on the device. For this estate the control means inventorying devices by whether they authenticate through a vendor-shipped credential the operator cannot change or remove, flagging the DNS-320L, DNS-325, DNS-327L and DNS-340L population on that basis rather than on account policy, and re-running the check after any unit is factory-reset, re-imaged or re-attached to the network — those are the operations that quietly return a device thought to be gone to service. Precondition: because the packet records no fix and vendor guidance is retirement, this detection feeds the decommission decision; it does not reduce the exposure of a unit that stays in service, and it says nothing about whether a unit was already used. A device reachable during the exposure window needs the data it stored and any credentials it held treated as exposed, not closed out on an inventory entry. Scope stays on the four models the packet names — extend it to other storage products only where a verified source places the same shipped credential in them.",
45953
+ "evidence": "Packet cwe_refs CWE-798 (name: 'D-Link Multiple NAS Devices Use of Hard-Coded Credentials Vulnerability'). Vector: 'The manipulation of the argument user with the input messagebus leads to hard-coded credentials', in '/cgi-bin/nas_sharing.cgi of the component HTTP GET Request Handler', affecting 'D-Link DNS-320L, DNS-325, DNS-327L and DNS-340L up to 20240403'. attack_vector notes the hardcoded 'messagebus' account has an empty password. patch_available false; vendor guidance per live_patch_notes is to 'retire and replace the hardware'. Citing gaps include UK-CAF-B2 Identity and access control, NIST-800-53-CM-7 Least Functionality and ISO-27001-2022-A.8.9 Configuration management.",
45954
+ "gap_closes": [
45955
+ "UK-CAF-B2",
45956
+ "NIST-800-53-CM-7",
45957
+ "ISO-27001-2022-A.8.9"
45958
+ ]
45959
+ }
45960
+ ]
45432
45961
  },
45433
45962
  "CVE-2024-29748": {
45434
45963
  "name": "Android Pixel Privilege Escalation Vulnerability (CVE-2024-29748)",
@@ -45465,7 +45994,31 @@
45465
45994
  "adequate": false,
45466
45995
  "gap": "Patch-application timeframes do not account for mobile-OS/firmware, where forensic-extraction exploitation of an unpatched wipe bypass is the real risk."
45467
45996
  }
45468
- }
45997
+ },
45998
+ "new_control_requirements": [
45999
+ {
46000
+ "id": "NEW-CTRL-126",
46001
+ "name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
46002
+ "description": "The packet gives a vendor update for the affected Pixel devices with no live-patch path and a required reboot, and an exploitation precondition of local or physical access plus user interaction — so the population that matters is handsets in people's hands, and the enforcement point has to be the device's reported security patch level acting as an access condition rather than a row on a compliance report. For this CVE that means the enrolled Pixel fleet is gated: a device below the fixed patch level is denied mail, VPN and document access until it is at or above it, and the check reads the level the device reports after it has restarted, because the packet records the update as requiring a reboot — a handset that has taken the update but not restarted is still running the vulnerable logic and has to count as exposed. Precondition, and for this flaw it is the load-bearing one: the control governs what a below-fix device is allowed to reach; it does nothing about the data already resident on that device, and the attacker the packet describes already has local or physical access to the handset, which is past the point where an access policy applies at all. That case belongs on the incident path — server-side revocation of the device's sessions, tokens and credentials — not on the patch-compliance path. Distinguishing test: enrol a Pixel pinned below the fixed patch level and confirm the policy actually denies it access to protected resources. An estate that surfaces the stale patch level on a dashboard while the device keeps its access has recorded the exposure rather than removed it.",
46003
+ "evidence": "Packet: name 'Android Pixel Privilege Escalation Vulnerability'; cisa_kev true, kev_date 2024-04-04, active_exploitation 'confirmed'; cvss 7.8, rwep_score 53, poc_available false. patch_available true, live_patch_available false, live_patch_notes 'No live-patching primitive for this product; the vendor update requires a reboot and is the remediation.' Vector: 'This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is needed for exploitation.' attack_vector: 'An attacker with local/physical access interrupts a factory reset initiated by a device-admin app...'. Citing gaps include AU-Essential-8-Patch, NIST-800-53-SI-2 Flaw Remediation, ISO-27001-2022-A.8.8 and NIS2-Art21-patch-management. The packet names no fixed build identifier, so none is asserted here.",
46004
+ "gap_closes": [
46005
+ "AU-Essential-8-Patch",
46006
+ "NIST-800-53-SI-2",
46007
+ "ISO-27001-2022-A.8.8",
46008
+ "NIS2-Art21-patch-management"
46009
+ ]
46010
+ },
46011
+ {
46012
+ "id": "NEW-CTRL-041",
46013
+ "name": "PROTECTION-MECHANISM-FAILURE-CLASS-REGRESSION",
46014
+ "description": "What fails in this CVE is a protection mechanism rather than a general-purpose code path: the packet describes an attacker with local or physical access interrupting a factory reset initiated by a device-admin app so that the wipe does not complete, yielding local privilege escalation and defeating the remote-wipe and data-protection assurance an estate leans on for lost, stolen and returned Pixel handsets. For this CVE the control means the wipe primitive itself is regression-tested rather than assumed from the presence of the vendor update: on a representative Pixel at the current patch level, issue the device-admin wipe, interrupt it in the way the packet describes, and verify the handset came back with the data actually gone and the escalation unavailable — then re-run that battery on each subsequent platform update, since a condition-handling logic error of this shape (CWE-755 with CWE-280) is the kind a later change in the same path reintroduces. The signal to watch for in the fleet is the behaviour the packet documents, not a proxy for it: a wipe that was commanded but never reached a completed state, and a device that reappears after a commanded wipe still carrying its prior enrolment, identity or data. Precondition: this test tells you whether the assurance holds; it does not remediate a handset, and it is a check on the mechanism, not a substitute for the vendor update and the restart it requires. A device that has already had an interrupted wipe is an incident rather than a test result — the data was not removed, so it and any credentials the device held must be handled as exposed and revoked server-side.",
46015
+ "evidence": "Packet cwe_refs CWE-755 and CWE-280. attack_vector: 'An attacker with local/physical access interrupts a factory reset initiated by a device-admin app, exploiting a logic error so the wipe does not complete, and gains local privilege escalation — defeating remote-wipe/data-protection assurances.' Vector: 'there is a possible way to bypass due to a logic error in the code. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is needed for exploitation.' cisa_kev true, kev_date 2024-04-04, active_exploitation 'confirmed'. patch_available true with live_patch_available false and live_patch_notes 'No live-patching primitive for this product; the vendor update requires a reboot and is the remediation.' Citing gaps include UK-CAF-B4 System security and ISO-27001-2022-A.8.8.",
46016
+ "gap_closes": [
46017
+ "UK-CAF-B4",
46018
+ "ISO-27001-2022-A.8.8"
46019
+ ]
46020
+ }
46021
+ ]
45469
46022
  },
45470
46023
  "CVE-2024-29745": {
45471
46024
  "name": "Android Pixel Information Disclosure Vulnerability",
@@ -45502,7 +46055,31 @@
45502
46055
  "adequate": false,
45503
46056
  "gap": "Security-of-processing controls assume lock-screen protection preserves data confidentiality; the fastboot memory leak undermines confidentiality of personal data on a seized device despite a locked screen."
45504
46057
  }
45505
- }
46058
+ },
46059
+ "new_control_requirements": [
46060
+ {
46061
+ "id": "NEW-CTRL-126",
46062
+ "name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
46063
+ "description": "The population is Google Pixel devices, and the packet's path needs no code running on the device at all: with physical possession of a Pixel in the After-First-Unlock state, the attacker reboots it into fastboot mode — where USB access is enabled before memory is zeroed — and dumps the uninitialized memory to recover data the lock screen would otherwise protect. Bound to this product, the control means the fixed Android build has to function as an access condition rather than a reporting field: a Pixel below it is denied the organizational mail, VPN and document access that puts protected data onto the device in the first place. The measurement must be the build actually running, because the packet records no live-patching primitive and states the vendor update requires a reboot to be the remediation — a Pixel that has taken the update but not restarted is still running the vulnerable boot path and must be counted below the fix. Distinguishing test: enrol a Pixel pinned below the fixed build and confirm policy actually denies it access to protected resources; an estate that surfaces the stale build on a compliance report while the device keeps its mailbox has recorded the exposure, not reduced it. Precondition, and it decides how far this control reaches: gating access limits what a below-fix Pixel is permitted to hold from this point forward — it does not reach data already resident on the device, and it does nothing once the device is in someone else's hands. Because the packet's path requires only physical possession, with no additional execution privileges and no user interaction, a Pixel that is lost, stolen or seized while below the fixed build belongs on the device-loss and personal-data-exposure path — the assessment the cited security-of-processing obligation drives — and not on the patch queue.",
46064
+ "evidence": "Packet: 'Android Pixel Information Disclosure Vulnerability', CWE-908, with the vector recording 'a possible Information Disclosure due to uninitialized data... local information disclosure with no additional execution privileges needed. User interaction is not needed for exploitation.' The attack path recorded is: 'With physical possession of a Pixel in the After-First-Unlock state, an attacker reboots it into fastboot mode where USB access is enabled before memory is zeroed, then dumps uninitialized fastboot memory to recover data that the lock screen would otherwise protect.' CISA KEV-listed 2024-04-04, active_exploitation confirmed, poc_available false, CVSS 5.5, RWEP 47. patch_available true, live_patch_available false, live_patch_notes: 'No live-patching primitive for this product; the vendor update requires a reboot and is the remediation.' Cited as insufficient on this entry: ISO/IEC 27001:2022 A.8.8 (management of technical vulnerabilities), UK CAF B4 (system security), GDPR Art. 32 (security of processing).",
46065
+ "gap_closes": [
46066
+ "ISO-27001-2022-A.8.8",
46067
+ "UK-CAF-B4",
46068
+ "GDPR-Art32"
46069
+ ]
46070
+ },
46071
+ {
46072
+ "id": "NEW-CTRL-056",
46073
+ "name": "MOBILE-ENDPOINT-MDM-ENFORCED-KEV-SLA",
46074
+ "description": "For the Pixel estate, the update carrying this fix is driven from the management platform on the clock that opened with the 2024-04-04 KEV listing, rather than left to each user's own update prompt. Completion is measured per device as installed security patch level and completed restart together, because the packet records no live-patching primitive for this product and states the vendor update requires a reboot to be the remediation — the read the attacker performs happens in the boot path that only the restart replaces, so a device counted as updated but not restarted is still exposed. Deferred restarts are therefore the specific way this remediation goes wrong on a phone estate: the download is invisible to the user and the restart is not, so it is the half that slips. Preconditions: an enforced SLA only governs devices that check in, so a Pixel that is unenrolled, offline or long out of contact never receives the push and has to be measured against enrollment and last-check-in rather than assumed compliant. And because the path the packet describes is exercised with physical possession rather than network reach, the SLA shortens the exposure window but does not defend a device inside it — a Pixel that goes missing during the window is not made safe by an update that lands afterwards, and that device is an incident, not a pending patch.",
46075
+ "evidence": "Packet: CISA KEV-listed 2024-04-04 with active_exploitation confirmed; CVSS 5.5, RWEP 47, poc_available false. patch_available true, live_patch_available false, live_patch_notes: 'No live-patching primitive for this product; the vendor update requires a reboot and is the remediation.' The recorded path requires physical possession of a Pixel in the After-First-Unlock state and a reboot into fastboot mode, and the vector states no additional execution privileges are needed and no user interaction is required. Cited as insufficient on this entry: ASD Essential Eight 'Patch operating systems', NIST SP 800-53 Rev 5 SI-2 (flaw remediation), EU NIS2 Art. 21 vulnerability handling and disclosure.",
46076
+ "gap_closes": [
46077
+ "AU-Essential-8-Patch",
46078
+ "NIST-800-53-SI-2",
46079
+ "NIS2-Art21-patch-management"
46080
+ ]
46081
+ }
46082
+ ]
45506
46083
  },
45507
46084
  "CVE-2023-24955": {
45508
46085
  "name": "Microsoft SharePoint Server Code Injection Vulnerability",
@@ -45707,7 +46284,30 @@
45707
46284
  "adequate": false,
45708
46285
  "gap": "Technical-vulnerability management as an annual/periodic control does not compel the network segmentation that would keep an unauthenticated attacker off the TeamCity admin surface."
45709
46286
  }
45710
- }
46287
+ },
46288
+ "new_control_requirements": [
46289
+ {
46290
+ "id": "NEW-CTRL-129",
46291
+ "name": "ENTERPRISE-ERP-MANAGEMENT-FUNCTION-AUTHENTICATION",
46292
+ "description": "TeamCity takes its authentication decision in the layer that routes requests, and this CVE is that layer failing open: the packet has an unauthenticated request to a bogus path carrying a jsp= parameter that points at an authenticated REST endpoint, after which the attacker performs admin actions. Bound to this product, the control means each administrative REST function on the TeamCity server — account creation, token issuance, plugin upload — authorizes its caller itself rather than inheriting a verdict from the path-matching filter in front of it, and the server's HTTP surface is segmented so an untrusted caller cannot present that request to the filter in the first place. Distinguishing test: against a staging TeamCity server, issue unauthenticated requests to a non-existent path carrying a jsp= parameter that names an administrative REST endpoint, and confirm each is refused before the function runs — an attestation that every TeamCity administrator authenticates at login passes cleanly while this path stays open, because the attacker never holds an account and the account model is bypassed rather than abused. Preconditions: per-function authorization is a property the vendor fixed release establishes; this control states what to verify, it does not implement it, and the packet records no live-patch mechanism. Until that release is applied, restricting which segments reach the server bounds who can send the request but leaves it exploitable from anywhere inside the permitted segment, and that lever is unavailable where the server's HTTP surface must stay reachable for normal build operation. Because exploitation is confirmed and the packet's path ends in an attacker-created admin account or token and an uploaded plugin, a server reachable during the exposure window must be audited for administrators, tokens and plugins it did not legitimately gain — applying the fixed release does not remove them.",
46293
+ "evidence": "Packet attack_vector: 'An unauthenticated request to a bogus path with a jsp= parameter pointing at an authenticated REST endpoint bypasses auth; the attacker then creates an admin account/token and uploads a malicious plugin to achieve RCE on the build server.' Vector: 'In JetBrains TeamCity before 2023.11.4 authentication bypass allowing to perform admin actions was possible.' cwe_refs CWE-288; cisa_kev true with kev_date 2024-03-07; active_exploitation confirmed; poc_available true; CVSS 9.8; RWEP 71. patch_available true, live_patch_available false, live_patch_notes: 'No vendor live-patch mechanism; remediation requires applying the vendor fixed release.'",
46294
+ "gap_closes": [
46295
+ "UK-CAF-B4"
46296
+ ]
46297
+ },
46298
+ {
46299
+ "id": "NEW-CTRL-001",
46300
+ "name": "CISA-KEV-RESPONSE-SLA",
46301
+ "description": "The packet pairs a 2024-03-07 KEV listing with a public PoC and an unauthenticated path to admin actions, so for this product the exposure window has to be measured in hours from the listing rather than in the cycle a build server usually gets. The mismatch is the point: a TeamCity server is normally inventoried as internal developer tooling and patched on a cadence that assumes an account is needed to reach anything sensitive, while the packet's path needs no account at all and ends in RCE on the build server. Bound to this entry, the clock runs from the KEV listing to the vendor fixed release being live on the server — the packet records no live-patch mechanism, so there is no partial state to claim against it, and a server past the clock is fully exposed to a documented, publicly available exploit path.",
46302
+ "evidence": "Packet: cisa_kev true, kev_date 2024-03-07, active_exploitation confirmed, poc_available true, CVSS 9.8, RWEP 71; attack_vector ends in 'RCE on the build server'. patch_available true, live_patch_available false, live_patch_notes: 'No vendor live-patch mechanism; remediation requires applying the vendor fixed release.'",
46303
+ "gap_closes": [
46304
+ "AU-Essential-8-Patch",
46305
+ "NIST-800-53-SI-2",
46306
+ "NIS2-Art21-vulnerability-management",
46307
+ "ISO-27001-2022-A.8.8"
46308
+ ]
46309
+ }
46310
+ ]
45711
46311
  },
45712
46312
  "CVE-2024-23225": {
45713
46313
  "name": "Apple Multiple Products Memory Corruption Vulnerability",
@@ -46499,7 +47099,30 @@
46499
47099
  "adequate": false,
46500
47100
  "gap": "System-security assurance assumes the browser sandbox holds; a renderer type-confusion with sandbox escape defeats that assumption without additional exploit-mitigation controls."
46501
47101
  }
46502
- }
47102
+ },
47103
+ "new_control_requirements": [
47104
+ {
47105
+ "id": "NEW-CTRL-057",
47106
+ "name": "BROWSER-MANAGED-UPDATE-NO-DEFERRAL",
47107
+ "description": "The packet's exploitation path is a victim loading an attacker-controlled page, so every hour a managed endpoint keeps browsing on a Chrome build below 116.0.5845.179 is an hour that path stays open, and the packet records no live-patch mechanism — applying the vendor fixed release is the only thing that closes it. Bound to this deployment, the control means the browser's security channel is exempt from the pilot/broad ring staging that enterprise update policy applies to feature updates, and that completion is measured by the version the browser itself reports on each endpoint rather than by an 'approved' or 'downloaded' state in the management console. Distinguishing test: enumerate the Chrome version actually running across managed endpoints and confirm none report below 116.0.5845.179 — a ring policy that reports the update as deployed while endpoints still report a pre-fix build leaves the vulnerable V8 in the renderer that parses attacker-supplied HTML, with a clean patch-compliance row. Precondition: the ring reaches only Chrome installs the management channel can see and update. A user-installed copy outside that channel takes no ring policy at all, so it is remediated by bringing it under management or removing it, not by recording the fleet as patched.",
47108
+ "evidence": "Packet vector: 'Type Confusion in V8 in Google Chrome prior to 116.0.5845.179 allowed a remote attacker to execute arbitrary code via a crafted HTML page.' attack_vector: a victim visits an attacker-controlled web page and malicious JavaScript drives the V8 type confusion, yielding code execution inside the renderer. cwe_refs CWE-843; cisa_kev true with kev_date 2024-02-06; active_exploitation confirmed. patch_available true, live_patch_available false, live_patch_notes: 'No vendor live-patch mechanism; remediation requires applying the vendor fixed release.'",
47109
+ "gap_closes": [
47110
+ "AU-Essential-8-Patch",
47111
+ "UK-CAF-B4"
47112
+ ]
47113
+ },
47114
+ {
47115
+ "id": "NEW-CTRL-001",
47116
+ "name": "CISA-KEV-RESPONSE-SLA",
47117
+ "description": "For this entry the clock is the load-bearing half. The packet records no public PoC alongside confirmed in-the-wild exploitation, so an estate that prioritises by CVSS band alone files an 8.8 browser bug into the routine desktop-software cycle while it is actually being exploited — and the packet's RWEP of 55 sitting below the CVSS band is exactly the reading that invites the deferral. Bound to this product, the control means Chrome carries the same KEV-driven remediation clock an internet-facing server would: the vendor fixed release is available per the packet, so the deadline runs from the 2024-02-06 KEV listing rather than from the next scheduled application-update window. Because the packet registers no live-patch mechanism and no vendor mitigation rule, there is no intermediate state an operator can claim against that clock — an endpoint is either running the fixed release or fully exposed to the crafted-HTML path, and the clock has to be measured against the former.",
47118
+ "evidence": "Packet: cisa_kev true, kev_date 2024-02-06, active_exploitation confirmed, poc_available false, CVSS 8.8, RWEP 55, ai_discovered false. patch_available true, live_patch_available false, live_patch_notes: 'No vendor live-patch mechanism; remediation requires applying the vendor fixed release.'",
47119
+ "gap_closes": [
47120
+ "NIST-800-53-SI-2",
47121
+ "NIS2-Art21-patch-management",
47122
+ "ISO-27001-2022-A.8.8"
47123
+ ]
47124
+ }
47125
+ ]
46503
47126
  },
46504
47127
  "CVE-2022-48618": {
46505
47128
  "name": "Apple Multiple Products Memory Corruption Vulnerability",
@@ -46704,7 +47327,31 @@
46704
47327
  "adequate": false,
46705
47328
  "gap": "System-security assurance for the application does not mandate WAF/virtual-patching that would blunt the OGNL-injection request pattern before the vendor fix is applied."
46706
47329
  }
46707
- }
47330
+ },
47331
+ "new_control_requirements": [
47332
+ {
47333
+ "id": "NEW-CTRL-032",
47334
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
47335
+ "description": "Confluence Data Center and Server on an affected older version is the asset, and the packet describes what an operator inherits after exploitation rather than only the defect: an unauthenticated POST to /template/aui/text-inline.vm carrying an OGNL expression is evaluated server-side and executes arbitrary OS commands, which the packet records as being used to drop miners, C2 implants or webshells. Those payloads do not live in the vulnerable template path, so applying the vendor fixed release removes the injection point and leaves them running. Bound to this product, the control means an instance that was reachable by an unauthenticated caller while on an affected version is handled as a suspected compromise: rebuilt from a known-good baseline instead of upgraded in place, with the credentials and integration tokens the instance held rotated, since arbitrary OS command execution runs with the Confluence process's access to them. Precondition, and this is where the runbook is habitually under-triggered: the trigger is unauthenticated reachability during the exposure window, not an observed webshell — the packet records a public PoC and confirmed in-the-wild exploitation, and an implant that survives an in-place upgrade also outlives the logs that would have shown its arrival, so 'we found nothing' is not the same evidence as 'nothing happened'. Distinguishing test: take an instance recorded as remediated and ask what was done besides the version change. An upgrade ticket closed against the KEV listing satisfies every patch-management attestation cited on this entry while a webshell dropped before the upgrade still answers.",
47336
+ "evidence": "Packet: 'Atlassian Confluence Data Center and Server Template Injection Vulnerability', CWE-74, with the recorded path 'An unauthenticated attacker sends a POST to /template/aui/text-inline.vm containing an OGNL expression; Confluence evaluates the template server-side, executing arbitrary OS commands that are used to drop miners, C2 implants or webshells.' The vector states the flaw 'allows an unauthenticated attacker to achieve RCE on an affected instance' and that 'Customers using an affected version must take immediate action.' CISA KEV-listed 2024-01-24, active_exploitation confirmed, poc_available true, CVSS 9.8, RWEP 75. patch_available true, live_patch_available false, live_patch_notes: 'No vendor live-patch mechanism; remediation requires applying the vendor fixed release.' Cited as insufficient on this entry: NIST SP 800-53 Rev 5 SI-2 (flaw remediation), ISO/IEC 27001:2022 A.8.8, EU DORA Art. 9 (ICT risk management framework).",
47337
+ "gap_closes": [
47338
+ "NIST-800-53-SI-2",
47339
+ "ISO-27001-2022-A.8.8",
47340
+ "DORA-Art-9"
47341
+ ]
47342
+ },
47343
+ {
47344
+ "id": "NEW-CTRL-001",
47345
+ "name": "CISA-KEV-RESPONSE-SLA",
47346
+ "description": "The clock attaches to the asset the packet names — Confluence Data Center and Server instances on an affected older version — and runs from the 2024-01-24 KEV listing. There is no privilege, account or user-interaction precondition between an attacker and the sink: the packet's path is a single unauthenticated POST to /template/aui/text-inline.vm, so for any instance an unauthenticated caller can reach, the interval between listing and upgrade is the whole of the control. The packet records a vendor fixed release with no live-patch mechanism, which makes the upgrade the only clock-stopping action — there is no rule to deploy in the meantime and none should be recorded as one. Completion has to be measured as the version actually serving requests on each instance, not a change ticket raised, because the packet's own vector says recent supported versions are unaffected as the flaw was mitigated during regular version updates: that makes 'we are on a supported version' a per-instance claim to verify, and the routine multi-week remediation window the cited patch controls sanction is the specific thing that fails against a KEV-listed unauthenticated RCE with a public PoC. Precondition: an accelerated SLA bounds the window going forward and does nothing for the instances that were already reachable before it started — those belong on the compromise-assumption path above, not on this one. Distinguishing test: pick an instance recorded as compliant and query the version it is actually serving, rather than reading the version field the inventory carries.",
47347
+ "evidence": "Packet: CISA KEV-listed 2024-01-24 with active_exploitation confirmed; CVSS 9.8, RWEP 75, poc_available true. Vector: 'A template injection vulnerability on older versions of Confluence Data Center and Server allows an unauthenticated attacker to achieve RCE on an affected instance. Customers using an affected version must take immediate action... Most recent supported versions of Confluence Data Center and Server are not affected by this vulnerability as it was ultimately mitigated during regular version updates.' Recorded path: an unauthenticated POST to /template/aui/text-inline.vm containing an OGNL expression. patch_available true, live_patch_available false, live_patch_notes: 'No vendor live-patch mechanism; remediation requires applying the vendor fixed release.' Cited as insufficient on this entry: ASD Essential Eight 'Patch operating systems', EU NIS2 Art. 21 vulnerability handling and disclosure, UK CAF B4 (system security).",
47348
+ "gap_closes": [
47349
+ "AU-Essential-8-Patch",
47350
+ "NIS2-Art21-patch-management",
47351
+ "UK-CAF-B4"
47352
+ ]
47353
+ }
47354
+ ]
46708
47355
  },
46709
47356
  "CVE-2024-23222": {
46710
47357
  "name": "Apple Multiple Products WebKit Type Confusion Vulnerability (CVE-2024-23222)",
@@ -47195,7 +47842,39 @@
47195
47842
  "adequate": false,
47196
47843
  "gap": "Technical-vulnerability management did not prioritise a critical, PoC-available SharePoint auth bypass ahead of its ransomware weaponization."
47197
47844
  }
47198
- }
47845
+ },
47846
+ "new_control_requirements": [
47847
+ {
47848
+ "id": "NEW-CTRL-129",
47849
+ "name": "ENTERPRISE-ERP-MANAGEMENT-FUNCTION-AUTHENTICATION",
47850
+ "description": "SharePoint Server's token validation is where the product makes its authentication decision, and this CVE is that decision failing open: the packet has an unauthenticated attacker presenting a spoofed JWT whose signature is not properly validated, being granted administrator context, and then chaining CVE-2023-24955 code injection to reach remote code execution. Bound to this product, the control means each administrative function on the server establishes its caller's authority itself — the identity a token asserts is only usable once the signature and issuer behind it have been validated at the point the privileged function runs — instead of inheriting an 'administrator' verdict settled once at the front door; and that the server's administrative surface is segmented so an untrusted caller cannot present that token to it at all. This is precisely why the identity and authentication controls cited as insufficient here never engage: the attacker holds no SharePoint account, so nothing in the account model is misused, no credential is guessed and no second factor is ever requested — an authentication-assurance attestation and an identity-and-access review both pass cleanly while an unauthenticated caller sits in administrator context. Distinguishing test: from a segment with no operational need to reach the SharePoint administrative surface, send a staging instance requests bearing a well-formed but invalidly-signed token and confirm each privileged function refuses before it executes; confirming that every named SharePoint administrator authenticates with MFA tests nothing on this path. Precondition: the signature-validation repair is the vendor's, and the packet records a fixed release with no live-patch mechanism that requires a reboot — this control names the property to verify and the segmentation that bounds who can attempt the forgery, it does not implement the fix. Segmentation limits the caller population and closes nothing for anything already inside the permitted segment.",
47851
+ "evidence": "Packet: 'Microsoft SharePoint Server Privilege Escalation Vulnerability', CWE-303, vector 'Microsoft SharePoint Server Elevation of Privilege Vulnerability'. Recorded path: 'An unauthenticated attacker presents a spoofed JWT whose signature is not properly validated by SharePoint, is granted administrator context, and can then chain CVE-2023-24955 code injection to reach remote code execution.' CISA KEV-listed 2024-01-10, active_exploitation confirmed, poc_available true, CVSS 9.8, RWEP 78. patch_available true, live_patch_available false, live_patch_notes: 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.' Cited as insufficient on this entry: NIST SP 800-63B Rev 4 (authentication and lifecycle management, AAL/IAL/FAL) and UK CAF B2 (identity and access control).",
47852
+ "gap_closes": [
47853
+ "NIST-800-63B-rev4",
47854
+ "UK-CAF-B2"
47855
+ ]
47856
+ },
47857
+ {
47858
+ "id": "NEW-CTRL-001",
47859
+ "name": "CISA-KEV-RESPONSE-SLA",
47860
+ "description": "For this entry the clock runs from the 2024-01-10 KEV listing across every SharePoint Server on an affected build, and completion is measured per server as the running build plus a completed restart — the packet records no live-patch mechanism and states remediation requires applying the fixed release and rebooting, so a server that installed the update and has not restarted still runs the vulnerable code and has to be counted as exposed. On a collaboration server that users are working in through the day, that restart is the step most likely to be deferred, and a deferral recorded as 'patched' is the specific way this remediation goes wrong. Priority follows what the packet records rather than the maintenance calendar: a public PoC, confirmed in-the-wild exploitation, and an unauthenticated caller reaching administrator context with a documented chain onward into code execution, which is not a monthly-rollup item. Precondition: the SLA governs the window from listing forward and settles nothing about servers that were already reachable by an unauthenticated caller on an affected build — the packet's chain terminates in remote code execution, so those servers are a triage question, not a patching one, and closing them on the update ticket is what the compromise-assumption control below exists to prevent.",
47861
+ "evidence": "Packet: CISA KEV-listed 2024-01-10 with active_exploitation confirmed; CVSS 9.8, RWEP 78, poc_available true. patch_available true, live_patch_available false, live_patch_notes: 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.' Recorded path: an unauthenticated attacker presents a spoofed JWT whose signature is not properly validated, is granted administrator context, and can chain CVE-2023-24955 code injection to reach remote code execution. Cited as insufficient on this entry: ASD Essential Eight 'Patch operating systems', ISO/IEC 27001:2022 A.8.8, EU NIS2 Art. 21 vulnerability handling and disclosure.",
47862
+ "gap_closes": [
47863
+ "AU-Essential-8-Patch",
47864
+ "ISO-27001-2022-A.8.8",
47865
+ "NIS2-Art21-patch-management"
47866
+ ]
47867
+ },
47868
+ {
47869
+ "id": "NEW-CTRL-032",
47870
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
47871
+ "description": "The packet's chain does not stop at elevated privilege — it terminates in remote code execution through CVE-2023-24955, with exploitation confirmed and a PoC public. Applying the fixed release settles the signature-validation defect; it does not answer whether an unauthenticated caller already reached administrator context on that server, and whatever followed does not live in the code the update replaces, so it survives the update and the reboot. Bound to this product, the control means a SharePoint Server that was reachable by an unauthenticated caller while on an affected build is triaged as a suspected compromise rather than closed on the patch ticket: server content and configuration compared against a known-good baseline, and the credentials and secrets the server held rotated, because the chain's recorded end state is code execution on that server. Precondition and honest limit: the packet records the end state as remote code execution and does not record what an attacker left behind, so the trigger for this runbook is unauthenticated reachability during the exposure window — not an observed implant, which is exactly the evidence a server with code execution on it is in a position to remove. The rebuild half also has an ordering constraint worth stating: if the triage is skipped now and the question is reopened later, a rebuild taken from a baseline that was already modified reproduces the modification rather than removing it.",
47872
+ "evidence": "Packet: recorded path is 'An unauthenticated attacker presents a spoofed JWT whose signature is not properly validated by SharePoint, is granted administrator context, and can then chain CVE-2023-24955 code injection to reach remote code execution.' CISA KEV-listed 2024-01-10, active_exploitation confirmed, poc_available true, CVSS 9.8, RWEP 78. patch_available true, live_patch_available false, live_patch_notes: 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.' The packet records no implant, tooling or post-exploitation artifact for this entry — the chain's stated end state is remote code execution. Cited as insufficient on this entry: EU NIS2 Art. 21 vulnerability handling and disclosure.",
47873
+ "gap_closes": [
47874
+ "NIS2-Art21-patch-management"
47875
+ ]
47876
+ }
47877
+ ]
47199
47878
  },
47200
47879
  "CVE-2023-46805": {
47201
47880
  "name": "Ivanti Connect Secure and Policy Secure Authentication Bypass Vulnerability",
@@ -48108,7 +48787,31 @@
48108
48787
  "adequate": false,
48109
48788
  "gap": "Technical vulnerability management closed the first advisory but not the request-smuggling primitive the incomplete fix left reachable until the follow-up patch."
48110
48789
  }
48111
- }
48790
+ },
48791
+ "new_control_requirements": [
48792
+ {
48793
+ "id": "NEW-CTRL-129",
48794
+ "name": "ENTERPRISE-ERP-MANAGEMENT-FUNCTION-AUTHENTICATION",
48795
+ "description": "Qlik Sense Enterprise for Windows terminates the raw HTTP request in a front tier and hands work to the backend server hosting the repository application, and this CVE is that split failing: the packet describes an attacker tunneling an HTTP request inside the raw HTTP request so the backend executes it, under the service account, with elevated privilege. The inner request never passes the front tier's authorization decision, so the backend acts on a caller nothing authorized. Bound to this product, the control means the repository application's privileged operations authorize their own caller rather than inheriting a verdict from the tier that fronts them, and the Qlik front-end surface answers only from segments with an operational need to reach it, so an untrusted caller cannot present a raw request to that tier at all. The least-privilege gap recorded against this entry does not close this path: the tunneled request runs under the Qlik service account, and chained with the CVE-2023-41266 anonymous-session flaw the packet names, the attacker holds no Qlik account, so per-user privilege scoping is never consulted and an AC-6 attestation passes cleanly while the path stays open. Distinguishing test: from a segment with no business need to reach the analytics platform, send a staging deployment a raw request carrying a second, tunneled request aimed at a privileged repository endpoint and confirm the backend refuses it before the operation runs, rather than relying on the front tier having stripped it. Precondition: consistent request parsing between the two tiers is a property the vendor fixed release establishes — this control states what to verify and where to segment, it does not repair the parser. Until the fixed build is in place, restricting reachability bounds who can send the raw request but leaves the tunneling path fully exploitable to anything inside the permitted segment, and it is unavailable where the deployment must serve a broad user population.",
48796
+ "evidence": "Packet: CWE-444; an HTTP Request Tunneling flaw in Qlik Sense Enterprise for Windows allowing a remote attacker to elevate privilege by tunneling HTTP requests in the raw HTTP request, sending requests that get executed by the backend server hosting the repository application. The packet's attack path adds that execution occurs under the service account and that, combined with the CVE-2023-41266 anonymous session, it yields unauthenticated remote code execution. CISA KEV-listed 2023-12-07, active_exploitation confirmed, poc_available true, RWEP 70 against CVSS 9.9.",
48797
+ "gap_closes": [
48798
+ "NIST-800-53-AC-6",
48799
+ "NIST-800-53-SC-7"
48800
+ ]
48801
+ },
48802
+ {
48803
+ "id": "NEW-CTRL-001",
48804
+ "name": "CISA-KEV-RESPONSE-SLA",
48805
+ "description": "The packet names five maintenance tracks with a different fixed build on each — August 2023 IR, May 2023 Patch 4, February 2023 Patch 8, November 2022 Patch 11, August 2022 Patch 13 — so on this CVE the SLA's failure mode is a mis-measured deadline rather than a missed one. A server sitting on November 2022 Patch 10 is current by its own track's reckoning and still carries the tunneling path. Applied here, the remediation clock opened by the 2023-12-07 KEV listing is measured per deployment against the fixed build named for that deployment's own track, not against whether the deployment is up to date within its track. The packet records a vendor fixed release and no live-patch mechanism, so nothing closes this without taking each deployment through the update; during that window the compensating half of the control is restricting who can reach the Qlik front end, which bounds the attacker population and does not close the flaw. Distinguishing test: produce, per Qlik Sense Enterprise deployment, its maintenance track and its installed build, and compare each against the fixed build named for that track — an estate whose patch report shows every server current has not answered this question. And because active exploitation is confirmed and the packet has the tunneled request executing under the service account, a deployment reachable during the exposure window is not remediated by the update alone: the update closes the path but removes nothing already done through it, so such a server needs forensic triage and service-account credential rotation rather than being closed on the patch.",
48806
+ "evidence": "Packet: affected versions are May 2023 Patch 3 and earlier, February 2023 Patch 7 and earlier, November 2022 Patch 10 and earlier, and August 2022 Patch 12 and earlier; the fix is recorded as August 2023 IR, May 2023 Patch 4, February 2023 Patch 8, November 2022 Patch 11, and August 2022 Patch 13. CISA KEV-listed 2023-12-07, active_exploitation confirmed, poc_available true, RWEP 70 against CVSS 9.9. patch_available true, live_patch_available false, live_patch_notes: no vendor live-patch mechanism, remediation requires applying the vendor fixed release. The packet's attack path records execution under the service account.",
48807
+ "gap_closes": [
48808
+ "AU-Essential-8-Patch",
48809
+ "ISO-27001-2022-A.8.8",
48810
+ "NIST-800-53-SI-2",
48811
+ "NIS2-Art21-vulnerability-management"
48812
+ ]
48813
+ }
48814
+ ]
48112
48815
  },
48113
48816
  "CVE-2023-33107": {
48114
48817
  "name": "Qualcomm Multiple Chipsets Integer Overflow Vulnerability",
@@ -48246,7 +48949,30 @@
48246
48949
  "adequate": false,
48247
48950
  "gap": "Technical vulnerability management presumes an available remediation path, but here it is gated behind OEM firmware rebuilds, leaving a long unremediable exposure."
48248
48951
  }
48249
- }
48952
+ },
48953
+ "new_control_requirements": [
48954
+ {
48955
+ "id": "NEW-CTRL-126",
48956
+ "name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
48957
+ "description": "The packet's trigger is a local, low-privileged Android app submitting an oversized sync-point list in an IOCTL_KGSL_GPU_AUX_COMMAND to the Adreno GPU (KGSL) driver, and the fix does not originate with the operator: the packet records remediation as the OEM firmware/OS update carrying Qualcomm's fix, plus a device reboot. That routing makes the access-condition half of this control the load-bearing half — for a device model whose OEM has not yet shipped that build, there is no patch to deploy and the operator's only remaining lever is withholding organizational data from the handset. The fixed build must therefore function as an access condition, with mail, VPN and document access denied to any device below the OEM build carrying the fix, rather than as a row on a patch-compliance report. Distinguishing test: enrol a handset pinned to a pre-fix OEM build and confirm the policy actually denies it access to protected resources; an estate that surfaces the stale build on a dashboard while the device keeps its mail and VPN has recorded the exposure rather than removed it. Two preconditions this control cannot cross. First, the packet requires a reboot after the OEM update, so a device that has taken the update but not restarted still runs the vulnerable driver and must be counted as exposed, not compliant. Second, restricting which applications may be installed raises the bar for getting the attacker's app onto the handset but does not evict one already installed, so a device suspected of already running it belongs on the incident path rather than the install-policy path. There is also no disable-the-component option to fall back on here: KGSL is the GPU path the device renders through, so unlike a discretionary kernel module it cannot be blocked or unloaded while waiting for the OEM build.",
48958
+ "evidence": "Packet: CWE-823 and CWE-119, memory corruption while submitting a large list of sync points in an AUX command to the IOCTL_KGSL_GPU_AUX_COMMAND. The packet's attack path is a local, low-privileged Android app submitting that oversized sync-point list to the Adreno GPU (KGSL) driver, causing an out-of-range pointer write corralled into a privilege-escalation primitive. CISA KEV-listed 2023-12-05, active_exploitation confirmed, poc_available false, RWEP 57 against CVSS 7.8. patch_available true and live_patch_available false, with live_patch_notes stating there is no live-patch mechanism for chipset drivers and that remediation requires the OEM firmware/OS update carrying Qualcomm's fix and a device reboot.",
48959
+ "gap_closes": [
48960
+ "AU-Essential-8-Patch",
48961
+ "UK-CAF-B4",
48962
+ "ISO-27001-2022-A.8.8"
48963
+ ]
48964
+ },
48965
+ {
48966
+ "id": "NEW-CTRL-001",
48967
+ "name": "CISA-KEV-RESPONSE-SLA",
48968
+ "description": "This control's clock — mitigation within four hours of KEV listing or patch availability, whichever is later — is the right shape for this CVE only if patch availability is read per device model. The packet routes the fix through the OEM: remediation is the OEM firmware/OS update carrying Qualcomm's fix plus a reboot, so the 2023-12-05 KEV listing is not a date on which any operator could deploy anything. Applied here the SLA has to be written in two parts: documented compensating controls in force from the KEV listing for every affected handset, and the binary update measured against a per-model availability date the estate tracks itself, because no single date covers a fleet spanning multiple OEMs and models. Distinguishing test: for each affected device model in the fleet, produce the date its OEM published the build carrying Qualcomm's fix and the date that model's devices reached it; a programme that records one KEV due date across the whole fleet can produce neither number, and will report models whose OEM never shipped the build as merely late rather than as unremediated with no remaining patch path. Precondition: the compensating-controls half is what actually holds during that gap, and on this CVE it reduces to controlling what the device is trusted with — the packet's exploit needs only a locally installed low-privileged app on the handset, so no network-boundary measure sits anywhere in the path, and an SLA that logs a network control as the interim mitigation here has recorded something that does not touch the exploit.",
48969
+ "evidence": "Packet: CISA KEV-listed 2023-12-05 with active_exploitation confirmed; poc_available false; RWEP 57 against CVSS 7.8. patch_available true, live_patch_available false, and live_patch_notes recording that there is no live-patch mechanism for chipset drivers and that remediation requires the OEM firmware/OS update carrying Qualcomm's fix and a device reboot. The packet's attack path establishes the only access requirement as a local, low-privileged Android app issuing IOCTL_KGSL_GPU_AUX_COMMAND to the Adreno GPU (KGSL) driver.",
48970
+ "gap_closes": [
48971
+ "NIST-800-53-SI-2",
48972
+ "NIS2-Art21-patch-management"
48973
+ ]
48974
+ }
48975
+ ]
48250
48976
  },
48251
48977
  "CVE-2023-33063": {
48252
48978
  "name": "Qualcomm Multiple Chipsets Use-After-Free Vulnerability (DSP Services)",
@@ -48728,7 +49454,39 @@
48728
49454
  "adequate": false,
48729
49455
  "gap": "Technical vulnerability management must prioritize a ubiquitous library flaw with a public root-shell PoC, yet fleet-wide glibc remediation is operationally heavy and easily deprioritized."
48730
49456
  }
48731
- }
49457
+ },
49458
+ "new_control_requirements": [
49459
+ {
49460
+ "id": "NEW-CTRL-142",
49461
+ "name": "SUID-MINIMIZATION-FOR-KERNEL-LPE-CARRIER-BINARIES",
49462
+ "description": "The carrier for this escalation is the binary, not the account. The packet's path requires a local user to launch a binary carrying the SUID bit with a maliciously crafted GLIBC_TUNABLES value in its environment, and ld.so performs the overflow while parsing those tunables inside the already-privileged process. Applied to an affected glibc estate, the control means enumerating every setuid-root binary on each host and removing the bit from those whose function does not require it, so the set of privileged processes an unprivileged user can drive through the tunables parser shrinks during the window before the distribution's patched package lands. The packet records this as one of the two available stop-gaps, alongside the vendor's GLIBC_TUNABLES handling. This is also why the cited least-privilege control does not reach the flaw: AC-6 grades what accounts are permitted to do, and the account here is an ordinary unprivileged one — the privilege transition comes from the binary's mode bits, which no account-scoped attestation examines. Distinguishing test: enumerate the setuid-root binaries on a representative host and produce, per binary, either the removed bit or a written operational need; an estate whose least-privilege evidence is a role matrix passes cleanly while every local user still holds a set of privileged carriers. Preconditions: removal helps only for binaries that actually lose the bit — any binary that must stay setuid-root for the host to function still presents the caller's environment to the loader, so the path stays open there and the estate must know which those are rather than assume the sweep was complete. It gives nothing on a host where escalation has already occurred, and it is a holding measure for the window before the patched glibc package and the reboot or service restart it requires, not a substitute for them.",
49463
+ "evidence": "GNU C Library Buffer Overflow Vulnerability (CWE-122 / CWE-787), CISA KEV-listed 2023-11-21, active exploitation confirmed, public PoC available, CVSS 7.8, RWEP 78. The packet's vector record: a buffer overflow in the GNU C Library's dynamic loader ld.so while processing the GLIBC_TUNABLES environment variable, allowing a local attacker to use maliciously crafted GLIBC_TUNABLES environment variables when launching binaries with SUID permission to execute code with elevated privileges. The packet's live-patch record states no userspace live-patch tool exists and names the stop-gap as removing setuid bits or setting GLIBC_TUNABLES handling per vendor mitigation.",
49464
+ "gap_closes": [
49465
+ "NIST-800-53-AC-6",
49466
+ "UK-CAF-B4"
49467
+ ]
49468
+ },
49469
+ {
49470
+ "id": "NEW-CTRL-001",
49471
+ "name": "CISA-KEV-RESPONSE-SLA",
49472
+ "description": "For this entry the clock runs from the 2023-11-21 KEV listing to the point where each affected host is running the distribution's patched glibc and has taken the reboot or service restart the packet names — not to the point where the package is approved, downloaded, or shown as installed. The packet registers no live-patch tool and states that kernel live-patching does not cover glibc, so an estate that meets its uptime obligations through a live-patching product holds no equivalent lever here: the restart cannot be traded away, and deferring it to the next maintenance window is the specific way this remediation is recorded as done while the packet's own completion criterion is unmet. Sequence by where the exploit's single precondition is the normal operating state rather than an anomaly: hosts carrying many interactive local accounts — shared shell, build and jump hosts — before single-user endpoints, because a local user account is all the packet requires and a public PoC exists against confirmed in-the-wild exploitation. Where the restart genuinely cannot be taken inside the clock, the packet's stop-gap — setuid-bit removal or the vendor GLIBC_TUNABLES handling — must be recorded as an active compensating control with a dated removal, not as remediation.",
49473
+ "evidence": "CISA KEV-listed 2023-11-21 with active exploitation confirmed and a public PoC available; CVSS 7.8, RWEP 78. Patch available. The packet's live-patch record: no userspace live-patch tool, kernel live-patching does not cover glibc, and remediation requires the distribution's patched glibc package followed by a reboot or restart of all affected services. The packet's attack-vector record places the trigger in a local user's invocation of a SUID-root binary with a crafted GLIBC_TUNABLES environment variable, yielding code execution with root privileges.",
49474
+ "gap_closes": [
49475
+ "AU-Essential-8-Patch",
49476
+ "NIST-800-53-SI-2",
49477
+ "NIS2-Art21-patch-management"
49478
+ ]
49479
+ },
49480
+ {
49481
+ "id": "NEW-CTRL-018",
49482
+ "name": "SCANNER-PAPER-COMPLIANCE-TEST",
49483
+ "description": "A scanner that reads the installed glibc package version and reports the host remediated answers half of what the packet requires. The packet's remediation is the patched package followed by a reboot or restart of all affected services, so a host whose package database shows the fixed build while that restart has not been taken has not met the stated completion criterion, yet it is counted green by a version-only check. The second half is the carrier surface: the flaw is reachable only through a binary carrying the SUID bit, so a vulnerability-management verdict for this CVE has to account for the setuid inventory and for whether the interim mitigation the packet names — setuid-bit removal or the vendor GLIBC_TUNABLES handling — was actually in place during the exposure window; a version-only scan cannot distinguish a host that carried that mitigation from one that never had it. Distinguishing test: take a host the scanner reports remediated and confirm both facts independently — the installed glibc is the distribution's fixed package, and the reboot or service restart occurred after it was installed. A technical-vulnerability attestation built on scanner output alone reports the pre-restart hosts as closed.",
49484
+ "evidence": "GNU C Library dynamic loader ld.so, CISA KEV-listed 2023-11-21, active exploitation confirmed, public PoC available, CVSS 7.8, RWEP 78, patch available. The packet's live-patch record states remediation requires the distribution's patched glibc package followed by a reboot or restart of all affected services, with no live-patch tool available, and names removing setuid bits or setting GLIBC_TUNABLES handling per vendor mitigation as the stop-gap. The packet's vector confines exploitation to launching binaries with SUID permission.",
49485
+ "gap_closes": [
49486
+ "ISO-27001-2022-A.8.8"
49487
+ ]
49488
+ }
49489
+ ]
48732
49490
  },
48733
49491
  "CVE-2023-36584": {
48734
49492
  "name": "Microsoft Windows Mark of the Web (MOTW) Security Feature Bypass Vulnerability (CVE-2023-36584)",
@@ -49327,7 +50085,42 @@
49327
50085
  "adequate": false,
49328
50086
  "gap": "Technical vulnerability management patches the CVE but does not mandate removing the exposed management plane the exploit chain depends on."
49329
50087
  }
49330
- }
50088
+ },
50089
+ "new_control_requirements": [
50090
+ {
50091
+ "id": "NEW-CTRL-030",
50092
+ "name": "PERIMETER-DEVICE-ZERODAY-SLA-TIER",
50093
+ "description": "SRX Series are firewalls and EX Series are the switches behind them, and the packet's J-Web flaw is pre-authentication remote code execution on that hardware — the device enforcing the boundary is the device being taken, so the ordinary 14- or 30-day appliance patch window does not apply to it. For these units the requirement is the Junos fixed release for the affected train deployed with the reboot the packet says remediation requires, on a clock that opened with the 2023-11-13 KEV listing, or J-Web reachability cut until that reboot completes. Reachability is the entire exploit precondition: the packet's attacker is unauthenticated and network-based and reaches the PHPRC-setting request through J-Web, so restricting which segments can present an HTTP request to that interface bounds who can attempt the chain. Precondition, and this is where the lever is routinely over-claimed: restricting reachability repairs nothing in the PHP external-variable handling. Any host inside the permitted management segment still reaches the flaw in full, so a compromised administrator workstation or jump host satisfies the attacker's only stated access requirement; and the lever is unavailable at all on units where J-Web is the operational management path. It is a holding measure for the window before the fixed release and reboot land, not a closure. Distinguishing test: from every segment that can route to the device, attempt to load J-Web on a staging unit — anything that answers is inside the published exploit's reach, and an appliance-patch attestation that records the fixed image as staged or downloaded while the unit has not rebooted is still describing a device running the vulnerable code.",
50094
+ "evidence": "Packet: CISA KEV listed 2023-11-13, active_exploitation 'confirmed', CVSS 9.8, RWEP 79, poc_available true. vector: 'A PHP External Variable Modification vulnerability in J-Web of Juniper Networks Junos OS on EX Series and SRX Series allows an unauthenticated, network-based attacker to remotely execute code', with per-train fixed releases enumerated. patch_available true, live_patch_available false, live_patch_notes 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.'",
50095
+ "gap_closes": [
50096
+ "NIST-800-53-SI-2",
50097
+ "ISO-27001-2022-A.8.8",
50098
+ "DORA-Art-9",
50099
+ "UK-CAF-B4"
50100
+ ]
50101
+ },
50102
+ {
50103
+ "id": "NEW-CTRL-032",
50104
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
50105
+ "description": "The packet's exploitation path writes to the device before any code runs, and the upgrade does not undo that: the attacker sets PHPRC through a crafted J-Web request so the PHP execution environment loads a planted configuration whose auto_prepend_file executes a payload uploaded earlier. Both the planted configuration and the uploaded payload are files on the EX or SRX filesystem, and installing the fixed Junos release closes the PHPRC path while leaving whatever was staged through it in place. So for any EX or SRX unit whose J-Web was reachable from an untrusted segment during the exposure window opened by the 2023-11-13 KEV listing, the default response is config-exfil and rebuild rather than upgrade-in-place: extract the running and stored configuration for offline comparison against a known-good baseline, rebuild from vendor image plus that baseline, and rotate every credential and key the unit holds — local administrative accounts, any RADIUS/TACACS or SNMP shared secrets it is configured with, VPN pre-shared keys, and stored certificates. The packet records poc_available true alongside confirmed in-the-wild exploitation, so an exposed unit should be treated as having had the chain attempted, and the chain's second stage requires the attacker to have already written to the box. Precondition: this presumes a known-good baseline exists to compare against — a unit with no captured baseline can be rebuilt but cannot be cleared, so an unremarkable file listing is not evidence it is clean. Distinguishing test: on an exposed unit, diff the on-device file set and configuration against the baseline before the upgrade; a flaw-remediation attestation showing every EX and SRX at the fixed release proves the PHPRC path is closed and says nothing about a payload staged before it was.",
50106
+ "evidence": "Packet: attack_vector states the attacker 'sets the PHPRC environment variable via a crafted J-Web request to load a planted PHP config (auto_prepend_file) that executes a previously uploaded payload, achieving remote code execution on SRX/EX devices'. active_exploitation 'confirmed', poc_available true, KEV listed 2023-11-13. patch_available true with live_patch_available false and remediation requiring the fixed release plus reboot.",
50107
+ "gap_closes": [
50108
+ "NIST-800-53-SI-2",
50109
+ "UK-CAF-B4",
50110
+ "NIS2-Art21-network-security"
50111
+ ]
50112
+ },
50113
+ {
50114
+ "id": "NEW-CTRL-134",
50115
+ "name": "DEVICE-MANAGEMENT-GATEWAY-CONFIG-ENDPOINT-AUTH-INPUT-NEUTRALIZATION",
50116
+ "description": "J-Web is the device-management gateway on these EX and SRX units, and this CVE is that gateway letting request-supplied input reach the interpreter's own execution environment before any caller is authenticated: a crafted request sets PHPRC and redirects which PHP configuration is loaded. Bound to this product, the control means no J-Web request parameter is permitted to select or modify the PHP execution environment, and every endpoint on the device that accepts file content authorises its caller before the content is stored — the packet's chain needs both halves, an earlier upload and an unauthenticated request that points the interpreter at it, so an endpoint-side fix on either one breaks it. The user-application-hardening gap cited on this entry does not reach here at all: that control governs the browsers, Office and PDF handlers on operator workstations, and the vulnerable application is the appliance's own web management interface, which no workstation-hardening attestation examines. Precondition: the endpoint-side authorisation and input neutralisation are properties the Junos fixed release establishes — this control states what to verify, it does not implement it. The operator-side lever before that release lands is least functionality: J-Web disabled outright on units genuinely managed by another channel (console, SSH CLI, or a management platform), which removes the delivery path on those units only, is unavailable where J-Web is the management path, and does nothing for a unit already exploited during the exposure window, since disabling the interface afterwards does not remove what was written to the filesystem. Distinguishing test: against a staging unit, issue unauthenticated J-Web requests carrying environment-influencing parameters and confirm each is refused before the PHP environment is consulted.",
50117
+ "evidence": "Packet: CWE-473 (PHP External Variable Modification); vector states 'Using a crafted request which sets the variable PHPRC an attacker is able to modify the PHP execution environment allowing the injection und execution of code', reached by an unauthenticated, network-based attacker through J-Web on EX Series and SRX Series. attack_vector adds that the executed payload was 'previously uploaded'. AU-Essential-8-App-Hardening (User application hardening) and NIST-800-53-CM-7 (Least Functionality) are recorded among the citing framework gaps. patch_available true; live_patch_available false.",
50118
+ "gap_closes": [
50119
+ "AU-Essential-8-App-Hardening",
50120
+ "NIST-800-53-CM-7"
50121
+ ]
50122
+ }
50123
+ ]
49331
50124
  },
49332
50125
  "CVE-2023-36846": {
49333
50126
  "name": "Juniper Junos OS SRX J-Web Missing Authentication File Upload",
@@ -50000,7 +50793,31 @@
50000
50793
  "adequate": false,
50001
50794
  "gap": "Technical-vulnerability-management that closes on 'patched' fails to include the mandatory session-invalidation step, so the residual token-replay risk persists."
50002
50795
  }
50003
- }
50796
+ },
50797
+ "new_control_requirements": [
50798
+ {
50799
+ "id": "NEW-CTRL-030",
50800
+ "name": "PERIMETER-DEVICE-ZERODAY-SLA-TIER",
50801
+ "description": "A NetScaler ADC or Gateway configured as a VPN virtual server, ICA Proxy, CVPN, RDP Proxy or AAA virtual server is the authentication boundary for the applications behind it, so the standard 14/30-day windows the citing patch controls grade against are the wrong clock: the device is not protected by the perimeter, it is the perimeter, and the packet's request is unauthenticated and single-shot. This CVE argues for a distinct tier — for an internet-reachable appliance in one of those roles, either the fixed release is running or the exposed virtual server's public interface is taken offline, within hours of the 2023-10-18 KEV listing, with that shutdown pre-authorized so an on-call engineer can take it without a change window. The tier must be driven by configured role rather than product name: the packet ties the disclosure specifically to the Gateway and AAA virtual-server configurations, so an asset record showing only that a NetScaler exists cannot select the affected population — the inventory has to record which virtual servers are published and in which role. The completion criterion is the reboot, not the upload: the packet records no vendor live-patch mechanism and states remediation requires applying the fixed release and rebooting, so an appliance staged with the fixed build but not rebooted is not remediated. Distinguishing test: produce the list of appliances with a Gateway or AAA virtual server configured and show, per appliance, the running release and the reboot timestamp — an estate whose patch evidence is a product-level inventory passes while the exposed virtual servers keep answering.",
50802
+ "evidence": "Citrix NetScaler ADC and NetScaler Gateway buffer overflow (CWE-119), CISA KEV-listed 2023-10-18, active exploitation confirmed, public PoC available, CVSS 7.5, RWEP 81, patch available. The packet's vector record scopes the sensitive information disclosure to appliances configured as a Gateway (VPN virtual server, ICA Proxy, CVPN, RDP Proxy) or AAA virtual server. The packet's attack-vector record: an unauthenticated attacker sends an oversized request to a Gateway/AAA endpoint, triggering an out-of-bounds read that returns leaked memory. The packet's live-patch record: no vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.",
50803
+ "gap_closes": [
50804
+ "AU-Essential-8-Patch",
50805
+ "NIST-800-53-SI-2",
50806
+ "ISO-27001-2022-A.8.8"
50807
+ ]
50808
+ },
50809
+ {
50810
+ "id": "NEW-CTRL-032",
50811
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
50812
+ "description": "The half of this control that binds here is the credential half, not the rebuild half, and the distinction is load-bearing: the packet establishes an out-of-bounds read that returns memory, not code execution on the appliance, so treating every exposed unit as carrying an implant would send operators after evidence the packet does not support. What the packet does establish is that the leaked memory contains valid session tokens which are replayed to hijack authenticated sessions and bypass MFA — and a token captured before the upgrade stays valid after it, because applying the fixed release stops further leakage and invalidates nothing already taken. Remediation for this CVE is therefore ordered: fixed release and reboot first, then invalidate every existing session on the appliance so leaked tokens cannot be replayed, then rotate the credentials and review the accounts reachable through the sessions the appliance was brokering. The replay produces no authentication event, which is exactly why the identity controls cited on this entry can pass their attestations while the path stays open — the second factor is never presented and no access decision is ever consulted, so evidence that every gateway user holds MFA says nothing about this exposure. Distinguishing test: on a staging appliance, capture a session token before the upgrade and replay it afterwards, confirming it is refused; an appliance recorded as remediated on release version alone still honours pre-upgrade tokens. Precondition: session invalidation stops replay of what leaked up to that moment — it does not undo actions already taken through a hijacked session, so any appliance that served a Gateway or AAA virtual server from an untrusted network on a vulnerable build needs the activity in that window reviewed rather than closed on the upgrade.",
50813
+ "evidence": "Citrix NetScaler ADC and NetScaler Gateway, CISA KEV-listed 2023-10-18, active exploitation confirmed, public PoC available, CVSS 7.5, RWEP 81, patch available. The packet's attack-vector record: 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. The packet's live-patch record: no vendor live-patch mechanism; remediation requires applying the fixed release and rebooting — an action that addresses the leak and not the tokens already obtained through it.",
50814
+ "gap_closes": [
50815
+ "NIS2-Art21-incident-handling",
50816
+ "UK-CAF-B2",
50817
+ "NIST-800-53-IA-2"
50818
+ ]
50819
+ }
50820
+ ]
50004
50821
  },
50005
50822
  "CVE-2023-20198": {
50006
50823
  "name": "Cisco IOS XE Web UI Privilege Escalation Vulnerability",
@@ -50057,7 +50874,41 @@
50057
50874
  "adequate": false,
50058
50875
  "gap": "ISM management-traffic-segregation guidance is widely unmet for edge routers, so the web UI remains internet-facing and abusable."
50059
50876
  }
50060
- }
50877
+ },
50878
+ "new_control_requirements": [
50879
+ {
50880
+ "id": "NEW-CTRL-032",
50881
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
50882
+ "description": "The packet describes precisely what survives an upgrade. After reaching the IOS XE web UI unauthenticated, the actor issued a privilege 15 command to create a local user and password combination, logged in with that account, then used CVE-2023-20273 to elevate to root and write an implant to the file system. Installing a fixed IOS XE release removes neither: the account is stored configuration and the implant is a file, and an in-place upgrade inherits both. So for any unit whose web UI was reachable during the exposure window opened by the 2023-10-16 KEV listing, the default response is config-exfil, rebuild and credential rotation rather than patch-and-close: export running and startup configuration for offline comparison against a known-good baseline, enumerate the locally defined users and their privilege levels against that baseline and treat any account not in it as attacker-created, rebuild from vendor image plus baseline configuration, and rotate every credential the device held — local accounts, enable and AAA secrets, any shared secrets, and stored certificates. Precondition: this presumes a captured known-good baseline to diff against; a device without one can be rebuilt but cannot be cleared, so the absence of an obviously extra account is not evidence the unit is clean. Distinguishing test: on an exposed unit, diff the on-device account list and filesystem against the baseline before the upgrade — an attestation that every IOS XE unit sits at a fixed release proves the initial-access path is closed while a privilege-15 account the attacker created still authenticates and the implant still runs, and that is the specific way an account-management or access-control review passes on this device while the compromise persists.",
50883
+ "evidence": "Packet: vector states 'The attacker first exploited CVE-2023-20198 to gain initial access and issued a privilege 15 command to create a local user and password combination... The attacker then exploited another component of the web UI feature, leveraging the new local user to elevate privilege to root and write the implant to the file system. Cisco has assigned CVE-2023-20273 to this issue.' CISA KEV listed 2023-10-16, active_exploitation 'confirmed', CVSS 10, RWEP 83, poc_available true. patch_available true, live_patch_available false, live_patch_notes 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.' NIST-800-53-AC-2, ISO-27001-2022-A.5.15 and UK-CAF-B2 are recorded among the citing framework gaps.",
50884
+ "gap_closes": [
50885
+ "NIST-800-53-AC-2",
50886
+ "ISO-27001-2022-A.5.15",
50887
+ "UK-CAF-B2",
50888
+ "NIS2-Art21-network-security"
50889
+ ]
50890
+ },
50891
+ {
50892
+ "id": "NEW-CTRL-030",
50893
+ "name": "PERIMETER-DEVICE-ZERODAY-SLA-TIER",
50894
+ "description": "The web UI is the entire initial-access path in this packet — an unauthenticated remote attacker reaches it and issues a privilege 15 command — and it is a feature of IOS XE that can be turned off. On the routers and switches carrying that software the exposure has to be graded at the trust boundary rather than as a generic OS patch item: the packet records CVSS 10, KEV listing on 2023-10-16, confirmed exploitation and a public PoC, so the requirement is the fixed IOS XE release deployed with the reboot the packet says remediation requires, on a clock that opens at the KEV listing — or the HTTP/HTTPS management server disabled, or its reachability cut, on every affected unit until that reboot completes. The standard 14- and 30-day appliance SLAs do not apply, because this device is the boundary everything behind it depends on. Precondition on the interim lever: disabling or restricting the web UI removes the delivery path only where the unit is genuinely managed by another channel — console, SSH CLI, or a management platform — and it is unavailable where the web UI is the operational management path. It also does nothing for a unit already compromised during the exposure window: the packet's attacker-created privilege-15 account lives in configuration and the implant on the filesystem, and both persist whether or not the interface is later turned off. Distinguishing test: from every segment that can route to the device, including any internet-facing interface, attempt to load the IOS XE web UI on a staging unit and confirm nothing answers — a patch-compliance report listing units as scheduled while the HTTP server still answers from an untrusted segment is measuring the wrong thing.",
50895
+ "evidence": "Packet: CVSS 10, RWEP 83, poc_available true, KEV listed 2023-10-16 with active_exploitation 'confirmed'. attack_vector: 'An unauthenticated remote attacker abuses the IOS XE web UI to issue a privilege-15 command that creates a local user/password...'. patch_available true (the vector notes the vendor 'updating the list of fixed releases and adding the Software Checker'), live_patch_available false with remediation requiring the fixed release and a reboot. NIST-800-53-CM-7 (Least Functionality), NIST-800-53-SC-7 (Boundary Protection) and AU-ISM-1546 are recorded among the citing framework gaps.",
50896
+ "gap_closes": [
50897
+ "NIST-800-53-CM-7",
50898
+ "NIST-800-53-SC-7",
50899
+ "AU-ISM-1546"
50900
+ ]
50901
+ },
50902
+ {
50903
+ "id": "NEW-CTRL-031",
50904
+ "name": "FIREWALL-EGRESS-TELEMETRY-SEPARATE-TRUST-ZONE",
50905
+ "description": "The packet names the exact record that decides whether an operator ever learns this happened: a privilege 15 command creating a local user and password combination. That is a configuration change the device itself emits — and the same chain ends with the attacker at root on that device, able to alter or suppress anything it retains locally. So IOS XE configuration-change and account-creation records must be forwarded as they are generated to a collector in a separate trust zone — different management plane, different credentials, no path from a rooted router back to the stored copy — with retention long enough to cover a window that here runs from the 2023-10-16 KEV listing back to whenever the unit first became reachable. Key the alert on the behaviour the packet documents rather than on a tool signature: a new locally defined user appearing on a network device outside a change window, and configuration writes not attributable to a known administrator session. Precondition: this detects, it does not prevent — nothing here stops the unauthenticated request — and it degrades exactly where it matters most, because an attacker who reached root can stop the device sending anything further, so a device going quiet is a reason to investigate rather than evidence it is clean. Distinguishing test: on a staging unit, create a local user from a privileged session, then attempt to remove the corresponding record from the device with root-equivalent access, and confirm the off-box copy is intact and has alerted.",
50906
+ "evidence": "Packet: the attacker 'issued a privilege 15 command to create a local user and password combination', then 'elevate[d] privilege to root and write[s] the implant to the file system' (CVE-2023-20273). NIST-800-53-AC-2 (Account Management) is recorded among the citing framework gaps. active_exploitation 'confirmed'; patch_available true with live_patch_available false, so the detection covers the window before the fixed release and reboot land.",
50907
+ "gap_closes": [
50908
+ "NIST-800-53-AC-2"
50909
+ ]
50910
+ }
50911
+ ]
50061
50912
  },
50062
50913
  "CVE-2023-21608": {
50063
50914
  "name": "Adobe Acrobat and Reader Use-After-Free Vulnerability",
@@ -50971,7 +51822,30 @@
50971
51822
  "adequate": false,
50972
51823
  "gap": "System security assumes a sound browser sandbox, but the WebKit flaw is the initial code-execution primitive that breaks that assumption."
50973
51824
  }
50974
- }
51825
+ },
51826
+ "new_control_requirements": [
51827
+ {
51828
+ "id": "NEW-CTRL-056",
51829
+ "name": "MOBILE-ENDPOINT-MDM-ENFORCED-KEV-SLA",
51830
+ "description": "The packet records the fix in macOS Sonoma 14 and exploitation against iOS versions before iOS 16.7, so the population is the whole Apple estate — Macs alongside iPhones and iPads — and for this CVE the control means those builds are pushed as a managed, non-deferrable update on the clock that opened with the 2023-09-25 KEV listing rather than left to each user's own Software Update prompt. Measure completion by the OS build each device reports against the fixed build, never by the update having been offered, downloaded or marked approved: the packet records no live-patch mechanism and a remediation that requires applying the fixed release and rebooting, so a device that has staged the update but not restarted is still running the WebKit that processes the crafted content and belongs in the exposed count. The distinguishing test is to pull reported builds for the enrolled fleet and compare each against the fixed build; a compliance view showing the update as deployed while devices still report pre-fix builds is measuring the management console, not the estate. Precondition, and it is where this control gets over-claimed: the SLA reaches only devices the platform enrols and can actually compel. A personally-owned or lightly-managed device that receives configuration profiles but not update enforcement can sit below the fixed build indefinitely, and carrying it as 'pending' on the same clock hides a device that will never take the update through this path — for those the remaining lever is withholding organizational data until the build is at or above the fix.",
51831
+ "evidence": "The packet records CVE-2023-41993 (Apple Multiple Products WebKit Code Execution Vulnerability, CWE-754) as CISA KEV-listed 2023-09-25 with active_exploitation 'confirmed', poc_available false, RWEP 61 against CVSS 8.8, patch_available true, and live_patch_available false with the note 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.' The packet's vector states: 'The issue was addressed with improved checks. This issue is fixed in macOS Sonoma 14. Processing web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been actively exploited against versions of iOS before iOS 16.7.' The documented attack path is a victim opening a targeted link or page, WebKit processing crafted web content, and arbitrary code execution in the renderer as the opening stage of the spyware chain.",
51832
+ "gap_closes": [
51833
+ "ISO-27001-2022-A.8.8",
51834
+ "NIST-800-53-SI-2",
51835
+ "NIS2-Art21-vulnerability-management",
51836
+ "UK-CAF-B4"
51837
+ ]
51838
+ },
51839
+ {
51840
+ "id": "NEW-CTRL-121",
51841
+ "name": "MOBILE-ZERO-CLICK-HARDENING",
51842
+ "description": "The packet places this bug at the opening stage of a spyware chain, which makes the acutely exposed population narrower and more identifiable than the estate as a whole — the staff plausibly inside a targeting set. For that cohort the reboot-gated update is not fast enough on its own, so the control means those devices are held in a reduced-attack-surface mode in which untrusted web content, link previews, attachments and fonts are not processed automatically, narrowing the delivery path into the WebKit parsing bug across the window between the 2023-09-25 KEV listing and a completed update-and-restart. Two preconditions have to be stated rather than assumed, because this is where the control is routinely over-claimed. First, the packet's delivery step is a victim opening a targeted link or page: the mode's automatic-processing restrictions do not cover a user who deliberately opens the page, so it constrains how untrusted content is handled and shrinks the passive delivery paths — it does not stop the lure and it removes no part of the vulnerable code. Second, it only helps if it was already assigned when the chain arrived; switching it on after delivery does nothing about content already processed, and a device suspected of having already run the chain belongs on the incident path rather than the hardening path. Treat the assignment as a standing posture for the high-risk cohort set before the next disclosure, and as a holding measure for the window — not as a substitute for the fixed release and its restart.",
51843
+ "evidence": "The packet documents the exploitation path as a victim opening a targeted link or page, WebKit processing crafted web content, giving arbitrary code execution in the renderer 'as the opening stage of the spyware chain' (CWE-754). It records active_exploitation 'confirmed' with poc_available false, CISA KEV listing 2023-09-25, CVSS 8.8, RWEP 61, and a vector noting the issue may have been actively exploited against versions of iOS before iOS 16.7, with the fix in macOS Sonoma 14. patch_available is true and live_patch_available false, noted as 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.' AU-Essential-8-App-Hardening (User application hardening) is among the framework controls this entry cites as insufficient.",
51844
+ "gap_closes": [
51845
+ "AU-Essential-8-App-Hardening"
51846
+ ]
51847
+ }
51848
+ ]
50975
51849
  },
50976
51850
  "CVE-2023-41179": {
50977
51851
  "name": "Trend Micro Apex One and Worry-Free Business Security Remote Code Execution Vulnerability",
@@ -51142,7 +52016,31 @@
51142
52016
  "adequate": false,
51143
52017
  "gap": "System security relies on kernel/driver integrity that this NPU-driver use-after-free directly violates."
51144
52018
  }
51145
- }
52019
+ },
52020
+ "new_control_requirements": [
52021
+ {
52022
+ "id": "NEW-CTRL-056",
52023
+ "name": "MOBILE-ENDPOINT-MDM-ENFORCED-KEV-SLA",
52024
+ "description": "The packet names the fixed release, SMR Jan-2022 Release 1, and a KEV listing date of 2023-09-18, and the distance between those two facts is the problem this control addresses: on a handset estate an OS update is applied at the user's convenience unless management compels it, so a fix that had existed for well over a year was still absent from enough Samsung devices to make the entry a KEV item. For this CVE the control means the mobile-management platform pushes and enforces that release on a defined KEV clock with user deferral disallowed, and reports completion from the security-patch level each handset actually reports rather than from the update having been made available to it. The packet records no live-patch path and a remediation that requires applying the fixed release and rebooting, so a handset that has downloaded the update but not restarted still runs the vulnerable NPU driver and stays in the exposed count — on a phone the restart is user-initiated, which is precisely where a 'deployed' figure and the real fleet state diverge. Precondition: the SLA binds only handsets the platform enrols with update-enforcement authority. A personally-owned device enrolled for mail access alone will typically expose its patch level to the platform without accepting compelled updates; for those the operative lever is the access condition, not this clock, and carrying them as 'pending enforcement' on the same SLA conceals devices that will never take the update through this path.",
52025
+ "evidence": "The packet records CVE-2022-22265 (Samsung Mobile Devices Use-After-Free Vulnerability, CWE-703) as CISA KEV-listed 2023-09-18 with active_exploitation 'confirmed', poc_available false, RWEP 53 against CVSS 7.8, patch_available true, and live_patch_available false with the note 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.' Its vector states: 'An improper check or handling of exceptional conditions in NPU driver prior to SMR Jan-2022 Release 1 allows arbitrary memory write and code execution.' The documented attack path is a local app abusing improper exception handling in the Exynos NPU driver to trigger a use-after-free, gaining arbitrary kernel memory write and code execution for privilege escalation.",
52026
+ "gap_closes": [
52027
+ "AU-Essential-8-Patch",
52028
+ "NIST-800-53-SI-2",
52029
+ "ISO-27001-2022-A.8.8"
52030
+ ]
52031
+ },
52032
+ {
52033
+ "id": "NEW-CTRL-126",
52034
+ "name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
52035
+ "description": "The trigger the packet records is a local app driving improper exception handling in the Exynos NPU driver into an arbitrary kernel memory write, so for a Samsung handset estate this control means treating the security-maintenance-release level as an access condition rather than a dashboard row: a device reporting below SMR Jan-2022 Release 1 is denied mail, VPN and document access until it is at or above that release. The distinguishing test is to enrol a handset pinned below that release and confirm the policy actually denies it access to protected resources; an estate that surfaces the stale patch level on a report while the device keeps its access has recorded the exposure rather than removed it. Precondition on the access half, which is where this is over-claimed: constraining which applications may be installed raises the bar for getting the attacker's app onto the handset, but it does not evict an app already installed and it does not cover one delivered through the normal store channel — a device suspected of already running it belongs on the incident path, not the install-policy path. There is also no driver-side lever to fall back on here. The packet's fix ships in the vendor's own maintenance release, which places the NPU driver inside the vendor OS build rather than in anything an enterprise can blacklist or unload, so unlike a loadable-module case there is no configuration that keeps the vulnerable code out of service — the fixed release is the only thing that removes it. This is a holding measure for the window before that release and its required restart land, not a substitute for them; the packet records no live-patch path and a remediation requiring the fixed release plus a reboot.",
52036
+ "evidence": "The packet's vector states the flaw is 'An improper check or handling of exceptional conditions in NPU driver prior to SMR Jan-2022 Release 1 allows arbitrary memory write and code execution', and its attack path is a local app abusing improper exception handling in the Exynos NPU driver to trigger a use-after-free, gaining arbitrary kernel memory write and code execution for privilege escalation (CWE-703). It records CISA KEV listing 2023-09-18, active_exploitation 'confirmed', poc_available false, CVSS 7.8, RWEP 53, patch_available true, and live_patch_available false with the note 'No vendor live-patch mechanism; remediation requires applying the fixed release and rebooting.'",
52037
+ "gap_closes": [
52038
+ "ISO-27001-2022-A.8.8",
52039
+ "NIS2-Art21-vulnerability-management",
52040
+ "UK-CAF-B4"
52041
+ ]
52042
+ }
52043
+ ]
51146
52044
  },
51147
52045
  "CVE-2014-8361": {
51148
52046
  "name": "Realtek SDK Improper Input Validation Vulnerability",
@@ -55882,7 +56780,38 @@
55882
56780
  "adequate": false,
55883
56781
  "gap": "A.8.24 use-of-cryptography is silently undermined: leaking the IKE pre-shared key/RSA material via memory disclosure lets an attacker impersonate or decrypt the VPN, so strong crypto configuration is worthless once CVE-2016-6415 hands over the keys."
55884
56782
  }
55885
- }
56783
+ },
56784
+ "new_control_requirements": [
56785
+ {
56786
+ "id": "NEW-CTRL-137",
56787
+ "name": "DEPRECATED-VPN-KEY-EXCHANGE-DISABLE-AND-MACHINE-CERT-ENFORCEMENT",
56788
+ "description": "The vulnerable surface here is the deprecated key-exchange responder itself: the packet places the flaw in the server IKEv1 implementation and reaches it with a single crafted Security Association negotiation request to UDP/500 from an unauthenticated remote attacker. Bound to the products the packet names — Cisco IOS 12.2 through 12.4 and 15.0 through 15.6, IOS XE through 3.18S, IOS XR 4.3.x and 5.0.x through 5.2.x, and PIX before 7.0 — the control means inventorying which of those devices have IKEv1 enabled and answering, moving the peers that can move to IKEv2, and disabling IKEv1 where no peer requires it, so the responder the attacker talks to is gone rather than merely patched on the vendor's schedule. Scope it to those devices: the packet ties the defect to those Cisco trains and provides no mapping into other vendors' IKEv1 stacks, so a sweep that disables IKEv1 across every gateway in the estate manufactures work against products no evidence implicates. The certificate half of this control is not the operative half on this entry — the packet describes memory disclosure of key material, not a certificate-validation bypass, and certificates held by the device are among the material the packet says the leak may return, so requiring machine certificates does not reduce this exposure. Distinguishing test: from an address outside the configured peer set, send an IKEv1 SA negotiation request to UDP/500 against each named device and confirm nothing answers. Preconditions: disabling IKEv1 closes the path only on devices where every peer can be moved off it. A device that must keep IKEv1 for a legacy peer still answers on UDP/500, and the remaining lever there is restricting which sources may reach that port to the known peer addresses — which bounds who can send the request but leaves the responder fully exploitable to anything inside the permitted set, and is unavailable where peers connect from dynamic addresses. Neither measure removes material that was already read out.",
56789
+ "evidence": "Cisco IOS, IOS XR, and IOS XE IKEv1 Information Disclosure Vulnerability (CWE-200), CISA KEV-listed 2023-05-19, active exploitation confirmed, public PoC available, CVSS 7.5, RWEP 70, patch available. The packet's vector record: the server IKEv1 implementation in Cisco IOS 12.2 through 12.4 and 15.0 through 15.6, IOS XE through 3.18S, IOS XR 4.3.x and 5.0.x through 5.2.x, and PIX before 7.0 allows remote attackers to obtain sensitive information from device memory via a Security Association negotiation request (Bug IDs CSCvb29204 and CSCvb36055, aka BENIGNCERTAIN). The packet's attack-vector record places the request on UDP/500 from a remote unauthenticated attacker, with insufficient condition checks causing the device to return chunks of memory that may contain IKE pre-shared keys, certificates, and configuration.",
56790
+ "gap_closes": [
56791
+ "NIS2-Art21-network-security",
56792
+ "UK-CAF-B4"
56793
+ ]
56794
+ },
56795
+ {
56796
+ "id": "NEW-CTRL-032",
56797
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
56798
+ "description": "The credential half of this control is what binds on this entry, and the rebuild half deliberately does not: the packet's primitive is a read — a crafted IKEv1 negotiation request that returns chunks of device memory — and nothing in it establishes attacker code on the router, so dispositioning every exposed unit as implanted would send operators after evidence the packet does not support. What the packet does establish, and states outright in its own remediation note, is that the returned memory may contain IKE pre-shared keys, certificates and configuration, and that those should be rotated after exposure. So for this CVE the flaw-remediation record is not the remediation: upgrading to a fixed Cisco image stops further leakage and leaves every key already read fully valid. Applied to these devices that means re-keying the IKE pre-shared key on each tunnel the device terminates — on both peers, since the key is shared — re-issuing the certificates it held, and reviewing the running configuration for anything else that would be sensitive in the clear. Ordering matters: rotating before the fixed image is running re-exposes the new material to the same request, so the upgrade and its reboot come first and the rotation follows. Distinguishing test: for each device whose UDP/500 responder was reachable from an untrusted network before the upgrade, produce the date each tunnel's pre-shared key was changed and show it falls after the fixed image was running; a record showing the fixed image with the original keys still in service documents the leak as closed while the leaked keys stay usable. Precondition: rotation removes the value of what was read — it does not tell you whether anything was read, and the packet supplies no per-device indicator, so disposition must be driven by whether the responder was reachable from untrusted networks during the window rather than by a search for evidence of exploitation.",
56799
+ "evidence": "Cisco IOS, IOS XR, and IOS XE IKEv1 information disclosure, CISA KEV-listed 2023-05-19, active exploitation confirmed, public PoC available, CVSS 7.5, RWEP 70, patch available. The packet's attack-vector record: a remote unauthenticated attacker sends a crafted IKEv1 Security Association negotiation request to UDP/500 and insufficient condition checks cause the device to return chunks of memory that may contain IKE pre-shared keys, certificates, and configuration. The packet's live-patch record: no live-patch mechanism for classic Cisco IOS/PIX; remediation is upgrading to a Cisco fixed IOS/IOS XE/IOS XR image, which reboots the device, and pre-shared keys/certificates should be rotated after exposure.",
56800
+ "gap_closes": [
56801
+ "ISO-27001-2022-A.8.24",
56802
+ "NIST-800-53-SI-2"
56803
+ ]
56804
+ },
56805
+ {
56806
+ "id": "NEW-CTRL-001",
56807
+ "name": "CISA-KEV-RESPONSE-SLA",
56808
+ "description": "Two things about this entry defeat an ordinary vulnerability-management clock. First, the CVE identifier is from 2016 while the KEV listing is 2023-05-19 — a program that ages and prioritises items by publication date deprioritised this years before it was listed, so the SLA has to key on the listing date and on the confirmed-exploitation and public-PoC status the packet records, not on the CVE year. Second, the completion criterion is the reload: the packet records no live-patch mechanism for classic Cisco IOS/PIX and states that remediation is upgrading to a fixed IOS, IOS XE or IOS XR image, an operation that reboots the device. A router with the fixed image copied to flash but not yet booted from it is not remediated, and on a device terminating production tunnels the reload is precisely the step that gets deferred into an indefinite change window. Sequence the affected trains by whether the device's UDP/500 responder is reachable from untrusted networks, since the packet's attack requires nothing but the ability to send that one request. The clock does not end at the reload either — the packet ties the same remediation to rotating the pre-shared keys and certificates that may have been in the returned memory, so an SLA that closes on image version alone closes early.",
56809
+ "evidence": "Cisco IOS, IOS XR, and IOS XE IKEv1 Information Disclosure Vulnerability, CISA KEV-listed 2023-05-19 with active exploitation confirmed and a public PoC available; CWE-200, CVSS 7.5, RWEP 70, patch available. The packet's live-patch record: no live-patch mechanism for classic Cisco IOS/PIX; remediation is upgrading to a Cisco fixed IOS/IOS XE/IOS XR image, which reboots the device, and pre-shared keys/certificates should be rotated after exposure. The packet's attack-vector record requires only a crafted IKEv1 Security Association negotiation request to UDP/500 from a remote unauthenticated attacker.",
56810
+ "gap_closes": [
56811
+ "AU-Essential-8-Patch"
56812
+ ]
56813
+ }
56814
+ ]
55886
56815
  },
55887
56816
  "CVE-2023-21492": {
55888
56817
  "name": "Samsung Mobile Devices Insertion of Sensitive Information Into Log File Vulnerability",