@blamejs/exceptd-skills 0.19.11 → 0.19.12
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.
- package/CHANGELOG.md +8 -0
- package/data/_indexes/_meta.json +3 -3
- package/data/zeroday-lessons.json +920 -34
- package/manifest.json +53 -53
- package/package.json +1 -1
- package/sbom.cdx.json +15 -15
|
@@ -13617,7 +13617,28 @@
|
|
|
13617
13617
|
},
|
|
13618
13618
|
"ai_discovered_zeroday": false,
|
|
13619
13619
|
"ai_discovery_source": "vendor_research",
|
|
13620
|
-
"ai_assist_factor": "none"
|
|
13620
|
+
"ai_assist_factor": "none",
|
|
13621
|
+
"new_control_requirements": [
|
|
13622
|
+
{
|
|
13623
|
+
"id": "NEW-CTRL-001",
|
|
13624
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
13625
|
+
"description": "The interval in this entry is itself the finding: a 2017 CVE reached the KEV on 2026-03-05 with exploitation confirmed and a public PoC, which means Hikvision devices have been carrying an improper-authentication flaw that hands an unauthenticated caller administrator on the device and access to its video feed for as long as the estate has been unable to say what firmware those devices run. Applied here, the KEV clock governs a population that surveillance estates normally refresh on a physical-security cycle rather than a patch cycle: enumerate the Hikvision devices in service, take each to the vendor's fixed firmware, and measure completion by the firmware level the device reports over its own interface. The packet's title records the flaw against multiple Hikvision products while its attack-vector text names IP cameras, so the enumeration covers the Hikvision devices actually deployed and the vendor's affected-product list decides which of them must take the firmware — neither assume the exposure stops at cameras nor extend it to equipment the vendor does not list. The packet records no live-patch path and a fix that typically requires a service restart or system reboot, so a device that has had the firmware image pushed but has not restarted is still running the vulnerable code and is not yet remediated.",
|
|
13626
|
+
"evidence": "Packet: 'Multiple Hikvision products contain an improper authentication vulnerability that could allow a malicious user to escalate privileges on the system and gain access to sensitive information'; attack_vector places an unauthenticated attacker at administrator on Hikvision IP cameras with access to the device and its video feed (CWE-287); CISA KEV-listed 2026-03-05; active_exploitation confirmed; poc_available true; CVSS 9.1; RWEP 77; patch_available true; live_patch_available false with the note that the vendor patch typically requires a service restart or system reboot per the KEV requiredAction.",
|
|
13627
|
+
"gap_closes": [
|
|
13628
|
+
"AU-Essential-8-Patch",
|
|
13629
|
+
"NIST-800-53-SI-2"
|
|
13630
|
+
]
|
|
13631
|
+
},
|
|
13632
|
+
{
|
|
13633
|
+
"id": "NEW-CTRL-018",
|
|
13634
|
+
"name": "SCANNER-PAPER-COMPLIANCE-TEST",
|
|
13635
|
+
"description": "A nine-year-old unauthenticated-administrator flaw surviving to a 2026 KEV listing is what a vulnerability-management program looks like when its scanning coverage stops at servers and workstations. Bound to this entry, the test is whether the estate's scan actually reaches each Hikvision device and reads the firmware it is running, and whether the verdict is derived from a build known to contain the fix rather than from an asset record, a VMS inventory page, or the installer's handover document — all of which describe what was deployed at commissioning, not what is executing now. A camera subnet excluded from scanning, or scanned only for open ports without ever interrogating the device, returns a clean result that is indistinguishable from a compliant one, and that clean result is what an operator would otherwise present as evidence of managing technical vulnerabilities. Distinguishing test: produce, per Hikvision device, the firmware version the device itself reports and the date that scan ran, and confirm the version carries the vendor fix; any device for which the program can produce a compliance verdict but not a device-reported firmware string has been counted as compliant without being examined.",
|
|
13636
|
+
"evidence": "Packet: CVE published against Hikvision products in 2017 and CISA KEV-listed 2026-03-05 with active_exploitation confirmed and poc_available true; improper authentication (CWE-287) allowing an unauthenticated attacker to escalate to administrator; patch_available true; citing gaps include ISO/IEC 27001:2022 A.8.8 management of technical vulnerabilities.",
|
|
13637
|
+
"gap_closes": [
|
|
13638
|
+
"ISO-27001-2022-A.8.8"
|
|
13639
|
+
]
|
|
13640
|
+
}
|
|
13641
|
+
]
|
|
13621
13642
|
},
|
|
13622
13643
|
"CVE-2021-22681": {
|
|
13623
13644
|
"name": "Rockwell Multiple Products Insufficient Protected Credentials Vulnerability",
|
|
@@ -14321,7 +14342,39 @@
|
|
|
14321
14342
|
},
|
|
14322
14343
|
"ai_discovered_zeroday": false,
|
|
14323
14344
|
"ai_discovery_source": "vendor_research",
|
|
14324
|
-
"ai_assist_factor": "none"
|
|
14345
|
+
"ai_assist_factor": "none",
|
|
14346
|
+
"new_control_requirements": [
|
|
14347
|
+
{
|
|
14348
|
+
"id": "NEW-CTRL-001",
|
|
14349
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
14350
|
+
"description": "FileZen's KEV listing opened 2026-02-24 and the packet already carries a public PoC alongside confirmed in-the-wild exploitation, so an appliance-patch cadence measured in weeks is the wrong instrument for this entry: the CWE-78 command sink is reached through an ordinary HTTP request to the product's own web surface, so exposure is continuous for as long as a unit runs pre-fix code. Applied to this product, the control means the Soliton vendor fix is driven across every FileZen unit on the KEV clock, with completion measured per unit by the software level actually running on it — not by an update being approved, downloaded, or staged in a change queue. The precondition is the part that decides whether this remediation is real: the packet records patch_available true, live_patch_available false, and a fix that per the KEV requiredAction typically requires a service restart or system reboot, so a unit that has taken the update but not restarted is still running the vulnerable code and must be counted as exposed. On a file-transfer appliance that restart is exactly the step operators defer, because taking it interrupts in-flight transfers, and a deferral recorded as 'patched' is the specific way this goes wrong. Where the restart genuinely cannot be taken inside the window, the only remaining lever is restricting which networks can reach the FileZen web surface; that bounds who can send the crafted request and leaves the command sink fully reachable from anything inside the permitted segment, so it is a holding measure with a dated end, not a closure. Distinguishing test: produce, per appliance, the running software level and the timestamp of the restart that activated it — a patch-compliance report listing the update as deployed without evidencing the restart cannot tell a remediated unit from an exposed one.",
|
|
14351
|
+
"evidence": "Packet: cisa_kev true, kev_date 2026-02-24, active_exploitation confirmed, poc_available true, cvss 9.8, rwep_score 77, 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 describes the OS command injection (CWE-78) being reached by a specially crafted HTTP request to the product. AU-Essential-8-Patch and ISO-27001-2022-A.8.8 are recorded as insufficient for this entry.",
|
|
14352
|
+
"gap_closes": [
|
|
14353
|
+
"AU-Essential-8-Patch",
|
|
14354
|
+
"ISO-27001-2022-A.8.8"
|
|
14355
|
+
]
|
|
14356
|
+
},
|
|
14357
|
+
{
|
|
14358
|
+
"id": "NEW-CTRL-032",
|
|
14359
|
+
"name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
|
|
14360
|
+
"description": "The packet does not place FileZen at a network perimeter, so what triggers this control here is not topology but the exploitation facts the packet does record: the defect executes operating-system commands on the appliance itself (CWE-78), exploitation is confirmed in the wild, and a PoC is public. For any unit that untrusted callers could reach before its fix and restart landed — and the KEV listing dates confirmed exploitation to at least 2026-02-24 — the vendor update restores the code and nothing else: an added account, a scheduled job, an altered configuration, or any file written through the command sink survives the upgrade untouched, because the fix closes the path and does not undo what already traversed it. The default disposition for such a unit is therefore configuration capture, rebuild, and credential rotation rather than patch-in-place. Two preconditions are load-bearing. The rebuild only yields a clean appliance if it is built at or above the vendor's fixed level — rebuilding to the pre-fix level puts the identical vulnerable HTTP path straight back on the network — and the credentials the appliance held (its administrative accounts, any directory-integration or service accounts, any keys shared with transfer partners) must be rotated after the rebuild completes rather than before, or the clean unit is handed the same secrets. This control also does not establish what left the appliance: files that transited FileZen during the exposure window need their own disclosure assessment, which no amount of rebuilding performs. Distinguishing test: for each unit, ask what evidence excludes exploitation during the window rather than what evidence proves it — a flaw-remediation record showing the fixed version installed reads clean on an appliance that was executing attacker-supplied commands the week before.",
|
|
14361
|
+
"evidence": "Packet: cwe_refs CWE-78, described as OS command injection giving command execution on the managed-file-transfer appliance; active_exploitation confirmed; poc_available true; cisa_kev true, kev_date 2026-02-24; rwep_score 77; patch_available true with live_patch_available false and a fix that 'typically requires service restart or system reboot per the KEV requiredAction'. NIST-800-53-SI-2 (Flaw Remediation) is recorded as insufficient for this entry.",
|
|
14362
|
+
"gap_closes": [
|
|
14363
|
+
"NIST-800-53-SI-2"
|
|
14364
|
+
]
|
|
14365
|
+
},
|
|
14366
|
+
{
|
|
14367
|
+
"id": "NEW-CTRL-135",
|
|
14368
|
+
"name": "CONTROL-PANEL-PLUGIN-USER-SURFACE-MUST-NOT-REACH-ROOT-OPERATIONS",
|
|
14369
|
+
"description": "The packet's vector conditions this exploit on a product login: FileZen 'contains an OS command injection vulnerability when an user logs-in to the affected product and sends a specially crafted HTTP request'. That is the shape this control forbids — a constrained user surface, here the web interface of a file-transfer product, wired through to an operating-system command interpreter on the appliance host, so that holding a FileZen account amounts to holding command execution on the box. Bound to this product, the requirement is that no FileZen request handler composes an OS command from request-supplied content, and that the transfer functions reach the operating system only through a constrained, validated interface. This is why the least-privilege gap cited on this entry stays open however carefully FileZen accounts are scoped: the request crosses out of the application into the OS regardless of which directories or transfer rights the account carries, so an access-control attestation passes cleanly while the path is fully reachable. Preconditions: handler-side neutralization is a property the vendor update establishes — this control names what to verify, it does not implement it. Until the update and its restart land, the operator's levers are reducing which accounts can log in to the appliance and restricting which networks can reach its web surface; each bounds the population that can send the request and neither closes the sink. And the packet's own attack-vector summary describes the attacker as unauthenticated, contradicting the login precondition in its vector text — under that reading the account-side lever gives nothing at all and reachability restriction is the only interim measure, so reducing accounts must not be recorded as the mitigation without first settling which reading holds. Distinguishing test: on a staging FileZen, authenticate as an ordinary transfer user and send shell metacharacters through each web handler's parameters, confirming none reach a command interpreter — an attestation that every FileZen account is confined to its own transfer directories passes while this path stays open.",
|
|
14370
|
+
"evidence": "Packet vector: 'Soliton Systems K.K FileZen contains an OS command injection vulnerability when an user logs-in to the affected product and sends a specially crafted HTTP request'; the packet's attack_vector summary instead describes 'an unauthenticated attacker' with 'command execution on the managed-file-transfer appliance'. cwe_refs CWE-78; cvss 9.8; active_exploitation confirmed; poc_available true. NIST-800-53-AC-6 (Least Privilege), UK-CAF-B4 (System security) and NIS2-Art21-network-security (Security of network and information systems) are recorded as insufficient for this entry.",
|
|
14371
|
+
"gap_closes": [
|
|
14372
|
+
"NIST-800-53-AC-6",
|
|
14373
|
+
"UK-CAF-B4",
|
|
14374
|
+
"NIS2-Art21-network-security"
|
|
14375
|
+
]
|
|
14376
|
+
}
|
|
14377
|
+
]
|
|
14325
14378
|
},
|
|
14326
14379
|
"CVE-2025-49113": {
|
|
14327
14380
|
"name": "RoundCube Webmail Deserialization of Untrusted Data Vulnerability",
|
|
@@ -16360,7 +16413,39 @@
|
|
|
16360
16413
|
},
|
|
16361
16414
|
"ai_discovered_zeroday": false,
|
|
16362
16415
|
"ai_discovery_source": "vendor_research",
|
|
16363
|
-
"ai_assist_factor": "none"
|
|
16416
|
+
"ai_assist_factor": "none",
|
|
16417
|
+
"new_control_requirements": [
|
|
16418
|
+
{
|
|
16419
|
+
"id": "NEW-CTRL-134",
|
|
16420
|
+
"name": "DEVICE-MANAGEMENT-GATEWAY-CONFIG-ENDPOINT-AUTH-INPUT-NEUTRALIZATION",
|
|
16421
|
+
"description": "EPMM is the device-management gateway this control governs, and the packet places the defect squarely on its management surface: a code injection that 'could allow attackers to achieve unauthenticated remote code execution' (CWE-94). Bound to this product, the control means every request handler on the EPMM management surface makes its own authorization decision before any request content is interpreted, and never turns request-supplied content into executable code — the endpoint's own decision, not the surrounding operator account model, is what stands between an untrusted caller and code execution on the appliance. This is why the least-privilege gap cited here cannot be closed by tightening EPMM roles: the attacker holds no EPMM account, so per-account privilege scoping is never consulted and the account model an access-control attestation examines is bypassed rather than abused. Preconditions: endpoint-side authorization and input neutralization are properties the vendor update establishes — this control states what to verify, not how to build it. Until that update and the restart the packet says it typically requires have both landed, restricting which segments can reach the EPMM management surface bounds who can send the request but leaves the injection sink fully exploitable to any caller inside the permitted segment, and that lever is unavailable wherever the surface must stay reachable for normal operation. Distinguishing test: on a staging EPMM, send unauthenticated requests to each management endpoint carrying content shaped to be interpreted rather than stored, and confirm each is refused before interpretation — an estate that evidences unique, role-scoped accounts for every EPMM administrator passes its access-control review while this path stays wide open.",
|
|
16422
|
+
"evidence": "Packet vector: 'Ivanti Endpoint Manager Mobile (EPMM) contains a code injection vulnerability that could allow attackers to achieve unauthenticated remote code execution'; attack_vector: 'code injection (CWE-94) yielding unauthenticated remote code execution on the EPMM management surface'. cwe_refs CWE-94; cvss 9.8; rwep_score 77; patch_available true, live_patch_available false, with the fix typically requiring 'service restart or system reboot per the KEV requiredAction'. NIST-800-53-AC-6 (Least Privilege) and UK-CAF-B4 (System security) are recorded as insufficient for this entry.",
|
|
16423
|
+
"gap_closes": [
|
|
16424
|
+
"NIST-800-53-AC-6",
|
|
16425
|
+
"UK-CAF-B4"
|
|
16426
|
+
]
|
|
16427
|
+
},
|
|
16428
|
+
{
|
|
16429
|
+
"id": "NEW-CTRL-037",
|
|
16430
|
+
"name": "FLEET-COMPROMISE-IR-PLAYBOOK",
|
|
16431
|
+
"description": "Unauthenticated RCE on EPMM is not an appliance incident: EPMM is the control plane the managed fleet derives its configuration and trust state from, so code execution on that box is authority over everything downstream of it — and the packet records that exploitation as confirmed in the wild with a public PoC. The playbook this CVE demands, rehearsed before the next disclosure rather than drafted during one, covers the half no patch-shaped control reaches: certificate revocation issued from a control plane whose integrity has been re-established, device-trust-state invalidation, an audit of every configuration profile pushed since the earliest point at which exploitation cannot be excluded, quarantine criteria for downstream devices, and rotation of every credential the EPMM instance held or that authenticated through it during that window. The vendor update stops further exploitation of the code path; it removes nothing an attacker already pushed to the fleet or read out of the appliance, which is precisely the residue a flaw-remediation control records as closed. Precondition: the fleet-side steps sequence after the EPMM instance itself has been rebuilt or otherwise established as trustworthy — running them from the instance that was exploited re-signs the fleet from a box of unknown integrity, so the appliance work gates the fleet work and the fleet stays in its pre-incident trust state until that completes. Distinguishing test: for one managed device chosen at random, name the certificate that would be revoked, the profile history that would be audited, and the credential set that would be rotated, and time how long producing that answer takes — an incident-response policy that cannot produce it for a single device will not produce it for the fleet under an active compromise.",
|
|
16432
|
+
"evidence": "Packet: unauthenticated remote code execution on the EPMM management surface (CWE-94); cisa_kev true, kev_date 2026-01-29; active_exploitation confirmed; poc_available true; rwep_score 77; cvss 9.8; patch_available true, live_patch_available false. NIST-800-53-SI-2 (Flaw Remediation) is recorded as insufficient for this entry.",
|
|
16433
|
+
"gap_closes": [
|
|
16434
|
+
"NIST-800-53-SI-2"
|
|
16435
|
+
]
|
|
16436
|
+
},
|
|
16437
|
+
{
|
|
16438
|
+
"id": "NEW-CTRL-001",
|
|
16439
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
16440
|
+
"description": "The KEV clock for EPMM opened 2026-01-29, and the packet pairs that with confirmed in-the-wild exploitation, a public PoC and unauthenticated remote code execution at CVSS 9.8 — the profile a routine infrastructure-patch cadence is least able to absorb, on a management appliance whose compromise is the fleet's compromise rather than one host's. Applied here, the control means the Ivanti fix is driven across every EPMM instance on that clock, with completion measured per instance by the version actually running and the restart having been taken, not by an approval sitting in a change queue. Precondition: the packet records no live-patch path and a fix that typically requires a service restart or system reboot per the KEV requiredAction, so an instance that has taken the update but not restarted is still running the vulnerable code and must be counted as exposed — on a management appliance that restart is deferred because taking it interrupts device management, which is exactly how an instance ends up recorded as patched while it is not. Where the restart cannot be taken inside the window, restricting reachability of the EPMM management surface is the only remaining lever; it bounds who can send the request and does not remove the injection path, so it carries a dated end rather than closing the item. Distinguishing test: for each EPMM instance produce the running version and the restart timestamp that activated it — a vulnerability-management report showing the update deployed without the restart cannot distinguish a remediated instance from an exposed one.",
|
|
16441
|
+
"evidence": "Packet: cisa_kev true, kev_date 2026-01-29, active_exploitation confirmed, poc_available true, cvss 9.8, rwep_score 77, 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.' AU-Essential-8-Patch, ISO-27001-2022-A.8.8 and NIS2-Art21-patch-management are recorded as insufficient for this entry.",
|
|
16442
|
+
"gap_closes": [
|
|
16443
|
+
"AU-Essential-8-Patch",
|
|
16444
|
+
"ISO-27001-2022-A.8.8",
|
|
16445
|
+
"NIS2-Art21-patch-management"
|
|
16446
|
+
]
|
|
16447
|
+
}
|
|
16448
|
+
]
|
|
16364
16449
|
},
|
|
16365
16450
|
"CVE-2026-24858": {
|
|
16366
16451
|
"name": "Fortinet Multiple Products Authentication Bypass Using an Alternate Path or Channel Vulnerability",
|
|
@@ -18952,7 +19037,30 @@
|
|
|
18952
19037
|
},
|
|
18953
19038
|
"ai_discovered_zeroday": false,
|
|
18954
19039
|
"ai_discovery_source": "vendor_research",
|
|
18955
|
-
"ai_assist_factor": "none"
|
|
19040
|
+
"ai_assist_factor": "none",
|
|
19041
|
+
"new_control_requirements": [
|
|
19042
|
+
{
|
|
19043
|
+
"id": "NEW-CTRL-056",
|
|
19044
|
+
"name": "MOBILE-ENDPOINT-MDM-ENFORCED-KEV-SLA",
|
|
19045
|
+
"description": "The packet calls the Android Framework flaw unspecified and places the trigger in a local app escalating privileges on the device, which leaves the operator no component to disable and no setting to change — the platform update carrying the fix is the entire remediation, so the only questions are how fast it lands and whether the user can decline it. For this CVE that means the managed-device policy pushes the update inside the clock that opened with the 2025-12-02 KEV listing, with user deferral disallowed and the restart enforced, because the packet records no live-patch tool and states the vendor patch typically requires a service restart or system reboot per the KEV requiredAction: a handset that installed the update and never rebooted is still running the vulnerable framework and must be counted as exposed. Precondition, and it is the one that breaks this control on Android specifically: the operator can force installation only of a build the device's OEM or carrier has actually released for that model, so the SLA has two failure states that need separating — handsets that could have taken the update and were allowed to defer, which policy enforcement fixes, and models for which no fixed build has shipped, which policy cannot fix and which fall to the access-condition control below or to a replacement schedule. Distinguishing test: from the management console, list handsets by model and reported security patch level and show, per model, whether a fixed build exists and how many days elapsed between its availability and the device's restart onto it — an attestation that reports policy assignment is measuring the console, not the fleet.",
|
|
19046
|
+
"evidence": "Packet vector: 'Android Framework contains an unspecified vulnerability that allows for privilege escalation.' attack_vector: 'a privilege-escalation flaw (CWE-269) in the Android Framework, exploited by a local app to escalate privileges on the device (the local-escalation step after an initial-access primitive).' Fields: cisa_kev true, kev_date 2025-12-02, active_exploitation confirmed, CVSS 7.8, RWEP 77, poc_available true, ai_discovered false, 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.'",
|
|
19047
|
+
"gap_closes": [
|
|
19048
|
+
"AU-Essential-8-Patch",
|
|
19049
|
+
"NIST-800-53-SI-2"
|
|
19050
|
+
]
|
|
19051
|
+
},
|
|
19052
|
+
{
|
|
19053
|
+
"id": "NEW-CTRL-126",
|
|
19054
|
+
"name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
|
|
19055
|
+
"description": "Because the packet records the vulnerability itself as unspecified and the trigger as a local app escalating privilege on the handset, the operator's only remaining levers on a device that cannot yet take the fixed build are what that device is allowed to reach and what code it is allowed to run. The fixed Android security patch level therefore has to function as an access condition — mail, VPN and document access denied to any enrolled handset below it — rather than as a column on a compliance dashboard, because a device below the fix that keeps its access is exactly the device this escalation is aimed at: the packet places this CVE as the local-escalation half of a mobile-spyware chain, so the payoff is the organizational data and credentials on the handset. Precondition: restricting installs to a managed catalogue and blocking side-loading raises the bar for getting the attacker's app onto the device, but it does not evict an app already installed and it does not cover one that arrived through the normal store channel — a handset suspected of already running the escalating app belongs on the incident path with credential rotation, not on the install-policy path. Distinguishing test: enrol a device pinned below the fixed patch level and confirm the conditional-access policy actually denies it the protected resources, instead of flagging it non-compliant while its mail keeps syncing. This is a holding measure for the window before the fixed build and its required reboot land, not a substitute for them.",
|
|
19056
|
+
"evidence": "The packet's own description of the flaw is 'an unspecified vulnerability that allows for privilege escalation', with the exploitation path 'exploited by a local app to escalate privileges on the device' and the framing that 'this class forms the local-escalation half of a mobile-spyware chain'. patch_available true with live_patch_available false and live_patch_notes stating the vendor patch typically requires a service restart or system reboot per the KEV requiredAction — so the interval this control covers is real and reboot-gated. active_exploitation confirmed; cisa_kev true, kev_date 2025-12-02; poc_available true; RWEP 77; CVSS 7.8; CWE-269.",
|
|
19057
|
+
"gap_closes": [
|
|
19058
|
+
"ISO-27001-2022-A.8.8",
|
|
19059
|
+
"NIS2-Art21-vulnerability-management",
|
|
19060
|
+
"UK-CAF-B4"
|
|
19061
|
+
]
|
|
19062
|
+
}
|
|
19063
|
+
]
|
|
18956
19064
|
},
|
|
18957
19065
|
"CVE-2021-26829": {
|
|
18958
19066
|
"name": "OpenPLC ScadaBR Cross-site Scripting Vulnerability",
|
|
@@ -22695,7 +22803,31 @@
|
|
|
22695
22803
|
},
|
|
22696
22804
|
"ai_discovered_zeroday": false,
|
|
22697
22805
|
"ai_discovery_source": "vendor_research",
|
|
22698
|
-
"ai_assist_factor": "none"
|
|
22806
|
+
"ai_assist_factor": "none",
|
|
22807
|
+
"new_control_requirements": [
|
|
22808
|
+
{
|
|
22809
|
+
"id": "NEW-CTRL-001",
|
|
22810
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
22811
|
+
"description": "DELMIA Apriso is a manufacturing-operations platform whose downtime is scheduled against production runs, which is exactly why the clock this control imposes has to be the KEV clock and not the next planned maintenance window. The packet places an unauthenticated remote caller at code execution through a deserialization sink, with exploitation already confirmed and a public PoC at the 2025-09-11 listing, so the population to drive is every Apriso instance in service — including integration, staging and disaster-recovery copies, which run the same request path and are commonly reachable from the same segments as production — taken to the vendor's fixed release and measured by the build each instance actually reports rather than by a change ticket marked approved. The packet records no live-patch path and states the vendor fix typically requires a service restart or system reboot, so an instance where the fix has been staged but the service has not been restarted still carries the vulnerable code and must be counted as exposed; on an MES tied to a running line that restart is the step most likely to be deferred, and a deferral recorded as 'patched' is the specific way this remediation fails. Distinguishing test: list every Apriso instance with its reported build and the time of its last service restart — an instance reporting the fixed build whose service has been up continuously since before the update was applied has not taken the fix.",
|
|
22812
|
+
"evidence": "Packet: Dassault Systemes DELMIA Apriso, deserialization of untrusted data (CWE-502) leading to remote code execution, unauthenticated; CISA KEV-listed 2025-09-11; active_exploitation confirmed; poc_available true; CVSS 9.8; RWEP 77; patch_available true; live_patch_available false with the note that the vendor patch typically requires a service restart or system reboot per the KEV requiredAction.",
|
|
22813
|
+
"gap_closes": [
|
|
22814
|
+
"AU-Essential-8-Patch",
|
|
22815
|
+
"ISO-27001-2022-A.8.8",
|
|
22816
|
+
"NIST-800-53-SI-2",
|
|
22817
|
+
"UK-CAF-B4"
|
|
22818
|
+
]
|
|
22819
|
+
},
|
|
22820
|
+
{
|
|
22821
|
+
"id": "NEW-CTRL-129",
|
|
22822
|
+
"name": "ENTERPRISE-ERP-MANAGEMENT-FUNCTION-AUTHENTICATION",
|
|
22823
|
+
"description": "The defect the packet describes is a request reaching Apriso's deserializer before any authentication decision has been made: a remote attacker who holds no account at all reconstructs an attacker-supplied object and executes code. Bound to this product, the control means the Apriso request path decides whether its caller is authorized before the request body is deserialized at all — a serialized object arriving from an unauthenticated caller is refused rather than reconstructed — and the platform's HTTP surface answers only from segments with an operational need to reach it (plant-floor clients, integration middleware, the operator workstations that use it), not from a flat corporate network or a routable path from outside. This is why the least-privilege gap recorded against this entry does not touch the path: the attacker never holds an Apriso account, so per-account privilege scoping is never consulted and an attestation showing correctly scoped Apriso roles passes cleanly while the pre-auth path stays fully open. Distinguishing test: from a segment with no operational need to reach the MES, send a crafted serialized payload to a staging Apriso instance without credentials and confirm it is refused before deserialization runs. Precondition: the 'authorize before deserialize' property is established by the vendor's fixed release — this control states what to verify, it does not implement it. Until that release and its restart land, restricting which segments can reach the Apriso HTTP surface bounds who can send the request but leaves the sink fully reachable to anything inside the permitted segment, including a compromised workstation or integration host, and the lever is unavailable wherever that interface must stay reachable for normal production operation.",
|
|
22824
|
+
"evidence": "Packet: DELMIA Apriso deserialization-of-untrusted-data flaw (CWE-502) enabling unauthenticated remote code execution; citing gaps include NIST SP 800-53 AC-6 (Least Privilege) and NIS2 Art. 21 security of network and information systems; CISA KEV 2025-09-11; active_exploitation confirmed; poc_available true; patch_available true; live_patch_available false, vendor patch typically requires service restart or system reboot.",
|
|
22825
|
+
"gap_closes": [
|
|
22826
|
+
"NIST-800-53-AC-6",
|
|
22827
|
+
"NIS2-Art21-network-security"
|
|
22828
|
+
]
|
|
22829
|
+
}
|
|
22830
|
+
]
|
|
22699
22831
|
},
|
|
22700
22832
|
"CVE-2025-48543": {
|
|
22701
22833
|
"name": "Android Runtime Use-After-Free Vulnerability",
|
|
@@ -23715,7 +23847,33 @@
|
|
|
23715
23847
|
},
|
|
23716
23848
|
"ai_discovered_zeroday": false,
|
|
23717
23849
|
"ai_discovery_source": "vendor_research",
|
|
23718
|
-
"ai_assist_factor": "none"
|
|
23850
|
+
"ai_assist_factor": "none",
|
|
23851
|
+
"new_control_requirements": [
|
|
23852
|
+
{
|
|
23853
|
+
"id": "NEW-CTRL-001",
|
|
23854
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
23855
|
+
"description": "Scope this to the Windows WinRAR installs the packet names rather than to archive handling in general: the defect is in WinRAR's archive extraction on Windows, and the fixed build is what removes it. Run the KEV-tied clock from the 2025-08-12 listing across every Windows workstation carrying WinRAR — including per-user and portable copies that sit outside managed software distribution and that an inventory-driven patch report never asks about, since a workstation only needs one unpatched copy for a delivered archive to extract through the vulnerable path. The packet registers no live-patch path and notes the vendor fix typically requires a service restart or system reboot per the KEV required action, so a copy updated but not restarted is not yet remediated. Precondition: an SLA reaches only copies the inventory can see — a portable WinRAR the operator cannot enumerate is remediated by removing it, not by recording the estate as patched, and until it is found the archive-borne path stays open on that host. The distinguishing test: after the update lands, enumerate WinRAR installs across managed and per-user paths and confirm none report a pre-fix build; a user-application-hardening attestation covering browsers and document handlers says nothing about the version of the archive utility that opens the attachment.",
|
|
23856
|
+
"evidence": "Packet: RARLAB WinRAR path traversal (CWE-35) 'affecting the Windows version of WinRAR', where a crafted archive lets an attacker execute arbitrary code; the attack vector records the crafted archive writing to autorun locations for code execution on extraction, used in the wild by espionage actors. CISA KEV-listed 2025-08-12 with active_exploitation confirmed, poc_available true, CVSS 7.5, RWEP 77. patch_available true, live_patch_available false, with the packet noting no live-patch tool registered for this entry and that the vendor patch typically requires a service restart or system reboot per the KEV required action.",
|
|
23857
|
+
"gap_closes": [
|
|
23858
|
+
"AU-Essential-8-App-Hardening",
|
|
23859
|
+
"ISO-27001-2022-A.8.8",
|
|
23860
|
+
"NIST-800-53-SI-2",
|
|
23861
|
+
"NIS2-Art21-vulnerability-management",
|
|
23862
|
+
"UK-CAF-B4"
|
|
23863
|
+
]
|
|
23864
|
+
},
|
|
23865
|
+
{
|
|
23866
|
+
"id": "NEW-CTRL-042",
|
|
23867
|
+
"name": "INCOMPLETE-PATCH-SEQUENCE-SEVERITY-MULTIPLIER",
|
|
23868
|
+
"description": "The packet records this entry as a variant — another path-traversal defect in the same WinRAR archive-extraction path — so an estate that scored it as a discrete finding scored it wrong. On the 7.5 base alone it queues into a routine third-party-application update window; the packet's own priority for it is RWEP 77, with a public PoC and in-the-wild use by espionage actors. The requirement is to carry WinRAR's extraction path handling as a primitive with a demonstrated repeat, so that the next defect disclosed against it inherits the elevated tier at disclosure rather than waiting for a KEV listing to force the escalation — the interval that matters is the one where a PoC is public and the fixed build is not yet deployed across per-user copies. The distinguishing test: check what due date the vulnerability-management process produced for this CVE, and whether the 2025-08-12 KEV listing is what moved it out of a routine window; if it is, the multiplier is not implemented and the following variant on this primitive will get the same routine window.",
|
|
23869
|
+
"evidence": "Packet: the entry is named as a variant ('variant: CVE-2025-8088') and the attack vector describes 'a path-traversal flaw (CWE-35) in WinRAR's archive extraction (a variant)'. CVSS 7.5 against RWEP 77; poc_available true; active_exploitation confirmed; CISA KEV-listed 2025-08-12; used in the wild by espionage actors per the packet. patch_available true, live_patch_available false.",
|
|
23870
|
+
"gap_closes": [
|
|
23871
|
+
"ISO-27001-2022-A.8.8",
|
|
23872
|
+
"NIST-800-53-SI-2",
|
|
23873
|
+
"NIS2-Art21-vulnerability-management"
|
|
23874
|
+
]
|
|
23875
|
+
}
|
|
23876
|
+
]
|
|
23719
23877
|
},
|
|
23720
23878
|
"CVE-2007-0671": {
|
|
23721
23879
|
"name": "Microsoft Office Excel Remote Code Execution Vulnerability",
|
|
@@ -30267,7 +30425,31 @@
|
|
|
30267
30425
|
},
|
|
30268
30426
|
"ai_discovered_zeroday": false,
|
|
30269
30427
|
"ai_discovery_source": "human_researcher",
|
|
30270
|
-
"ai_assist_factor": "none"
|
|
30428
|
+
"ai_assist_factor": "none",
|
|
30429
|
+
"new_control_requirements": [
|
|
30430
|
+
{
|
|
30431
|
+
"id": "NEW-CTRL-018",
|
|
30432
|
+
"name": "SCANNER-PAPER-COMPLIANCE-TEST",
|
|
30433
|
+
"description": "A scanner that reports Exim at 4.97.1 or later and closes the finding has tested the half of the remediation the packet calls a software update and none of the half it calls a server configuration change. The defect is that the MTA accepts <LF>.<CR><LF> as end-of-data where RFC 5321 requires <CR><LF>.<CR><LF>, and the packet ties that acceptance to PIPELINING/CHUNKING configurations — so the property that has to be established is behavioural, against the running configuration, not a build string. The distinguishing test: against a staging Exim, open a connection using PIPELINING/CHUNKING, terminate a message's data with the non-standard sequence, follow it with what would be the smuggled message, and confirm the server does not treat the non-standard sequence as end-of-data and does not deliver the second message as separately submitted mail. Precondition: this validates the instance under test in its current configuration and nothing else — the verdict has to be re-established for every Exim host in the inbound path and re-run after any configuration change or package upgrade that could restore the tolerant parse. It also does not speak for other MTA software in that path; the packet establishes this defect for Exim, and other products in the chain need their own test rather than an assumption inherited from this one.",
|
|
30434
|
+
"evidence": "Packet: 'Exim accepts <LF>.<CR><LF> as end-of-data in PIPELINING/CHUNKING configurations, differing from the RFC 5321 <CR><LF>.<CR><LF>, enabling a smuggled second message that inherits the outer SPF/DKIM/DMARC pass. Fix: upgrade to 4.97.1.' CWE-345 and CWE-93; poc_available true; CVSS 5.3, RWEP 33; cisa_kev false and active_exploitation suspected. patch_available true, live_patch_available false, with the packet stating remediation is a software update and, for the smuggling/STARTTLS classes, a server configuration change, requiring a service restart rather than a host reboot.",
|
|
30435
|
+
"gap_closes": [
|
|
30436
|
+
"ISO-27001-2022-A.8.8",
|
|
30437
|
+
"NIST-800-53-SI-2",
|
|
30438
|
+
"PCI-DSS-4.0-6.3.3"
|
|
30439
|
+
]
|
|
30440
|
+
},
|
|
30441
|
+
{
|
|
30442
|
+
"id": "NEW-CTRL-038",
|
|
30443
|
+
"name": "MITIGATION-ACTIVE-PATCH-PENDING-VERDICT-CLASS",
|
|
30444
|
+
"description": "The packet gives two remediation components for this class — the 4.97.1 update and a server configuration change — so an Exim host carrying one but not the other is neither patched nor unmitigated, and the report has to say which. A host still on a pre-4.97.1 build whose configuration has been changed is running a compensating control with the tolerant end-of-data parse still present in the binary; it belongs in a distinct state with a dated action item for the update, not in the same column as a host that took the fixed build. The packet notes the update needs a service restart rather than a host reboot, so that action item is a service-restart window, not a maintenance outage — which removes the usual justification for leaving the host parked. Precondition: the compensating state holds only while that configuration remains in force, and a package upgrade, a configuration-management push, or a restore that reinstates defaults returns the host to full exposure with no signal, so the state has to be re-verified behaviourally on a schedule rather than recorded once. This matters most for this CVE because the packet records no KEV listing, only suspected exploitation and a CVSS of 5.3: nothing in a severity-ordered queue will resurface a host left in the compensating state.",
|
|
30445
|
+
"evidence": "Packet: patch_available true with the fix given as upgrade to 4.97.1; live_patch_available false; live_patch_notes state remediation is a software update and, for the smuggling/STARTTLS classes, a server configuration change, with no live-patch primitive applicable and a service restart rather than a host reboot. cisa_kev false, kev_date null, active_exploitation suspected, CVSS 5.3, RWEP 33, poc_available true. The vulnerable behaviour is tied by the packet to PIPELINING/CHUNKING configurations.",
|
|
30446
|
+
"gap_closes": [
|
|
30447
|
+
"ISO-27001-2022-A.8.8",
|
|
30448
|
+
"NIST-800-53-SI-2",
|
|
30449
|
+
"PCI-DSS-4.0-6.3.3"
|
|
30450
|
+
]
|
|
30451
|
+
}
|
|
30452
|
+
]
|
|
30271
30453
|
},
|
|
30272
30454
|
"CVE-2021-38371": {
|
|
30273
30455
|
"name": "Exim STARTTLS response injection (pre-handshake buffer not drained on the sending MTA path)",
|
|
@@ -30400,7 +30582,28 @@
|
|
|
30400
30582
|
},
|
|
30401
30583
|
"ai_discovered_zeroday": false,
|
|
30402
30584
|
"ai_discovery_source": "human_researcher",
|
|
30403
|
-
"ai_assist_factor": "none"
|
|
30585
|
+
"ai_assist_factor": "none",
|
|
30586
|
+
"new_control_requirements": [
|
|
30587
|
+
{
|
|
30588
|
+
"id": "NEW-CTRL-008",
|
|
30589
|
+
"name": "CRYPTO-SUBSYSTEM-CVE-DISCLOSURE",
|
|
30590
|
+
"description": "The subsystem at fault here is the one the estate's transport-protection claim for mail submission rests on. The packet has the Dovecot submission service failing to discard commands buffered before the TLS handshake, so a prebuilt plaintext sequence is executed after the handshake and an on-path attacker redirects sensitive data to an attacker-controlled destination — the session is encrypted and the attacker's commands are inside it. Applied to this entry, the control means that while a submission service is below 2.3.15, any control recorded as satisfied by 'mail submission is protected by STARTTLS' is documented as not a compensating control for this CVE, and the risk assessment states that explicitly instead of carrying the encrypted-in-transit attestation forward. That is precisely the network-security gap cited on this entry: an attestation that submission traffic is encrypted passes cleanly, while the flaw's entire effect is that the encryption no longer excludes the on-path attacker's injected commands. Preconditions and limits: this is a bookkeeping control — it changes what the estate is permitted to claim, not what the server does. What removes the flaw is the fix the packet names, upgrading to 2.3.15, which the packet records as a software update needing a service restart rather than a host reboot, with no live-patch primitive applicable. The exploit's own precondition is an on-path position, so a submission service whose clients never traverse a network an attacker can occupy is less exposed — but 'the traffic stays internal' is an assertion about topology, and it is the assertion STARTTLS was deployed so the estate would not have to rely on.",
|
|
30591
|
+
"evidence": "Packet vector: 'The submission service in Dovecot before 2.3.15 allows STARTTLS command injection in lib-smtp: a prebuilt sequence of commands sent before the TLS handshake is executed after the handshake, allowing an on-path attacker to redirect sensitive data to an attacker-controlled destination. Fix: upgrade to 2.3.15.' attack_vector: 'the server/client does not discard bytes buffered before the TLS handshake, so an on-path attacker injects plaintext SMTP commands/responses that are processed inside the encrypted session.' cisa_kev false, active_exploitation 'none', poc_available true, cvss 4.8, rwep_score 19. patch_available true, live_patch_available false, live_patch_notes 'Remediation is a software update (and, for the smuggling/STARTTLS classes, a server configuration change); no live-patch primitive applies. Service restart, not host reboot.' Citing gap NIS2-Art21-network-security (Security of network and information systems).",
|
|
30592
|
+
"gap_closes": [
|
|
30593
|
+
"NIS2-Art21-network-security"
|
|
30594
|
+
]
|
|
30595
|
+
},
|
|
30596
|
+
{
|
|
30597
|
+
"id": "NEW-CTRL-017",
|
|
30598
|
+
"name": "BUG-FAMILY-MITIGATION-PERSISTENCE",
|
|
30599
|
+
"description": "The packet's remediation note names two halves for this class — a software update and, for the smuggling/STARTTLS classes, a server configuration change — and this control governs what happens to the second half once the first lands. The packet also places the entry in a lineage rather than treating it as a one-off: the same pre-handshake-buffer primitive runs from 2011 Postfix to the 2021 multi-MTA round that produced this CVE, which is the pattern this control was written for, a primitive class that reappears rather than a defect that ends with its own patch. For this Dovecot deployment it means the configuration-side change made while waiting for 2.3.15 is kept in place after the upgrade and through a stated review period, instead of being reverted the moment the package version satisfies the vulnerability-management check. Distinguishing test: once the submission service reports 2.3.15 or later, re-read its live configuration and confirm the hardening applied during the exposure window is still set — a vulnerability-management record showing the fixed version says nothing about whether the configuration was rolled back to the pre-incident default as soon as it did. Preconditions: this control preserves a mitigation, it does not supply one. A deployment that never made a configuration change during the window has nothing to retain, and for it the packet's fix — the upgrade to 2.3.15 with the service restart it needs — is the entire remediation. Retention is also not protection against a future sibling defect on its own; it holds ground the operator already took while that possibility is live. The packet records active_exploitation 'none' and no KEV listing, so this is hygiene against a recurring class, not a response to observed attack.",
|
|
30600
|
+
"evidence": "Packet live_patch_notes: 'Remediation is a software update (and, for the smuggling/STARTTLS classes, a server configuration change); no live-patch primitive applies. Service restart, not host reboot.' attack_vector: 'STARTTLS command/response injection: the server/client does not discard bytes buffered before the TLS handshake... Part of the NO STARTTLS research lineage (2011 Postfix → 2021 multi-MTA).' vector states the fix as 'upgrade to 2.3.15'. cisa_kev false, active_exploitation 'none', poc_available true, cvss 4.8, rwep_score 19, patch_available true, live_patch_available false.",
|
|
30601
|
+
"gap_closes": [
|
|
30602
|
+
"ISO-27001-2022-A.8.8",
|
|
30603
|
+
"NIST-800-53-SI-2"
|
|
30604
|
+
]
|
|
30605
|
+
}
|
|
30606
|
+
]
|
|
30404
30607
|
},
|
|
30405
30608
|
"CVE-2011-0411": {
|
|
30406
30609
|
"name": "Postfix STARTTLS plaintext command injection (I/O buffering not reset across TLS handshake)",
|
|
@@ -30515,7 +30718,20 @@
|
|
|
30515
30718
|
},
|
|
30516
30719
|
"ai_discovered_zeroday": false,
|
|
30517
30720
|
"ai_discovery_source": "academic_ai_fuzzing",
|
|
30518
|
-
"ai_assist_factor": "none"
|
|
30721
|
+
"ai_assist_factor": "none",
|
|
30722
|
+
"new_control_requirements": [
|
|
30723
|
+
{
|
|
30724
|
+
"id": "NEW-CTRL-018",
|
|
30725
|
+
"name": "SCANNER-PAPER-COMPLIANCE-TEST",
|
|
30726
|
+
"description": "For KeyTrap the paper-compliance trap is version-only scanning of the validating-resolver estate, and this entry is unusually exposed to it: the packet records cisa_kev false and active_exploitation only 'suspected', so no KEV-triggered clock ever fires and a package-version scan is the entire visible compliance signal. The fix is also entirely internal — the packet states vendor patches cap the validation work — so nothing about a patched resolver's external behaviour changes for ordinary queries, and the packet explicitly scopes remediation as a service restart, not a host reboot. That combination produces the specific false-pass this control exists to catch: a resolver host whose package has been upgraded but whose validating daemon was never restarted keeps executing the pre-patch uncapped signature-evaluation path in memory while the scanner reads the on-disk package version and reports the host remediated. Applied here, the control means an operator's remediation evidence for this CVE is the running daemon's state, not the installed package version. Distinguishing test, keyed on the behaviour the packet documents: against a staging validating resolver, serve a zone presenting many DNSKEY and RRSIG records with colliding key tags, and confirm the signature-evaluation work is bounded and the resolver keeps answering other clients' queries rather than stalling for all of them; pair that with confirming the running validator process start time postdates the package upgrade. Precondition, stated plainly: this control verifies the cap is in force — it does not itself bound the work. Until the updated build is the running build, a crafted response still forces the worst-case O(n*m) evaluation, and the packet offers no operator-side substitute: it records no live-patch primitive for this entry, and the configuration-side change its live-patch note mentions is attached to the smuggling/STARTTLS classes, not to this one.",
|
|
30727
|
+
"evidence": "Packet: CWE-770, CVSS 7.5, RWEP 39, poc_available true, patch_available true, live_patch_available false. cisa_kev false, kev_date null, active_exploitation 'suspected'. Vector: 'A validating resolver must evaluate all combinations of DNSKEY and RRSIG records when a zone presents many of them (colliding key tags)... forces worst-case O(n*m) signature evaluations, consuming CPU and stalling the resolver for all clients. Fix: vendor patches cap the validation work.' live_patch_notes: 'Remediation is a software update (and, for the smuggling/STARTTLS classes, a server configuration change); no live-patch primitive applies. Service restart, not host reboot.'",
|
|
30728
|
+
"gap_closes": [
|
|
30729
|
+
"AU-Essential-8-Patch",
|
|
30730
|
+
"ISO-27001-2022-A.8.8",
|
|
30731
|
+
"NIST-800-53-SI-2"
|
|
30732
|
+
]
|
|
30733
|
+
}
|
|
30734
|
+
]
|
|
30519
30735
|
},
|
|
30520
30736
|
"CVE-2023-50868": {
|
|
30521
30737
|
"name": "DNSSEC NSEC3 closest-encloser proof CPU exhaustion (excessive SHA-1 iterations)",
|
|
@@ -31792,7 +32008,32 @@
|
|
|
31792
32008
|
},
|
|
31793
32009
|
"ai_discovered_zeroday": false,
|
|
31794
32010
|
"ai_discovery_source": "vendor_research",
|
|
31795
|
-
"ai_assist_factor": "none"
|
|
32011
|
+
"ai_assist_factor": "none",
|
|
32012
|
+
"new_control_requirements": [
|
|
32013
|
+
{
|
|
32014
|
+
"id": "NEW-CTRL-001",
|
|
32015
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
32016
|
+
"description": "The packet gives a remote, unauthenticated request path into a deserialization sink that ends in arbitrary code execution on PTC Windchill and FlexPLM, KEV-listed 2026-06-25, with confirmed exploitation and a public PoC. For this entry the control means the PTC update is scheduled off that KEV listing rather than folded into the next platform maintenance window, with completion measured per instance against the fixed build rather than by 'approved' or 'downloaded' in a change record. Because the request requires no authentication, there is no account model to tighten and no privilege scoping that shortens the exposure — the interval between listing and fixed build is the entire mitigation surface, which is why the flaw-remediation and vulnerability-handling controls cited here can pass their attestations on a 30-day cadence while the instance stays exploitable for that whole period. Precondition: the packet records patch_available true, live_patch_available false, and a note that remediation is the vendor update plus the named compensating controls until it lands, so there is no in-place mitigation that closes the sink; every instance carries the update and the service restart it needs, and an instance updated but not restarted is not yet remediated. The clock is also not the whole remediation on this entry — the packet documents webshells dropped in the wild, so an instance that was reachable during the window is not made clean by reaching the fixed build.",
|
|
32017
|
+
"evidence": "Packet: cisa_kev true, kev_date 2026-06-25, active_exploitation 'confirmed', poc_available true, cvss 9.8, rwep_score 72. 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: 'A remote, unauthenticated attacker sends a specially crafted request whose untrusted data is deserialized by Windchill/FlexPLM (CWE-20 leading to CWE-502), yielding arbitrary code execution.'",
|
|
32018
|
+
"gap_closes": [
|
|
32019
|
+
"AU-Essential-8-Patch",
|
|
32020
|
+
"ISO-27001-2022-A.8.8",
|
|
32021
|
+
"NIST-800-53-SI-2",
|
|
32022
|
+
"NIS2-Art21-vulnerability-management"
|
|
32023
|
+
]
|
|
32024
|
+
},
|
|
32025
|
+
{
|
|
32026
|
+
"id": "NEW-CTRL-032",
|
|
32027
|
+
"name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
|
|
32028
|
+
"description": "Windchill and FlexPLM are not perimeter appliances, but the packet gives this entry the exact condition the control turns on and does not leave the post-exploitation state to inference: pre-authentication remote code execution under confirmed exploitation, observed in the wild dropping persistent JSP webshells that provide ongoing remote command execution and data exfiltration. A JSP webshell is a file inside the deployed web application; the PTC update repairs the input-validation-into-deserialization path the attacker arrived through and removes nothing that was written through it, so an instance patched in place can keep serving the attacker's shell while carrying a flaw-remediation record that reads clean. For this product the control therefore means the default response for any instance reachable during the window opened by the 2026-06-25 KEV listing is: preserve the running deployment for forensics, compare the served application against a known-good build, rebuild rather than clean in place, and rotate every credential the platform held or brokered — with exfiltration scoped against what the packet names as being at stake, the product designs and manufacturing IP the PLM platform stores. Distinguishing test: on a staging instance, place a JSP file into the deployed application, apply the vendor update, and check whether the file is still served afterwards; an upgrade procedure that leaves it in place is a procedure that leaves a webshell in place, and that is the property the flaw-remediation attestation never examines. Preconditions: rebuilding requires a restore point predating the exposure window and a source of truth for the deployment's configuration — where neither exists, the honest position is that the instance's integrity cannot be established from the patch alone, not that patching settled it. Rebuilding also does not close the vulnerability: the rebuilt instance must come up on the fixed build, because the packet records no live-patch path and the crafted request needs no credential.",
|
|
32029
|
+
"evidence": "Packet vector: 'Observed in the wild dropping persistent JSP webshells that provide ongoing remote command execution and data exfiltration from the PLM platform, which holds product designs and manufacturing IP', reached by 'a remote, unauthenticated attacker' via CWE-20 leading to CWE-502. cisa_kev true (2026-06-25), active_exploitation 'confirmed', poc_available true, cvss 9.8. 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.'",
|
|
32030
|
+
"gap_closes": [
|
|
32031
|
+
"ISO-27001-2022-A.8.8",
|
|
32032
|
+
"NIST-800-53-SI-2",
|
|
32033
|
+
"UK-CAF-B4"
|
|
32034
|
+
]
|
|
32035
|
+
}
|
|
32036
|
+
]
|
|
31796
32037
|
},
|
|
31797
32038
|
"CVE-2026-20230": {
|
|
31798
32039
|
"name": "Cisco Unified Communications Manager Server-Side Request Forgery (SSRF) Vulnerability",
|
|
@@ -32290,7 +32531,31 @@
|
|
|
32290
32531
|
},
|
|
32291
32532
|
"ai_discovered_zeroday": false,
|
|
32292
32533
|
"ai_discovery_source": "vendor_research",
|
|
32293
|
-
"ai_assist_factor": "none"
|
|
32534
|
+
"ai_assist_factor": "none",
|
|
32535
|
+
"new_control_requirements": [
|
|
32536
|
+
{
|
|
32537
|
+
"id": "NEW-CTRL-135",
|
|
32538
|
+
"name": "CONTROL-PANEL-PLUGIN-USER-SURFACE-MUST-NOT-REACH-ROOT-OPERATIONS",
|
|
32539
|
+
"description": "The tenant-writable filesystem of one account on a shared CloudLinux/CageFS host is the constrained user surface here, and the LiteSpeed cPanel plugin's generateEcCert and packageUserSize JSON-API operations are the root operations wired straight to it. Because the plugin follows an attacker-planted symlink without validating its target, a path a jailed tenant fully controls decides what a root-privileged process opens — the pattern this control forbids, and the reason the CVSS carries S:C with full CIA impact. Applied to this plugin, the control means the two named root operations resolve every path to its canonical target and verify it still sits under the invoking account's CageFS root before the privileged open, refusing a target that resolves outside the jail, rather than inheriting safety from the assumption that a jailed account cannot influence what root touches. Distinguishing test, keyed on the behaviour the packet documents rather than on a proxy signal: from an unprivileged tenant account on a staging shared host, plant a symlink in a path generateEcCert or packageUserSize will operate on whose target resolves outside that account's CageFS root, drive the JSON-API operation repeatedly to work the timing window the AC:H rating reflects, and confirm the privileged process refuses the target instead of reading or writing through it; on the defensive side, a root-privileged plugin operation resolving a path outside the invoking tenant's jail, and repeated attempts against the same operation from one account, are the observable emissions of exactly this exploit. Preconditions, stated plainly: the packet's own precondition is that the attacker already holds FTP or web-shell access to one account on the host — which is the access every paying tenant has by design — so restricting who can obtain a shell does not bound the attacker population and is not a mitigation here. The path-validation property is established by the vendor update; this control states what to verify, it does not implement it, and the packet records no live-patch path for this product class. And because exploitation is confirmed and scope is changed, the update does not undo what was already read: a host that ran the plugin during the exposure window needs cross-tenant triage and rotation of the other customers' database credentials and configuration the packet says this escape reaches.",
|
|
32540
|
+
"evidence": "Packet: CWE-61, CVSS:3.1 8.5 (AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H), RWEP 68, poc_available true, cisa_kev true, kev_date 2026-06-15, active_exploitation confirmed. Vector: 'A low-privileged tenant who already holds FTP or web-shell access to one account on a shared CloudLinux/CageFS host plants a malicious symlink in a path the LiteSpeed cPanel plugin subsequently operates on with root privilege (during the generateEcCert / packageUserSize JSON-API operations). Because the plugin follows the attacker-controlled symlink without validating its target (CWE-61/CWE-59), the privileged process reads or writes files outside the tenant's CageFS jail. This escapes the per-account sandbox to reach other customers' database credentials, config, and source — or system files... gated behind pre-existing low-privilege access and high attack complexity (a timing/race window characteristic of symlink TOCTOU).' 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.'",
|
|
32541
|
+
"gap_closes": [
|
|
32542
|
+
"NIST-800-53-AC-6",
|
|
32543
|
+
"UK-CAF-B4"
|
|
32544
|
+
]
|
|
32545
|
+
},
|
|
32546
|
+
{
|
|
32547
|
+
"id": "NEW-CTRL-001",
|
|
32548
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
32549
|
+
"description": "This entry is KEV-listed 2026-06-15 with confirmed in-the-wild exploitation, a public PoC, and an available vendor update, so it meets every trigger for an expedited clock — but the shared-hosting deployment changes what 'mitigated' has to mean before the clock can be stopped. The unit an operator patches is one shared host, while the blast radius the packet describes is every tenant on it: a single jailed account reaching root reaches the other customers' database credentials, config and source. Applied here, the control means the KEV response for a CloudLinux/CageFS fleet is scheduled per host across the whole fleet rather than per affected customer ticket, and the completion criterion includes rotating the cross-tenant secrets exposed on any host that stayed unpatched through the window — not just recording the plugin version. Precondition and the honest limit: the packet records live_patch_available false and states that remediation is the vendor update plus the named compensating controls until it lands, so there is no no-downtime path that stops this clock; and because exploitation is confirmed, meeting the SLA closes the path forward but does not evict an attacker who already used it, which is why the credential rotation belongs inside the SLA rather than after it.",
|
|
32550
|
+
"evidence": "Packet: cisa_kev true, kev_date 2026-06-15, active_exploitation confirmed, poc_available true, patch_available true, live_patch_available false, RWEP 68, CVSS 8.5. 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: the escape 'reach[es] other customers' database credentials, config, and source — or system files — escalating a single jailed account to root-level, server-wide cross-tenant compromise.'",
|
|
32551
|
+
"gap_closes": [
|
|
32552
|
+
"AU-Essential-8-Patch",
|
|
32553
|
+
"ISO-27001-2022-A.8.8",
|
|
32554
|
+
"NIST-800-53-SI-2",
|
|
32555
|
+
"NIS2-Art21-vulnerability-management"
|
|
32556
|
+
]
|
|
32557
|
+
}
|
|
32558
|
+
]
|
|
32294
32559
|
},
|
|
32295
32560
|
"CVE-2026-20262": {
|
|
32296
32561
|
"name": "Cisco Catalyst SD-WAN Manager Directory or Path Traversal Vulnerability",
|
|
@@ -32455,7 +32720,30 @@
|
|
|
32455
32720
|
},
|
|
32456
32721
|
"ai_discovered_zeroday": false,
|
|
32457
32722
|
"ai_discovery_source": "human_researcher",
|
|
32458
|
-
"ai_assist_factor": "none"
|
|
32723
|
+
"ai_assist_factor": "none",
|
|
32724
|
+
"new_control_requirements": [
|
|
32725
|
+
{
|
|
32726
|
+
"id": "NEW-CTRL-042",
|
|
32727
|
+
"name": "INCOMPLETE-PATCH-SEQUENCE-SEVERITY-MULTIPLIER",
|
|
32728
|
+
"description": "This CVE is the second entry on one primitive, and the packet says so directly: the `__class`-key instantiation path is 'reintroduced as a regression of CVE-2024-4990 (incompletely fixed in 2.0.50)'. That produces the exact condition this control governs — an operator who applied 2.0.50 holds a closed, attested remediation record on the very primitive that is now KEV-listed and exploited in the wild, and a vulnerability-management program that scores each CVE discretely will treat that record as evidence of safety rather than as the reason to look again. Applied to Yii 2, the multiplier means the framework's behaviour/configuration attachment logic is registered as a known incomplete-patch primitive, this CVE is scored above its base severity because it is the second on that primitive, and the remediation record from the first fix is reopened and re-tested rather than credited — with the standing expectation that a third bypass of the same attachment path is likely and should be watched for, not treated as a surprise. Distinguishing test: on a staging application running the current build, replay the original primitive's input shape — an attacker-supplied array carrying a `__class` key routed into behaviour/configuration attachment over an unauthenticated request path — and confirm no class is instantiated from the request-named value. A build attested as at or above 2.0.50 with CVE-2024-4990 recorded remediated, which nonetheless instantiates from `__class`, is precisely the state the packet describes and the state a discrete-CVE scoring model cannot see. Precondition: this is a scoring and re-test discipline, not a runtime mitigation. It changes which builds get retested and how urgently; it does not stop the instantiation. Only the vendor update does that, and the packet records live_patch_available false with no live-patch path for this product class.",
|
|
32729
|
+
"evidence": "Packet: CWE-424, CVSS 9.0, RWEP 72, poc_available true, cisa_kev true, kev_date 2025-05-02, active_exploitation confirmed. Vector: 'When the supplied array contains a `__class` key, Yii instantiates the named class with attacker-chosen parameters — an unsafe-reflection / object-injection primitive reintroduced as a regression of CVE-2024-4990 (incompletely fixed in 2.0.50). By selecting a class whose constructor or destructor performs file writes or command execution, the attacker converts that instantiation into remote code execution.' 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.'",
|
|
32730
|
+
"gap_closes": [
|
|
32731
|
+
"ISO-27001-2022-A.8.8",
|
|
32732
|
+
"NIS2-Art21-vulnerability-management"
|
|
32733
|
+
]
|
|
32734
|
+
},
|
|
32735
|
+
{
|
|
32736
|
+
"id": "NEW-CTRL-001",
|
|
32737
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
32738
|
+
"description": "KEV-listed 2025-05-02 with confirmed exploitation, a public PoC and an available vendor update, so the expedited clock applies — but for this CVE the harder problem is naming the asset the clock attaches to. The vulnerable component is the Yii 2 framework underneath a deployed application, and the packet's observed campaign delivered the input by chaining Craft CMS pre-auth RCE CVE-2025-32432; an estate whose asset inventory records the CMS product and version but not the framework version beneath it has nothing for this KEV entry to match against, and will report full KEV compliance while the exploited component goes untracked. Applied here, the control means the framework version underneath every internet-reachable PHP application is a first-class inventoried asset with its own SLA clock, so a KEV entry naming the framework rather than the application still lands on a host. Precondition and the honest limit: the packet records live_patch_available false with no live-patch path for this product class, so the update is the only thing that closes the instantiation path — and because exploitation is confirmed and the packet's observed outcome is web-shell deployment and data theft on the host, meeting the SLA by upgrading is necessary but not sufficient. An application reachable during the exposure window needs the host searched for a dropped web shell and the stolen-data question answered; the upgrade removes the way in, not what an attacker already left behind or already took.",
|
|
32739
|
+
"evidence": "Packet: cisa_kev true, kev_date 2025-05-02, active_exploitation confirmed, poc_available true, patch_available true, live_patch_available false, RWEP 72, CVSS 9.0, CWE-424. Vector: 'A Yii 2 application that lets attacker-controlled array input reach Yii's behavior/configuration attachment logic is reachable over the network with no authentication... In the observed campaign the input was delivered by chaining Craft CMS pre-auth RCE CVE-2025-32432, so a single unauthenticated request escalated straight to web-shell deployment and data theft on the host.' live_patch_notes: 'No live-patch path for this product class; remediation is the vendor update plus the named compensating controls until it lands.'",
|
|
32740
|
+
"gap_closes": [
|
|
32741
|
+
"AU-Essential-8-Patch",
|
|
32742
|
+
"NIST-800-53-SI-2",
|
|
32743
|
+
"NIS2-Art21-vulnerability-management"
|
|
32744
|
+
]
|
|
32745
|
+
}
|
|
32746
|
+
]
|
|
32459
32747
|
},
|
|
32460
32748
|
"CVE-2024-38475": {
|
|
32461
32749
|
"name": "Apache HTTP Server Improper Escaping of Output Vulnerability",
|
|
@@ -33251,7 +33539,38 @@
|
|
|
33251
33539
|
},
|
|
33252
33540
|
"ai_discovered_zeroday": false,
|
|
33253
33541
|
"ai_discovery_source": "human_researcher",
|
|
33254
|
-
"ai_assist_factor": "none"
|
|
33542
|
+
"ai_assist_factor": "none",
|
|
33543
|
+
"new_control_requirements": [
|
|
33544
|
+
{
|
|
33545
|
+
"id": "NEW-CTRL-145",
|
|
33546
|
+
"name": "ACTIVELY-EXPLOITED-OS-LPE-REMEDIATION-WINDOW-ENFORCEMENT",
|
|
33547
|
+
"description": "The vulnerable code is in the kernel itself — the ALSA USB-audio driver's Extigy/Mbox quirk path, where a device-advertised bNumConfigurations larger than the array usb_get_configuration() allocated turns indexed access into a read and write past the dev->config allocation. For this CVE the control means the kernel update is driven across every Linux and Android device the estate holds on the clock that opened with the 2025-04-09 KEV listing, with completion measured per device by the kernel build actually running (on handsets, the reported security patch level) rather than by 'approved' or 'downloaded' in a management console. The packet records a vendor patch and live_patch_available false, so nothing repairs this in place: a device that has staged the update but has not restarted onto the new kernel is still running the vulnerable quirk path and must be counted as exposed — and the restart is the step a user defers. Enumerate first the population that physically leaves the operator's control — laptops and handsets that get lost, seized, or left unattended — because the packet's precondition is brief physical access to a locked device, not a network position and not a user account. That same property is why account-side hardening cannot stand in for the update: the escalation begins inside the kernel's own USB enumeration path before anyone authenticates, so no privilege model is ever consulted.",
|
|
33548
|
+
"evidence": "Packet vector: 'An attacker with brief physical access plugs a malicious USB gadget into the target's locked Linux/Android device, reaching the kernel's ALSA USB-audio driver through normal USB enumeration. The crafted device matches the Extigy/Mbox quirk path and advertises a bNumConfigurations value larger than the configuration array actually allocated by usb_get_configuration(), so subsequent indexed access (e.g. in usb_destroy_configuration / snd_usb_create_quirk) reads and writes past the dev->config allocation — an out-of-bounds primitive (CWE-787).' The chain outcome the packet records is lockscreen bypass and escalation 'from the unprivileged USB-handling context to kernel/root code execution, giving full device compromise.' Fields: cisa_kev true, kev_date 2025-04-09, active_exploitation confirmed, CVSS 7.8, RWEP 59, poc_available false, ai_discovered false, 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.'",
|
|
33549
|
+
"gap_closes": [
|
|
33550
|
+
"AU-Essential-8-Patch",
|
|
33551
|
+
"ISO-27001-2022-A.8.8",
|
|
33552
|
+
"NIST-800-53-SI-2"
|
|
33553
|
+
]
|
|
33554
|
+
},
|
|
33555
|
+
{
|
|
33556
|
+
"id": "NEW-CTRL-009",
|
|
33557
|
+
"name": "KERNEL-MODULE-INVENTORY-AND-DISABLE",
|
|
33558
|
+
"description": "The exploit's entry point is a driver bind: a hostile gadget enumerates and the kernel brings up the ALSA USB-audio driver for it because the advertised device identity matches the Extigy/Mbox quirk entry. On Linux hosts with no business reason to carry audio over USB — servers, kiosks, fixed-function and appliance workstations — inventorying that driver and denying its autoload (blacklist plus an install-override, so a matching hotplug cannot pull it in) removes the reachability the crafted descriptor needs during the window before the kernel update lands. State the precondition rather than recording this as the fix: a blacklist only prevents an autoload. It does nothing where the ALSA USB-audio driver is built into the kernel image, which is the normal case on vendor Android and many appliance kernels, and nothing where the module is already resident because a USB-audio device was used earlier in the boot. For those cases the remaining levers are refusing unknown USB devices by default (deny-by-default USB device authorization / allowlisting) and the platform's no-USB-data-while-locked setting; where the driver is merely loaded rather than built in, unloading it or powering the device down so it does not survive to the next boot. On managed handsets where the operator cannot alter module or USB policy at all, none of these are available and the vendor update is the only path. Distinguishing test: with the policy in force, attach an unknown USB-audio-class gadget to a locked staging device and confirm no ALSA USB-audio bind occurs — an inventory that lists the module as 'not required' while the kernel still binds it on hotplug has recorded the exposure rather than removed it.",
|
|
33559
|
+
"evidence": "The packet makes driver reachability the precondition: the gadget is reaching 'the kernel's ALSA USB-audio driver through normal USB enumeration' and 'matches the Extigy/Mbox quirk path', with the out-of-bounds access occurring in usb_destroy_configuration / snd_usb_create_quirk. live_patch_available is false and live_patch_notes states remediation is 'the vendor update plus the named compensating controls until it lands', which is the role this control fills. Attack requires brief physical access to a locked device; active_exploitation confirmed, kev_date 2025-04-09, poc_available false.",
|
|
33560
|
+
"gap_closes": [
|
|
33561
|
+
"UK-CAF-B4"
|
|
33562
|
+
]
|
|
33563
|
+
},
|
|
33564
|
+
{
|
|
33565
|
+
"id": "NEW-CTRL-017",
|
|
33566
|
+
"name": "BUG-FAMILY-MITIGATION-PERSISTENCE",
|
|
33567
|
+
"description": "The packet does not describe this bug acting alone: the out-of-bounds primitive is combined with the other USB-driver bugs in the same chain to bypass the lockscreen and reach root. That makes the USB-side measures taken for this CVE — ALSA USB-audio autoload denial, deny-by-default USB device authorization, no-USB-data-while-locked — controls against a class reached by one physical enumeration path, not against one CVE, and it makes retiring them the moment the kernel update is marked deployed the specific mistake to avoid: the sibling drivers on that same path keep answering a hostile descriptor, and the next defect in the class then arrives at a device whose only protection is its patch level. Keep the USB restrictions in force through a stated soak period after the updated kernel is running, and re-verify them after any kernel upgrade, image rebuild, or factory reset, since those are the operations that quietly restore autoload and default device authorization. Precondition: these restrictions bound which devices can present a crafted descriptor, they do not repair the quirk path, and they are unavailable on handsets where module and USB policy are not the operator's to set. They also give nothing to a device already exploited — with confirmed in-the-wild exploitation and full device compromise as the packet's stated outcome, a device that was plugged into an unknown gadget while locked belongs on the incident path, not on the hardening path.",
|
|
33568
|
+
"evidence": "Packet vector: 'Combined with the other USB-driver bugs in the Cellebrite chain, this memory corruption is leveraged to bypass the lockscreen and escalate from the unprivileged USB-handling context to kernel/root code execution, giving full device compromise.' live_patch_notes names the interim posture explicitly — 'remediation is the vendor update plus the named compensating controls until it lands' — with live_patch_available false and patch_available true. active_exploitation confirmed; cisa_kev true, kev_date 2025-04-09; CWE-787; RWEP 59; CVSS 7.8.",
|
|
33569
|
+
"gap_closes": [
|
|
33570
|
+
"NIS2-Art21-vulnerability-management"
|
|
33571
|
+
]
|
|
33572
|
+
}
|
|
33573
|
+
]
|
|
33255
33574
|
},
|
|
33256
33575
|
"CVE-2025-29824": {
|
|
33257
33576
|
"name": "Microsoft Windows Common Log File System (CLFS) Driver Use-After-Free Vulnerability",
|
|
@@ -33361,7 +33680,32 @@
|
|
|
33361
33680
|
},
|
|
33362
33681
|
"ai_discovered_zeroday": false,
|
|
33363
33682
|
"ai_discovery_source": "vendor_research",
|
|
33364
|
-
"ai_assist_factor": "none"
|
|
33683
|
+
"ai_assist_factor": "none",
|
|
33684
|
+
"new_control_requirements": [
|
|
33685
|
+
{
|
|
33686
|
+
"id": "NEW-CTRL-124",
|
|
33687
|
+
"name": "FRAMEWORK-DEFAULT-SECRET-DETECTION",
|
|
33688
|
+
"description": "The secret is inside the product. The packet states CentreStack/Triofox ship a hard-coded ASP.NET machineKey in their IIS web.config and that it is the same across installs, so the value an attacker needs to forge a MAC-signed __VIEWSTATE is obtained from the product rather than from the target site. Nothing an operator sets, rotates or scopes touches it, and the attacker never authenticates to the portal, so account hygiene is never consulted on this path. Bound to this product, the control means every Gladinet CentreStack and Triofox portal in the estate is inventoried as depending on a product-shipped cryptographic key, each deployment is gated on the vendor update rather than on any password or account measure, and that check is re-run after any portal reinstall, image restore or rebuild — those operations restore the shipped web.config and quietly reintroduce the static key on a server that had been remediated. Distinguishing test: per portal, produce the deployed CentreStack/Triofox version and show the machineKey that IIS is using to validate ViewState is unique to that install rather than the value common to every install; an attestation that every portal administrator holds unique credentials passes cleanly while an unauthenticated attacker forges a signed ViewState against the same server. Precondition: the vendor update is what removes the dependence on a shipped key — this control is the inventory and the gate that ensure every install reaches it, and it gives nothing on its own to a portal that has not yet taken the update. The packet records a vendor patch and no live-patch path, so a portal keeps the vulnerable key handling until that update is actually applied. It also does not tell you whether a portal was already exploited, so a server that was internet-reachable before the update needs triage rather than a version check alone.",
|
|
33689
|
+
"evidence": "Packet: 'The CentreStack/Triofox web portal ships a hard-coded ASP.NET machineKey in its IIS web.config, so any unauthenticated remote attacker who knows that static key (it is the same across installs) can forge a valid, MAC-signed __VIEWSTATE payload.' CWE-321 (hard-coded cryptographic key) and CWE-798. IIS trusts the signed ViewState and deserializes it server-side, executing a .NET gadget chain at deserialization time. CISA KEV-listed 2025-04-08, active_exploitation confirmed, poc_available true, CVSS 9.0, RWEP 70. 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.'",
|
|
33690
|
+
"gap_closes": [
|
|
33691
|
+
"AU-Essential-8-Patch",
|
|
33692
|
+
"ISO-27001-2022-A.8.8",
|
|
33693
|
+
"NIST-800-53-SI-2",
|
|
33694
|
+
"UK-CAF-B4"
|
|
33695
|
+
]
|
|
33696
|
+
},
|
|
33697
|
+
{
|
|
33698
|
+
"id": "NEW-CTRL-032",
|
|
33699
|
+
"name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
|
|
33700
|
+
"description": "The packet puts the entry point at an internet-exposed portal endpoint reachable without authentication, and the end state at code execution as the IIS application-pool identity escalating toward NT AUTHORITY\\SYSTEM with lateral movement — with exploitation confirmed in the wild and a public PoC available. Applied to CentreStack/Triofox, that makes the default disposition for any portal that was internet-reachable during the exposure window a suspected-compromise case rather than an update ticket: capture the portal configuration and IIS request logs before touching the host, rebuild the server, and rotate every credential the app-pool identity could reach — portal administrator accounts, the storage back-end credentials the portal holds, and any domain credential used by or stored on that host — instead of applying the vendor update in place and closing the finding. Installing the update replaces the vulnerable key handling; it removes nothing an attacker already wrote to or started on the server, and this particular path leaves no failed-authentication trail to look for, because a forged ViewState is a valid signed request rather than a login attempt. Precondition: this is the disposition for a portal reachable during the exposure window. Where reachability across that window can be positively excluded from evidence — the portal was never published, or network records show no requests reached it — patch-in-place is the correct call; 'no alerts fired' is not that evidence, for exactly the reason above.",
|
|
33701
|
+
"evidence": "Packet: 'Reachability is the internet-exposed portal endpoint; the primitive is signed-ViewState deserialization RCE; escalation is app-pool-to-SYSTEM plus lateral movement.' Code runs as the IIS application-pool identity (IISAPPPOOL\\portaluser / portal app pool) and is 'trivially escalated toward NT AUTHORITY\\SYSTEM for full server compromise'. Any unauthenticated remote attacker who knows the static key can forge the payload. CISA KEV-listed 2025-04-08, active_exploitation confirmed, poc_available true, RWEP 70, CVSS 9.0. patch_available true; live_patch_available false.",
|
|
33702
|
+
"gap_closes": [
|
|
33703
|
+
"NIST-800-53-SI-2",
|
|
33704
|
+
"ISO-27001-2022-A.8.8",
|
|
33705
|
+
"NIS2-Art21-vulnerability-management"
|
|
33706
|
+
]
|
|
33707
|
+
}
|
|
33708
|
+
]
|
|
33365
33709
|
},
|
|
33366
33710
|
"CVE-2025-24813": {
|
|
33367
33711
|
"name": "Apache Tomcat Path Equivalence Vulnerability",
|
|
@@ -33416,7 +33760,42 @@
|
|
|
33416
33760
|
},
|
|
33417
33761
|
"ai_discovered_zeroday": false,
|
|
33418
33762
|
"ai_discovery_source": "human_researcher",
|
|
33419
|
-
"ai_assist_factor": "none"
|
|
33763
|
+
"ai_assist_factor": "none",
|
|
33764
|
+
"new_control_requirements": [
|
|
33765
|
+
{
|
|
33766
|
+
"id": "NEW-CTRL-025",
|
|
33767
|
+
"name": "CONFIGURATION-SIDE-LIVE-PATCH-INVENTORY",
|
|
33768
|
+
"description": "This CVE's exposure is configuration-determined, and the packet names each lever: the path needs the default servlet's write support enabled (the packet notes it is off by default) and partial PUT supported (on by default), and the escalation from file-write to code execution additionally needs Tomcat's file-based session persistence at the default storage location plus a deserialization-exploitable library on the classpath. Every one of those is a Tomcat configuration setting the operator can change without waiting for the vendor upgrade, which is exactly what this control requires be inventoried, tested and deployable on its own clock: know per instance whether default-servlet write support is on, turn it off wherever nothing depends on HTTP writes through that servlet, and move file-based session persistence off the default storage location where write support must stay. That matters here because the packet records a vendor update with no live-patch path, so an instance keeps running the vulnerable partial-PUT implementation until the fixed build is the one actually executing. Distinguishing test: on a staging instance carrying the production configuration, issue an unauthenticated partial PUT whose target path exercises the separator-to-dot equivalence, and confirm no attacker-controlled bytes land at a predictable location outside the intended upload target — an inventory row asserting 'write support is off by default' describes the shipped default, not the configuration this instance is running. Preconditions, both load-bearing: disabling write support is not available to an application that genuinely serves HTTP writes through the default servlet, and there the remaining levers are the session-persistence location and the upgrade. Moving session persistence off the default location removes the packet's stated route to code execution but not the write primitive itself — the packet says that absent the deserialization preconditions the same primitive still yields read or injection of security-sensitive uploaded files, so the instance stays exposed to disclosure and content tampering. And neither change evicts anything already written through the path before it was made; with exploitation confirmed in the wild and a public PoC, an instance reachable during the exposure window needs its session-persistence directory and its served content compared against a known-good state, not just a configuration diff.",
|
|
33769
|
+
"evidence": "Packet: write support on Tomcat's default servlet is 'enabled (off by default)' and 'partial PUT is supported (on by default)'; the original partial-PUT implementation 'wrote the request body to a temporary file whose name was derived from the user-supplied path with the path separator replaced by a dot (\"internal dot\" path equivalence, CWE-706/CWE-44), letting an attacker place attacker-controlled bytes at a predictable filesystem location outside the intended upload target.' The RCE step requires that 'the application uses Tomcat's file-based session persistence at the default storage location and ships a deserialization-exploitable library on the classpath', staged via partial PUT then triggered 'with a crafted JSESSIONID request (CWE-502)'; 'absent the deserialization preconditions the same primitive yields read/inject of security-sensitive uploaded files'. CISA KEV-listed 2025-04-01, active_exploitation confirmed, poc_available true, CVSS 9.8, RWEP 76. 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.'",
|
|
33770
|
+
"gap_closes": [
|
|
33771
|
+
"AU-Essential-8-Patch",
|
|
33772
|
+
"ISO-27001-2022-A.8.8",
|
|
33773
|
+
"NIST-800-53-SI-2",
|
|
33774
|
+
"UK-CAF-B4"
|
|
33775
|
+
]
|
|
33776
|
+
},
|
|
33777
|
+
{
|
|
33778
|
+
"id": "NEW-CTRL-018",
|
|
33779
|
+
"name": "SCANNER-PAPER-COMPLIANCE-TEST",
|
|
33780
|
+
"description": "A scan that reads the Tomcat version banner and stops cannot tell an operator which of this CVE's two documented outcomes each instance faces, and the packet makes that difference the entire triage question: with default-servlet write support enabled, partial PUT available, file-based session persistence at the default storage location and a deserialization-exploitable library on the classpath, the result is remote code execution; without the deserialization preconditions the same primitive yields read or injection of security-sensitive uploaded files. The operational test for this CVE is therefore whether the assessment reports, per Tomcat instance, (a) whether write support on the default servlet is enabled, (b) whether partial PUT is available, (c) where file-based session persistence stores its files, and (d) whether the build actually running carries the fix — or whether it emits one CVSS 9.8 row per version banner. A version-only result is paper compliance in both directions at once: it raises instances that cannot reach the code-execution chain, and it marks compliant an instance whose configuration does reach it as soon as the banner reports a fixed build, even though the packet records no live-patch path and the process may still be executing the previous one. Precondition: this control changes what the assessment reports; it changes nothing about the instance. An accurate inventory that finds write support enabled on a Tomcat still leaves that instance fully exposed until the configuration is changed or the fixed build is running.",
|
|
33781
|
+
"evidence": "Packet: the code-execution path is conditional on write support being 'enabled (off by default)', partial PUT being 'supported (on by default)', 'file-based session persistence at the default storage location' and 'a deserialization-exploitable library on the classpath'; 'absent the deserialization preconditions the same primitive yields read/inject of security-sensitive uploaded files (information disclosure / content tampering).' CWE-44, CWE-502, CWE-706. CISA KEV-listed 2025-04-01, active_exploitation confirmed, poc_available true, CVSS 9.8, RWEP 76. live_patch_available false.",
|
|
33782
|
+
"gap_closes": [
|
|
33783
|
+
"ISO-27001-2022-A.8.8",
|
|
33784
|
+
"NIST-800-53-SI-2",
|
|
33785
|
+
"NIS2-Art21-vulnerability-management"
|
|
33786
|
+
]
|
|
33787
|
+
},
|
|
33788
|
+
{
|
|
33789
|
+
"id": "NEW-CTRL-021",
|
|
33790
|
+
"name": "TIER-3-DEPENDENCY-INVENTORY",
|
|
33791
|
+
"description": "The packet makes a transitive dependency the switch between information disclosure and remote code execution on this CVE: the code-execution path requires that the application 'ships a deserialization-exploitable library on the classpath', alongside file-based session persistence at the default storage location. A gadget-capable library is almost never something an application declares directly — it arrives underneath a framework, a connector or a driver — so a dependency inventory that stops at declared dependencies cannot answer whether a given Tomcat-hosted application belongs to the RCE population or the disclosure population, which is the question that decides how urgently each instance is handled. Applied here: the inventory for every application deployed on an affected Tomcat must resolve the full transitive classpath, and the triage decision for this CVE must be taken from that resolved classpath rather than from the application's declared dependency list. Preconditions: resolving the classpath does not change it — an application found to carry a gadget-capable library on a Tomcat that also has write support and default-location session persistence is in the code-execution population and still needs the configuration lever or the fixed build; the inventory only identifies which instances those are. And the classpath is a property of what is deployed, so it has to be re-resolved on each application deployment rather than captured once, or the answer goes stale the next time a dependency is added underneath.",
|
|
33792
|
+
"evidence": "Packet: the escalation to RCE requires that the application 'uses Tomcat's file-based session persistence at the default storage location and ships a deserialization-exploitable library on the classpath', after which the attacker 'stages a malicious serialized session object via partial PUT, then forces Tomcat to deserialize it with a crafted JSESSIONID request (CWE-502)'. Without those preconditions the packet records the outcome as read/inject of security-sensitive uploaded files. CISA KEV-listed 2025-04-01, active_exploitation confirmed, poc_available true, RWEP 76.",
|
|
33793
|
+
"gap_closes": [
|
|
33794
|
+
"ISO-27001-2022-A.8.8",
|
|
33795
|
+
"NIS2-Art21-vulnerability-management"
|
|
33796
|
+
]
|
|
33797
|
+
}
|
|
33798
|
+
]
|
|
33420
33799
|
},
|
|
33421
33800
|
"CVE-2024-20439": {
|
|
33422
33801
|
"name": "Cisco Smart Licensing Utility Static Credential Vulnerability",
|
|
@@ -33993,7 +34372,39 @@
|
|
|
33993
34372
|
},
|
|
33994
34373
|
"ai_discovered_zeroday": false,
|
|
33995
34374
|
"ai_discovery_source": "vendor_research",
|
|
33996
|
-
"ai_assist_factor": "none"
|
|
34375
|
+
"ai_assist_factor": "none",
|
|
34376
|
+
"new_control_requirements": [
|
|
34377
|
+
{
|
|
34378
|
+
"id": "NEW-CTRL-032",
|
|
34379
|
+
"name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
|
|
34380
|
+
"description": "The Junos update repairs the isolation defect and removes nothing that ran through it. What this CVE produces, per the packet, is unsigned code executing inside the memory of a legitimate process on the router while Veriexec — the device's own verified-execution integrity protection — is circumvented, so the artifact a post-incident check normally looks for is precisely what the technique avoids leaving: PIC TINYSHELL backdoors running despite file-integrity controls. Applied to this device, the control means any Junos router where unauthorized root/shell access during the window opened by the 2025-03-13 KEV listing cannot be excluded is dispositioned as compromised rather than upgraded in place — running configuration captured and diffed against the last known-good, the device rebuilt from vendor image at the fixed release, and the credentials the router held or authenticated against rotated. This differs from the pre-authentication perimeter cases in one way that changes scoping and only that: the packet's reachability requirement is an attacker who already holds root/shell and can drop from the Junos CLI into the underlying FreeBSD shell, so the population to disposition is the set of devices where that access cannot be ruled out, not every device on an affected release. The reason for rebuilding is unchanged — the implant predates the update and survives it. Distinguishing test: state what evidence would separate a clean router from one carrying this implant. If the answer is that Veriexec reports no integrity violation or that the on-box file hashes match, the estate's remediation record rests on exactly the assurance the packet says this technique defeats. Precondition: rebuilding removes what is resident on the device and nothing else. It does not address how root/shell was obtained — which the packet does not establish for any given device — so a rebuilt router re-entered through the same credential, jump host or chained flaw returns to the same state, and the rebuild has to be paired with answering that question rather than substituted for it.",
|
|
34381
|
+
"evidence": "Juniper Junos OS improper isolation or compartmentalization (CWE-653). Packet: CISA KEV-listed 2025-03-13, active_exploitation confirmed, RWEP 57 / CVSS 4.4, poc_available false, patch_available true, live_patch_available false (\"No live-patch path for this product class; remediation is the vendor update plus the named compensating controls until it lands\"). Vector: the attacker must already hold high (root/shell) privileges and drop from the Junos CLI into the underlying FreeBSD shell — explicitly not exploitable from the Junos CLI itself — then writes attacker-controlled shellcode into the memory of a legitimate hung process via /proc/<pid>/mem and overwrites the GOT entry for fclose, so triggering EOF executes the loader. This circumvents Junos OS Veriexec verified-execution integrity protection, allowing arbitrary unsigned code (PIC TINYSHELL backdoors) to run despite file-integrity controls, converting existing root shell access into persistent, signature-evading implant execution on the router.",
|
|
34382
|
+
"gap_closes": [
|
|
34383
|
+
"ISO-27001-2022-A.8.8",
|
|
34384
|
+
"NIST-800-53-SI-2"
|
|
34385
|
+
]
|
|
34386
|
+
},
|
|
34387
|
+
{
|
|
34388
|
+
"id": "NEW-CTRL-001",
|
|
34389
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
34390
|
+
"description": "CVSS 4.4 is low here for a reason that does not reduce the consequence: the packet discounts the score for the precondition — an attacker who already holds root/shell — while the outcome it records is unsigned code running on a production router despite Veriexec. A severity-band remediation queue therefore sorts this Junos defect beneath routine medium findings, which is the specific mechanism by which it goes unremediated on core routing infrastructure. The control's requirement for this entry is that the clock runs from the 2025-03-13 KEV listing and the packet's confirmed in-the-wild exploitation rather than from the CVSS band, and that it runs against devices rather than against tickets: the packet records a vendor patch and no live-patch path for this product class, so the fixed Junos release must actually be carried onto each affected router, and completion is measured by the release the device is running — not by an image staged or a change request raised. Distinguishing test: sort the vulnerability register by severity and find where this CVE lands against the program's SLA tiers. If a 4.4 that CISA lists as exploited inherits a medium-severity window, the program is scoring the exploit's precondition instead of its exposure, and it will do the same to the next low-base-score KEV entry. Precondition: this control governs scheduling only. It gives nothing to a router already carrying the implant the packet describes — that device is dispositioned under the rebuild path, because applying the update to it changes the running release and leaves the resident code in place.",
|
|
34391
|
+
"evidence": "Packet: CISA KEV-listed 2025-03-13 with active_exploitation confirmed; RWEP 57 against CVSS 4.4; poc_available false; patch_available true; live_patch_available false with the note that remediation is the vendor update plus the named compensating controls until it lands. The vector states the low reachability bar is the requirement for pre-existing root/shell and the ability to drop from the Junos CLI into the FreeBSD shell, while the recorded outcome is arbitrary unsigned code executing despite Junos OS Veriexec.",
|
|
34392
|
+
"gap_closes": [
|
|
34393
|
+
"AU-Essential-8-Patch",
|
|
34394
|
+
"NIST-800-53-SI-2"
|
|
34395
|
+
]
|
|
34396
|
+
},
|
|
34397
|
+
{
|
|
34398
|
+
"id": "NEW-CTRL-031",
|
|
34399
|
+
"name": "FIREWALL-EGRESS-TELEMETRY-SEPARATE-TRUST-ZONE",
|
|
34400
|
+
"description": "The packet gives this exploit a required step that is not the memory corruption and that the device records: the attacker must leave the Junos CLI for the underlying FreeBSD shell, because the packet states the flaw is explicitly not exploitable from the Junos CLI itself. Everything after that — the write into a hung process via /proc/<pid>/mem, the fclose GOT overwrite, the unsigned loader — happens on a platform the attacker holds root on, which is also the platform holding the record of the shell transition that preceded it. Bound to this device, the control means Junos syslog and authentication events leave the router for a collector in a separate trust zone with its own credentials and its own authentication path, and that entry into the FreeBSD shell on a production router is an alerting condition there rather than a line read on-box during an investigation. This is the signal that survives the primitive the packet describes: the Veriexec verdict, the on-disk hashes and the local logs are all produced by the compromised platform, whereas a record already shipped off it is not. Distinguishing test: take the FreeBSD shell on a lab router, clear the local log, and confirm the event is still present and alertable on the off-device collector. Precondition: this preserves and surfaces evidence, it prevents nothing, and it covers only the window in which forwarding was already configured and reaching the collector — an attacker at root can stop the device shipping logs from the moment of compromise, so what survives is what shipped before that point, and a router's feed going quiet is itself an event to treat as a signal rather than as a collector fault. It also gives nothing on an estate where administrators enter the FreeBSD shell routinely and the event carries no alert, which is the condition to check before recording this as a detection.",
|
|
34401
|
+
"evidence": "Packet vector: reachability requires a local attacker who already holds root/shell and can drop from the Junos CLI into the underlying FreeBSD shell, and the flaw is explicitly not exploitable from the Junos CLI itself; the subsequent steps are a /proc/<pid>/mem write into a legitimate hung process and a GOT overwrite of fclose, circumventing Junos OS Veriexec so unsigned code runs despite file-integrity controls. CISA KEV-listed 2025-03-13, active_exploitation confirmed, RWEP 57 / CVSS 4.4.",
|
|
34402
|
+
"gap_closes": [
|
|
34403
|
+
"NIST-800-53-SC-7",
|
|
34404
|
+
"UK-CAF-B4"
|
|
34405
|
+
]
|
|
34406
|
+
}
|
|
34407
|
+
]
|
|
33997
34408
|
},
|
|
33998
34409
|
"CVE-2025-24993": {
|
|
33999
34410
|
"name": "Microsoft Windows NTFS Heap-Based Buffer Overflow Vulnerability",
|
|
@@ -34782,7 +35193,39 @@
|
|
|
34782
35193
|
},
|
|
34783
35194
|
"ai_discovered_zeroday": false,
|
|
34784
35195
|
"ai_discovery_source": "human_researcher",
|
|
34785
|
-
"ai_assist_factor": "none"
|
|
35196
|
+
"ai_assist_factor": "none",
|
|
35197
|
+
"new_control_requirements": [
|
|
35198
|
+
{
|
|
35199
|
+
"id": "NEW-CTRL-001",
|
|
35200
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
35201
|
+
"description": "The packet names two distinct fixed lines for this defect — the 2024 January-2025 Security Update and the 2022 SU6 January-2025 Security Update — so an estate running both Ivanti EPM branches carries two remediation targets on a single CVE, and the KEV clock covers both. Applied here, the control means the clock runs from the 2025-03-10 KEV listing, against CISA's 2025-03-31 due date on this entry, rather than from the next scheduled EPM maintenance window, and that it is measured by the build each EPM server is actually running rather than by an update approved or downloaded in the console. The packet's combination of confirmed in-the-wild exploitation and a public PoC against a defect that requires no authentication is what removes the usual argument for a longer window on a management server: there is no credential an attacker has to obtain first, so the interval between listing and update is exposure with no other gate on it. Distinguishing test: enumerate every EPM server in service, including any 2022-branch server retained for older agents, and show each is at or above its own branch's January-2025 security update. A remediation record that closes on the 2024-branch core while a 2022 SU6 server keeps serving has not remediated this CVE — the packet lists the two updates separately precisely because neither covers the other. Precondition: the packet records a vendor patch and no live-patch path, so there is no way to close this without carrying each server through its update; and this control governs the schedule only — it does nothing about a read that already succeeded against a server exposed before the update landed.",
|
|
35202
|
+
"evidence": "Ivanti Endpoint Manager (EPM) absolute path traversal (CWE-36); the packet's entry name places it at GetHashForWildcardRecursive. Packet: CISA KEV-listed 2025-03-10 with a 2025-03-31 due date and active_exploitation confirmed; RWEP 73 / CVSS 9.8; poc_available true; patch_available true; live_patch_available false, with the note that remediation is the vendor update plus the named compensating controls until it lands. Vector: absolute path traversal in Ivanti EPM before the 2024 January-2025 Security Update and 2022 SU6 January-2025 Security Update allows a remote unauthenticated attacker to leak sensitive information.",
|
|
35203
|
+
"gap_closes": [
|
|
35204
|
+
"AU-Essential-8-Patch",
|
|
35205
|
+
"NIST-800-53-SI-2"
|
|
35206
|
+
]
|
|
35207
|
+
},
|
|
35208
|
+
{
|
|
35209
|
+
"id": "NEW-CTRL-134",
|
|
35210
|
+
"name": "DEVICE-MANAGEMENT-GATEWAY-CONFIG-ENDPOINT-AUTH-INPUT-NEUTRALIZATION",
|
|
35211
|
+
"description": "Ivanti EPM is the endpoint-management plane, and this defect sits on one of its request-handling endpoints — the packet's entry name places it at GetHashForWildcardRecursive — where a caller-supplied path selects what gets read. Bound to this product, the control means two properties on that class of endpoint: it authorizes its caller before the supplied path is acted on at all, and it resolves the path and verifies the result lies inside the intended root before the read executes. The second is where an absolute-path defect differs from the case operators usually test for. CWE-36 traverses nothing — the caller names the target outright — so a filter that strips or counts relative segments passes the payload through untouched, and a control described as 'path traversal protection' can be in place and irrelevant. The packet's own summary is that a remote unauthenticated attacker leaks sensitive information, which means the endpoint's own authorization decision is the only thing standing between an untrusted caller and that read; no EPM account is consulted at any point, so an access review of EPM administrators can come back clean while the path is fully open. The deployment-side half of the control is that no EPM server keeps those endpoints reachable from a segment with no operational need to reach them. Distinguishing test: on a staging EPM server, send each path-accepting endpoint an unauthenticated request naming an absolute path outside the intended content root, and confirm it is refused before anything is read — confirming that a ../ payload is rejected does not test this defect. Precondition: caller authorization and path resolution are properties the vendor update establishes; this control states what to verify, not how to implement it. Until the update lands, restricting which segments can reach the server bounds who can send the request and leaves the endpoint fully exploitable to anything inside the permitted segment — and that restriction is unavailable to the extent the server must stay reachable for the estate it manages.",
|
|
35212
|
+
"evidence": "Packet vector: absolute path traversal (CWE-36) in Ivanti EPM before the 2024 January-2025 Security Update and 2022 SU6 January-2025 Security Update allows a remote unauthenticated attacker to leak sensitive information; the entry name locates the defect at GetHashForWildcardRecursive. CISA KEV-listed 2025-03-10 (due 2025-03-31), active_exploitation confirmed, poc_available true, RWEP 73 / CVSS 9.8, patch_available true, live_patch_available false.",
|
|
35213
|
+
"gap_closes": [
|
|
35214
|
+
"UK-CAF-B4",
|
|
35215
|
+
"ISO-27001-2022-A.8.8"
|
|
35216
|
+
]
|
|
35217
|
+
},
|
|
35218
|
+
{
|
|
35219
|
+
"id": "NEW-CTRL-037",
|
|
35220
|
+
"name": "FLEET-COMPROMISE-IR-PLAYBOOK",
|
|
35221
|
+
"description": "A read cannot be undone by an update. The packet's recorded outcome is an unauthenticated remote leak of sensitive information from the endpoint-management server, with exploitation confirmed and a public PoC in circulation, so for any EPM server reachable by untrusted callers before its January-2025 security update landed the operative question is what left it, not whether the build is now current. Applied to this product, the playbook means establishing what the path-accepting endpoint could return on this specific deployment — the packet records that sensitive information is leaked and does not enumerate it, so this is scoping work against the actual server rather than a conclusion to inherit — and then rotating anything in that set that functions as a credential, key or token on the assumption it was retrieved. The reason for assuming rather than confirming is in the packet: the attacker never authenticates, so there is no failed-login trail to search, no account to disable, and no session to trace; the absence of evidence of retrieval is not evidence against it. The fleet half of the playbook applies because of the server's role — rotation scope is set by what the EPM server itself held or could return, which is wider than its own administrator accounts, and building that inventory is a step of the playbook rather than an assumption inside it. Precondition: this addresses disclosure that has already occurred and closes nothing; the vendor update closes the path. It is scoped to servers whose reachability by untrusted callers during the window cannot be excluded, and where request logs covering that window were not retained, the exposure belongs in the risk record as unresolved rather than closed on the version bump.",
|
|
35222
|
+
"evidence": "Packet: absolute path traversal (CWE-36) allowing a remote unauthenticated attacker to leak sensitive information from Ivanti EPM before the 2024 January-2025 Security Update and 2022 SU6 January-2025 Security Update; CISA KEV-listed 2025-03-10 with a 2025-03-31 due date, active_exploitation confirmed, poc_available true, RWEP 73 / CVSS 9.8, patch_available true, live_patch_available false.",
|
|
35223
|
+
"gap_closes": [
|
|
35224
|
+
"NIS2-Art21-vulnerability-management",
|
|
35225
|
+
"NIST-800-53-SI-2"
|
|
35226
|
+
]
|
|
35227
|
+
}
|
|
35228
|
+
]
|
|
34786
35229
|
},
|
|
34787
35230
|
"CVE-2024-57968": {
|
|
34788
35231
|
"name": "Advantive VeraCore Unrestricted File Upload Vulnerability",
|
|
@@ -35116,7 +35559,30 @@
|
|
|
35116
35559
|
},
|
|
35117
35560
|
"ai_discovered_zeroday": false,
|
|
35118
35561
|
"ai_discovery_source": "unknown",
|
|
35119
|
-
"ai_assist_factor": "none"
|
|
35562
|
+
"ai_assist_factor": "none",
|
|
35563
|
+
"new_control_requirements": [
|
|
35564
|
+
{
|
|
35565
|
+
"id": "NEW-CTRL-145",
|
|
35566
|
+
"name": "ACTIVELY-EXPLOITED-OS-LPE-REMEDIATION-WINDOW-ENFORCEMENT",
|
|
35567
|
+
"description": "The packet places this in the Windows Win32k component failing to properly handle objects in memory (CWE-404) and frames the outcome as elevation of privilege, so what this flaw supplies an attacker is the escalation step after a foothold rather than the foothold itself — which makes the remediation window the whole of the defence. For this CVE the control means the Windows update carrying the Win32k fix is driven on the clock that opened with the 2025-03-03 KEV listing and its 2025-03-24 due date, not on the queue position a 2018 CVE with a 7.8 base score earns in a backlog ordered by disclosure date or CVSS band. Enumeration is the hard half here, and it has to follow the packet's own affected list rather than a workstation-only or current-server scope: Windows 7, Windows 8.1, Windows RT 8.1, Windows 10 and Windows 10 Servers alongside Windows Server 2008, Server 2008 R2, Server 2012, Server 2012 R2, Server 2016 and Server 2019 — one defect reaching across essentially every Windows product version an estate is likely to hold. Completion therefore has to be measured as each host's installed build against the fix for that host's own product version; a management console reporting 'update approved' or an estate-level claim of 'supported builds, current rollups' has not answered that question for a single machine. Distinguishing test: produce, per product version named above, the list of hosts and their installed builds and show each carries the fix — an attestation that the estate is patched to policy reads clean while a Server 2008 R2 or Windows 7 host that never took the update stays fully exploitable. Precondition: the packet records a vendor patch and no live-patch path, so a host carries the vulnerable Win32k code until that update is actually installed on it, and the packet's own remediation note is that the named compensating controls are what hold until it lands. This control reduces exposure on no host it cannot enumerate and no host it cannot update.",
|
|
35568
|
+
"evidence": "Packet: \"Microsoft Windows Win32k Improper Resource Shutdown or Release Vulnerability\", CWE-404. Vector: \"An elevation of privilege vulnerability exists in Windows when the Win32k component fails to properly handle objects in memory, aka 'Win32k Elevation of Privilege Vulnerability.' This affects Windows 7, Windows Server 2012 R2, Windows RT 8.1, Windows Server 2008, Windows Server 2019, Windows Server 2012, Windows 8.1, Windows Server 2016, Windows Server 2008 R2, Windows 10, Windows 10 Servers.\" CISA KEV-listed 2025-03-03 (due 2025-03-24), active_exploitation confirmed. CVSS 7.8, RWEP 79. patch_available true; live_patch_available false, with the packet's note that remediation is the vendor update plus the named compensating controls until it lands.",
|
|
35569
|
+
"gap_closes": [
|
|
35570
|
+
"AU-Essential-8-Patch",
|
|
35571
|
+
"ISO-27001-2022-A.8.8",
|
|
35572
|
+
"NIST-800-53-SI-2",
|
|
35573
|
+
"NIS2-Art21-vulnerability-management"
|
|
35574
|
+
]
|
|
35575
|
+
},
|
|
35576
|
+
{
|
|
35577
|
+
"id": "NEW-CTRL-003",
|
|
35578
|
+
"name": "KERNEL-EXPLOITATION-DETECTION",
|
|
35579
|
+
"description": "The packet gives a public PoC, confirmed in-the-wild exploitation, and no live-patch path, so every affected host has an interval between the 2025-03-03 KEV listing and the moment the vendor update is installed on it during which detection is the only lever the operator holds — the packet's own remediation note names compensating controls as what covers that interval. Key the rule on the behaviour the packet actually documents: Win32k mishandling objects in memory to elevate privilege means the observable event is a process acquiring privileges it did not start with, i.e. a token or integrity-level transition on an already-running process that did not originate from a service start, a scheduled-task launch, or an interactive elevation. Do not key it on process crashes or on exploit-tool file signatures — an exploit doing exactly what this packet describes produces the privilege transition and need not produce either, so a rule built on those signals misses it. Distinguishing test: on a staging host of one of the Windows product versions the packet names, cause a standard-user process to acquire SYSTEM privileges and confirm the rule fires on the token transition itself rather than on the tool that produced it. Two preconditions, both load-bearing. First, this detects and does not prevent: it bounds dwell time on a host that remains fully exploitable, and it yields nothing on a host with no sensor deployed. Second, the flaw's end state is kernel-level privilege, and that same privilege lets an attacker stop or blind a host-resident sensor — so the alert has to reach a collector off the host, and a sensor going quiet has to alarm on its own rather than read as a clean host.",
|
|
35580
|
+
"evidence": "Packet: vector \"An elevation of privilege vulnerability exists in Windows when the Win32k component fails to properly handle objects in memory\"; CWE-404; poc_available true; active_exploitation confirmed; CISA KEV-listed 2025-03-03; 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.\"; RWEP 79, CVSS 7.8.",
|
|
35581
|
+
"gap_closes": [
|
|
35582
|
+
"UK-CAF-B4"
|
|
35583
|
+
]
|
|
35584
|
+
}
|
|
35585
|
+
]
|
|
35120
35586
|
},
|
|
35121
35587
|
"CVE-2022-43769": {
|
|
35122
35588
|
"name": "Hitachi Vantara Pentaho BA Server Special Element Injection Vulnerability",
|
|
@@ -35257,7 +35723,30 @@
|
|
|
35257
35723
|
},
|
|
35258
35724
|
"ai_discovered_zeroday": false,
|
|
35259
35725
|
"ai_discovery_source": "human_researcher",
|
|
35260
|
-
"ai_assist_factor": "none"
|
|
35726
|
+
"ai_assist_factor": "none",
|
|
35727
|
+
"new_control_requirements": [
|
|
35728
|
+
{
|
|
35729
|
+
"id": "NEW-CTRL-129",
|
|
35730
|
+
"name": "ENTERPRISE-ERP-MANAGEMENT-FUNCTION-AUTHENTICATION",
|
|
35731
|
+
"description": "The packet puts the defect inside the Pentaho BA Server's own authorization decision: the server's security restrictions are expressed against URL paths, and a non-canonical form of the same path circumvents them (CWE-647). The restriction layer and the resource that ultimately serves the request disagree about which path was asked for, and the resource serves it anyway — the configuration is not what fails, the matching of a request to that configuration is. Bound to this product, the control means every resource sitting behind those restrictions makes its own authorization decision, after the path has been canonicalized, instead of inheriting a verdict from the URL-pattern layer fronting it; and the BA Server's HTTP surface answers only from segments with an operational need to reach it. Distinguishing test: on a staging BA Server, request each restricted resource in path forms that differ from its canonical form and confirm each is refused by the resource itself before it acts — a review-based attestation that the server's security restrictions are defined and approved passes cleanly while this path stays open, because the restriction set is intact and simply never matched. Precondition: canonicalization-before-authorization is a property the vendor release supplies; this control states what to verify, it does not implement it. Until an instance is on 9.4.0.1 or 9.3.0.2 — the fixed versions the packet names — restricting which segments can reach the server bounds who is able to send a non-canonical request but leaves the decision itself broken for every caller inside the permitted segment, and that restriction is unavailable wherever the server has to remain reachable by its normal user population.",
|
|
35732
|
+
"evidence": "Packet: \"Hitachi Vantara Pentaho BA Server Authorization Bypass Vulnerability\", CWE-647. Vector: \"Hitachi Vantara Pentaho Business Analytics Server versions before 9.4.0.1 and 9.3.0.2, including 8.3.x contain security restrictions using non-canonical URLs which can be circumvented.\" CISA KEV-listed 2025-03-03 (due 2025-03-24), active_exploitation confirmed, poc_available true. CVSS 8.6, RWEP 65. patch_available true; live_patch_available false.",
|
|
35733
|
+
"gap_closes": [
|
|
35734
|
+
"UK-CAF-B4"
|
|
35735
|
+
]
|
|
35736
|
+
},
|
|
35737
|
+
{
|
|
35738
|
+
"id": "NEW-CTRL-001",
|
|
35739
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
35740
|
+
"description": "The clock on this entry is not the disclosure date. The packet records a 2022 CVE that CISA listed on 2025-03-03 with a 2025-03-24 due date, confirmed in-the-wild exploitation and a public PoC — so a queue ordered by CVE age, or by an 8.6 base score filed below that month's criticals, puts it behind work that matters less. Two things make the SLA product-specific here. First, the defect is in an application: the framework gap cited on this entry is 'Patch operating systems', and an OS-patch attestation never reports on a Pentaho BA Server at all, so the SLA has to be owned by whoever tracks the analytics platform rather than by the OS-patching cadence. Second, the SLA has to be satisfiable by something other than the upgrade for part of the estate, because the upgrade is not always a maintenance window: the packet names 9.4.0.1 and 9.3.0.2 as the fixed versions and names 8.3.x among the affected, so an 8.3.x deployment has no fixed release on its own branch and reaches remediation only by moving branches — a migration project, not a patch. For that population the control's 'documented compensating controls' arm is the load-bearing one, and what it has to document is which callers can reach the BA Server's HTTP surface, carried on a dated commitment to the version move rather than an open-ended risk acceptance. Precondition: that reachability restriction bounds the population able to send a crafted request; it does not repair the authorization decision, so any caller legitimately inside the permitted segment still reaches the circumventable path, and the packet records no live-patch route for this product class — the vendor release is the only thing that closes it.",
|
|
35741
|
+
"evidence": "Packet: CISA KEV-listed 2025-03-03 (due 2025-03-24) with active_exploitation confirmed and poc_available true; CVSS 8.6, RWEP 65; vector names fixed versions 9.4.0.1 and 9.3.0.2 and names 8.3.x among affected versions; product is Hitachi Vantara Pentaho Business Analytics Server; 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.\"; the citing framework gap AU-Essential-8-Patch is recorded with control text \"Patch operating systems\".",
|
|
35742
|
+
"gap_closes": [
|
|
35743
|
+
"AU-Essential-8-Patch",
|
|
35744
|
+
"ISO-27001-2022-A.8.8",
|
|
35745
|
+
"NIST-800-53-SI-2",
|
|
35746
|
+
"NIS2-Art21-vulnerability-management"
|
|
35747
|
+
]
|
|
35748
|
+
}
|
|
35749
|
+
]
|
|
35261
35750
|
},
|
|
35262
35751
|
"CVE-2023-20118": {
|
|
35263
35752
|
"name": "Cisco Small Business RV Series Routers Command Injection Vulnerability",
|
|
@@ -35841,7 +36330,40 @@
|
|
|
35841
36330
|
"adequate": false,
|
|
35842
36331
|
"gap": "Security-of-processing obligations are undermined when embedded API keys/credentials inside a 'flow' are exfiltratable by any authenticated user of the same multi-tenant deployment."
|
|
35843
36332
|
}
|
|
35844
|
-
}
|
|
36333
|
+
},
|
|
36334
|
+
"new_control_requirements": [
|
|
36335
|
+
{
|
|
36336
|
+
"id": "NEW-CTRL-106",
|
|
36337
|
+
"name": "AI-APP-API-OBJECT-AUTHORIZATION-AND-FIELD-EXPOSURE",
|
|
36338
|
+
"description": "The packet describes both halves of this control failing on the same platform. The read half: an authenticated low-privilege attacker enumerates flow UUIDs through /api/v1/flows/, so the listing endpoint returns object identifiers belonging to other accounts instead of scoping the query to the caller's own flows. The act half: /api/v1/responses accepts a caller-supplied flow ID and runs it without checking that the caller owns it (CWE-639) — the user-controlled key is the authorization decision. Bound to Langflow, the requirement is that every endpoint taking a flow ID scopes it to the calling account before doing anything with it, and that listing endpoints return only the caller's own objects, so possession of a UUID never grants anything. The distinguishing test is the packet's own attack path run deliberately: on a staging instance with two ordinary accounts, list flows as account A and confirm B's flow IDs do not appear, then submit a known B flow ID to /api/v1/responses as A and confirm it is refused before the flow runs. This is also why the identity and access-control attestations recorded against this entry pass while the flaw is fully exploitable — the attacker holds a genuine Langflow account and authenticates normally, so unique accounts, role assignment and login controls are all exercised as designed; nothing in that model is consulted for an object whose ownership the API never checks. Precondition and aftermath: the ownership check is what the 1.9.1 release the packet names supplies, and until an instance is on it the only operator lever is reducing who holds an account on a shared instance at all — which does not help against an account that is legitimately there. And because the packet describes the executed flow carrying its owner's embedded credentials, with 'leak api keys' as the injected instruction, any instance that ran multi-user before the upgrade must treat every credential embedded in a flow as exposed and rotate it. Upgrading closes the path; it does not un-disclose a key already read out.",
|
|
36339
|
+
"evidence": "Packet: \"Langflow Authorization Bypass Through User-Controlled Key Vulnerability\", CWE-639. Vector: \"Prior to 1.9.1, an Insecure Direct Object Reference (IDOR) vulnerability in /api/v1/responses endpoint allows an authenticated attacker to execute any flow belonging to another user by specifying the victim's flow ID in the request. This vulnerability is fixed in 1.9.1.\" Attack vector: \"An authenticated low-privilege attacker enumerates flow UUIDs via /api/v1/flows/, then submits a victim's flow ID to /api/v1/responses along with an injected instruction (e.g. 'leak api keys'), causing the platform to execute the victim's flow — including any embedded credentials — under the attacker's control.\" CISA KEV-listed 2026-07-07, active_exploitation confirmed, poc_available true. CVSS 8.4, RWEP 65. patch_available true; live_patch_available false.",
|
|
36340
|
+
"gap_closes": [
|
|
36341
|
+
"NIST-800-53-AC-3",
|
|
36342
|
+
"ISO-27001-2022-A.5.15",
|
|
36343
|
+
"UK-CAF-B2",
|
|
36344
|
+
"GDPR-Art32"
|
|
36345
|
+
]
|
|
36346
|
+
},
|
|
36347
|
+
{
|
|
36348
|
+
"id": "NEW-CTRL-103",
|
|
36349
|
+
"name": "AI-APP-BUILDER-EXECUTION-ENDPOINT-AUTH-AND-SANDBOX",
|
|
36350
|
+
"description": "Langflow is the product class this control governs, but this entry exercises its second half rather than its first: /api/v1/responses is an authenticated endpoint and the packet's attacker holds a valid low-privilege account, so 'authenticate every endpoint that can reach a code-execution path' is already satisfied and contributes nothing here. What the packet describes is the run path itself — the platform executes the flow graph including any credentials embedded in it, and the attacker supplies an instruction ('leak api keys' is the packet's own example) that the run then carries out. Bound to this deployment, the requirement is that a flow run is confined to the capability the requesting principal is entitled to rather than to whatever the flow's owner accumulated: request-supplied instruction text must not be able to drive the run into filesystem access, network egress or credential reads that the flow's declared purpose does not need, and credentials a flow uses should be resolved at execution time from a store bound to the entitled principal rather than held inline in the graph where any execution of it hands them over. This is the least-privilege lever on this entry, and it is worth stating why the privilege model that already exists does not provide it: the flow runs with its owner's accumulated capability regardless of who asked for the run, so per-account privilege scoping is never the thing that decides what the execution can reach. Distinguishing test: on a staging instance, run a flow holding a provider key with an appended instruction to emit that key, and confirm the key does not appear in the response. Precondition, and it is the decisive one: confinement bounds what an instruction achieves once a run has started — it does not decide who may start a run against whose flow, which is the actual defect and is closed by the object-authorization control on this entry and by the 1.9.1 release the packet names. No sandbox can withhold from a flow the credentials its own steps legitimately need, so this is a damage-bounding measure, never the fix.",
|
|
36351
|
+
"evidence": "Packet: attack vector states the attacker is \"authenticated low-privilege\" and submits a victim's flow ID \"along with an injected instruction (e.g. 'leak api keys'), causing the platform to execute the victim's flow — including any embedded credentials — under the attacker's control\"; product is Langflow, \"a tool for building and deploying AI-powered agents and workflows\"; fixed in 1.9.1; CWE-639; CVSS 8.4; active_exploitation confirmed; poc_available true; patch_available true, live_patch_available false.",
|
|
36352
|
+
"gap_closes": [
|
|
36353
|
+
"NIST-800-53-AC-6"
|
|
36354
|
+
]
|
|
36355
|
+
},
|
|
36356
|
+
{
|
|
36357
|
+
"id": "NEW-CTRL-033",
|
|
36358
|
+
"name": "AI-ML-DEVELOPER-TOOLING-INVENTORY",
|
|
36359
|
+
"description": "The patch gap cited against this entry reads 'Patch operating systems', and that is the problem in one line: Langflow is a self-hosted agent-and-workflow builder, not an operating system, so an estate whose patch attestation covers OS builds never reports on it at all — the 2026-07-07 KEV listing lands against software that no OS-patching cadence, and frequently no software inventory, has ever enumerated. Applied here, the control requires Langflow instances to appear in a developer-tooling inventory in their own right, each row carrying the instance's exposed endpoints, who holds accounts on it, the running version measured against the 1.9.1 fixed release the packet names, and — the field that matters most for this CVE — a blast-radius entry recording which provider credentials are embedded in flows on that instance. The packet's attack converts one ordinary account into execution of any other user's flow with that flow's credentials, so blast radius on a shared instance is every key any user has embedded in it, and that figure is only knowable if someone wrote it down before the incident. Distinguishing test: ask for the list of Langflow instances in the estate with their versions and their per-instance embedded-credential inventory; if the answer has to be assembled by polling teams, that is the finding, because it is the same answer the operator will need under time pressure to scope key rotation after an exposure window. Precondition: an inventory reduces no exposure by itself. It is what makes the upgrade to 1.9.1 and the post-exposure rotation reach every instance rather than the ones the security team already knew about, and it is worth nothing for an instance a team stood up outside the process that maintains it.",
|
|
36360
|
+
"evidence": "Packet: product is Langflow, \"a tool for building and deploying AI-powered agents and workflows\"; fixed in 1.9.1; CISA KEV-listed 2026-07-07 with active_exploitation confirmed; the executed flow includes \"any embedded credentials\" and the injected instruction example is \"leak api keys\"; the attacker is an authenticated low-privilege account on the same instance; patch_available true, live_patch_available false; the citing framework gap AU-Essential-8-Patch is recorded with control text \"Patch operating systems\".",
|
|
36361
|
+
"gap_closes": [
|
|
36362
|
+
"AU-Essential-8-Patch",
|
|
36363
|
+
"NIS2-Art21-vulnerability-management"
|
|
36364
|
+
]
|
|
36365
|
+
}
|
|
36366
|
+
]
|
|
35845
36367
|
},
|
|
35846
36368
|
"CVE-2026-48908": {
|
|
35847
36369
|
"name": "JoomShaper SP Page Builder Unrestricted Upload of File with Dangerous Type Vulnerability",
|
|
@@ -36174,7 +36696,28 @@
|
|
|
36174
36696
|
"adequate": false,
|
|
36175
36697
|
"gap": "Least-privilege control is undermined because the flaw is reachable by any admin-privileged account — a compromised or over-provisioned VoIP admin credential is sufficient to pivot to full command execution."
|
|
36176
36698
|
}
|
|
36177
|
-
}
|
|
36699
|
+
},
|
|
36700
|
+
"new_control_requirements": [
|
|
36701
|
+
{
|
|
36702
|
+
"id": "NEW-CTRL-135",
|
|
36703
|
+
"name": "CONTROL-PANEL-PLUGIN-USER-SURFACE-MUST-NOT-REACH-ROOT-OPERATIONS",
|
|
36704
|
+
"description": "The Mitel phone's administrative management interface is the constrained user surface this control governs. The packet places the defect in a boot-process parameter the product fails to sanitize, and describes an attacker who already holds administrative privilege on that interface injecting shell metacharacters to escape the parameter context and execute arbitrary commands in the phone's underlying OS — a device-configuration surface wired straight through to an OS command context, which is the pattern the control forbids. Bound to this product, it means a value an administrator sets on a 6800, 6900 or 6900w Series handset or the 6970 Conference Unit is consumed by the boot process as data and never reaches a command interpreter, so that a phone-administration role stays a configuration role instead of becoming a shell on the handset. This is also why the least-privilege control cited as insufficient on this entry does not cover the path: the attacker uses a legitimate administrative account, so per-account privilege scoping is never the thing that fails — the failure is that the administrator role, correctly held, reaches arbitrary command execution. Preconditions: the vendor firmware update that moves a handset past the affected range is what repairs that boundary; this control states the property to verify, it does not implement it. Until that update lands on a given handset, the only operator-side lever is limiting which accounts and which network segments can reach the phones' management interface — that bounds who can present the injected parameter but does not close the path, because any account that legitimately administers a phone still reaches it, and it gives nothing at all once an administrator credential is in an attacker's hands. And because exploitation is confirmed, a handset whose management interface was reachable during the exposure window needs its running configuration compared against a known-good baseline rather than being closed on the update: commands that already executed in the phone's system context are not undone by loading new firmware.",
|
|
36705
|
+
"evidence": "Packet vector: a vulnerability in the Mitel 6800 Series, 6900 Series and 6900w Series SIP Phones, including the 6970 Conference Unit, through R6.4.0.HF1 (R6.4.0.136), could allow an authenticated attacker with administrative privilege to conduct an argument injection attack due to insufficient parameter sanitization during the boot process, with a successful exploit allowing execution of arbitrary commands within the context of the system (CWE-88). Packet attack_vector: the attacker already holds administrative access to the phone's management interface and injects shell metacharacters into a boot-process parameter to escape the intended parameter context. CISA KEV-listed 2025-02-12 with active_exploitation confirmed; poc_available true; RWEP 64 against CVSS 7.2. The packet records NIST-800-53-AC-6 (Least Privilege) and ISO/IEC 27001:2022 A.8.9 (Configuration management) among the framework controls already cited as insufficient for this entry.",
|
|
36706
|
+
"gap_closes": [
|
|
36707
|
+
"NIST-800-53-AC-6",
|
|
36708
|
+
"ISO-27001-2022-A.8.9"
|
|
36709
|
+
]
|
|
36710
|
+
},
|
|
36711
|
+
{
|
|
36712
|
+
"id": "NEW-CTRL-001",
|
|
36713
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
36714
|
+
"description": "For this entry the expedited clock runs from the 2025-02-12 KEV listing, and the population it has to be measured against is the handsets themselves: every 6800, 6900 and 6900w Series phone and every 6970 Conference Unit whose running load falls in the affected range the packet names, through R6.4.0.HF1 (R6.4.0.136). Completion has to be counted per device against its reported firmware load, not as a site-level or platform-level statement that the phones were updated — a telephony estate is distributed across sites and the individual handset is precisely the asset class a server-and-workstation patch program has no row for, so an SLA measured on anything coarser than the per-device load will report green over handsets still running affected firmware. The distinguishing test: enumerate the handsets and conference units in service and confirm none reports a load at or below R6.4.0.HF1 (R6.4.0.136); a device absent from that enumeration is unmeasured, not compliant. Preconditions and limits: the packet records a vendor patch and registers no live-patch path, so the firmware update itself is the only remediation available — there is nothing to apply to a running handset in the meantime. Where a handset cannot be taken to the fixed load inside the window, the control's compensating-control branch must be written down explicitly rather than assumed, and for this flaw the honest compensating control is restricting which accounts and segments can reach the management interface; that bounds who can attempt the injection, it does not remove the unsanitized boot parameter, and it does not help where the administrative credential is already compromised.",
|
|
36715
|
+
"evidence": "Packet fields: cisa_kev true with kev_date 2025-02-12; active_exploitation confirmed; poc_available true; patch_available true; live_patch_available false with no live-patch notes recorded for this entry; RWEP 64 against CVSS 7.2. Affected range from the packet vector: Mitel 6800 Series, 6900 Series and 6900w Series SIP Phones, including the 6970 Conference Unit, through R6.4.0.HF1 (R6.4.0.136). The packet cites EU NIS2 Directive Art. 21 vulnerability handling as a framework control insufficient for this entry.",
|
|
36716
|
+
"gap_closes": [
|
|
36717
|
+
"NIS2-Art21-vulnerability-management"
|
|
36718
|
+
]
|
|
36719
|
+
}
|
|
36720
|
+
]
|
|
36178
36721
|
},
|
|
36179
36722
|
"CVE-2025-21418": {
|
|
36180
36723
|
"name": "Microsoft Windows Ancillary Function Driver for WinSock Heap-Based Buffer Overflow Vulnerability",
|
|
@@ -36537,7 +37080,28 @@
|
|
|
36537
37080
|
"adequate": false,
|
|
36538
37081
|
"gap": "Least-functionality/secure-configuration baselines should prevent a signed executable from loading DLLs out of a user-writable application directory; safe DLL search-order hardening wasn't applied."
|
|
36539
37082
|
}
|
|
36540
|
-
}
|
|
37083
|
+
},
|
|
37084
|
+
"new_control_requirements": [
|
|
37085
|
+
{
|
|
37086
|
+
"id": "NEW-CTRL-021",
|
|
37087
|
+
"name": "TIER-3-DEPENDENCY-INVENTORY",
|
|
37088
|
+
"description": "The vulnerable executable here is not something an operator installs by name. The packet identifies mDNSResponder.exe as part of Audinate's Dante Application Library for Windows, so the binary an attacker abuses arrives on a Windows host as a component of whatever product embeds that library, under that product's name in the installed-software list. Applied to this CVE, the control means the software inventory and SBOM carry the Dante Application Library and the mDNSResponder.exe it installs as components in their own right — each with its own version and its own fix state, recorded separately from the product that shipped them — because a remediation program that enumerates only installed applications has no row to act on when the KEV entry names the library rather than the application. Scope this to what the packet establishes: locate copies of that named library and executable. The packet ties the defect to mDNSResponder.exe improperly specifying how, and from which folder, it loads a DLL, and to a malicious dal_keepalives.dll dropped in that executable's own application directory; it provides no mapping of the defect into other signed binaries, so treating every DLL-loading signed executable in the estate as an instance of this CVE would manufacture findings against software no evidence implicates. The distinguishing test: search the estate's Windows hosts for mDNSResponder.exe on disk and reconcile every hit against an inventory record naming the Dante Application Library and its version; hits with no matching record are exactly the population the flaw-remediation process cannot currently reach, and they will not appear on any patch report. Precondition and limit: an inventory locates the component, it does not remediate it. The packet records that a vendor patch exists, so each located copy still has to be carried to the fixed library; a copy installed by software that is not under management is remediated by removing that software, not by recording the component as inventoried.",
|
|
37089
|
+
"evidence": "Packet vector: mDNSResponder.exe is vulnerable to DLL sideloading — the executable improperly specifies how to load the DLL, from which folder and under what conditions, so a malicious attacker can use the valid and legitimate executable to load malicious files (CWE-114, CWE-426). Packet attack_vector: an attacker with local access places a malicious dal_keepalives.dll in the application directory of the legitimate, signed mDNSResponder.exe, part of Audinate's Dante Application Library for Windows; the trusted binary then loads the attacker's DLL and executes code in the context of the trusted process. CISA KEV-listed 2025-02-06 with active_exploitation confirmed; patch_available true; RWEP 40 against CVSS 7.8. The packet cites EU NIS2 Art. 21 supply chain security measures and NIST SP 800-53 SI-2 (Flaw Remediation) among the framework controls insufficient for this entry.",
|
|
37090
|
+
"gap_closes": [
|
|
37091
|
+
"NIS2-Art21-supply-chain",
|
|
37092
|
+
"NIST-800-53-SI-2"
|
|
37093
|
+
]
|
|
37094
|
+
},
|
|
37095
|
+
{
|
|
37096
|
+
"id": "NEW-CTRL-001",
|
|
37097
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
37098
|
+
"description": "This entry is the case the control's 'whichever is later' wording exists for. The CVE identifier is from 2022 and the packet records a vendor patch as available, but the KEV listing — and with it the evidence of confirmed in-the-wild exploitation — did not arrive until 2025-02-06. A risk-based vulnerability-management cycle that triaged this at disclosure saw a local-access DLL sideload with no public proof-of-concept, which is precisely the profile such a cycle files below its action threshold and never revisits; the packet still carries poc_available false today, so a triage weighted on public exploit code would deprioritize it while it is in fact being exploited. Applied to this product, the control means the KEV listing date reopens the item and starts an expedited clock over every located copy of the Dante Application Library and its mDNSResponder.exe, with the verified state being the library version present on each host rather than the currency of the application that bundled it. Preconditions and limits: the packet registers no live-patch path, so there is no interim fix to apply — a copy is either carried to the fixed library or it is exposed. Where that cannot happen inside the window, the control's compensating-control branch has to be documented rather than implied, and for this flaw the defensible compensating control follows directly from the packet's own exploitation step: constrain write access to mDNSResponder.exe's application directory so that no identity other than one performing a vendor update can place a DLL there. State its bounds honestly — it does nothing on a host where the attacker already holds the privilege needed to rewrite that directory or its permissions, and it does not remove a dal_keepalives.dll planted before the restriction was applied, so a host that ran the vulnerable configuration during the exposure window needs that directory's contents compared against the vendor's file set rather than being closed on the update.",
|
|
37099
|
+
"evidence": "Packet fields: cve id CVE-2022-23748 with cisa_kev true and kev_date 2025-02-06; active_exploitation confirmed; poc_available false; patch_available true; live_patch_available false with no live-patch notes recorded; RWEP 40 against CVSS 7.8. Packet attack_vector establishes the exploitation step as an attacker with local access placing a malicious dal_keepalives.dll in the application directory of the legitimate, signed mDNSResponder.exe. The packet cites ISO/IEC 27001:2022 A.8.8 (Management of technical vulnerabilities) among the framework controls insufficient for this entry.",
|
|
37100
|
+
"gap_closes": [
|
|
37101
|
+
"ISO-27001-2022-A.8.8"
|
|
37102
|
+
]
|
|
37103
|
+
}
|
|
37104
|
+
]
|
|
36541
37105
|
},
|
|
36542
37106
|
"CVE-2020-29574": {
|
|
36543
37107
|
"name": "CyberoamOS (CROS) SQL Injection Vulnerability",
|
|
@@ -36747,7 +37311,30 @@
|
|
|
36747
37311
|
"adequate": false,
|
|
36748
37312
|
"gap": "Given a near-1.0 EPSS score, Essential Eight's most urgent patch-applications timeline (extreme-risk, days) was necessary but adoption still lagged for many self-hosted OFBiz instances."
|
|
36749
37313
|
}
|
|
36750
|
-
}
|
|
37314
|
+
},
|
|
37315
|
+
"new_control_requirements": [
|
|
37316
|
+
{
|
|
37317
|
+
"id": "NEW-CTRL-129",
|
|
37318
|
+
"name": "ENTERPRISE-ERP-MANAGEMENT-FUNCTION-AUTHENTICATION",
|
|
37319
|
+
"description": "OFBiz's view-controller is where this product makes its authorization decision, and the CVE is that decision being skipped rather than being made wrongly: the packet describes an unauthenticated attacker directly requesting a view-controller endpoint — forced browsing, CWE-425 — that bypasses OFBiz's view-authorization checks, and then reaching the file-import functionality sitting behind it to plant and execute a malicious server-side file for full remote code execution. Bound to this product, the control means the functions behind those endpoints authorize their caller themselves instead of inheriting a verdict from the view-controller mapping that fronts them, with the file-import path first in line because that is the specific function the packet shows converting a missed authorization check into code execution on the server; and it means an instance's back-office surface is segmented so an untrusted caller cannot present the request at all. This is why the identity-and-access and access-enforcement controls cited as insufficient here do not touch the path: the attacker never authenticates as any OFBiz user, so no account, role or permission is ever consulted, and an attestation that every OFBiz user authenticates and is least-privileged passes cleanly while the endpoint stays reachable. The distinguishing test: from a segment with no operational need for OFBiz's back-office functions, issue unauthenticated requests directly to each view-controller endpoint on a staging instance — every endpoint capable of writing a file to the server especially — and confirm each is refused before the function executes, rather than confirming only that the login screen appears for the normal navigation route. Precondition: endpoint-side authorization is a property the 18.12.16 release establishes inside the product; this control states what to verify and what to segment, it does not implement it. Segmentation bounds which callers can reach the endpoint and closes nothing for anything inside the permitted segment, and it is unavailable wherever the instance must remain reachable from untrusted networks for normal operation.",
|
|
37320
|
+
"evidence": "Packet vector: Direct Request ('Forced Browsing') vulnerability in Apache OFBiz, affecting versions before 18.12.16, with users recommended to upgrade to version 18.12.16 (CWE-425). Packet attack_vector: an unauthenticated attacker directly requests a view-controller endpoint that bypasses OFBiz's view-authorization checks, then abuses the reachable file-import functionality to plant and execute a malicious server-side file for full remote code execution. CISA KEV-listed 2025-02-04 with active_exploitation confirmed; poc_available true; patch_available true; RWEP 72 against CVSS 7.5. The packet cites UK NCSC CAF v3.2 B2 (Identity and access control), NIST SP 800-53 AC-3 (Access Enforcement) and ISO/IEC 27001:2022 A.8.9 (Configuration management) among the framework controls insufficient for this entry.",
|
|
37321
|
+
"gap_closes": [
|
|
37322
|
+
"UK-CAF-B2",
|
|
37323
|
+
"NIST-800-53-AC-3",
|
|
37324
|
+
"ISO-27001-2022-A.8.9"
|
|
37325
|
+
]
|
|
37326
|
+
},
|
|
37327
|
+
{
|
|
37328
|
+
"id": "NEW-CTRL-032",
|
|
37329
|
+
"name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
|
|
37330
|
+
"description": "The packet's exploitation path does not stop at code execution — it ends with a malicious server-side file planted on the OFBiz host and executed, under confirmed in-the-wild exploitation with a public proof-of-concept. Upgrading to 18.12.16 removes the forced-browsing route into the file-import function; it deletes nothing already written through that route and invalidates nothing the executed code obtained. Applied to this product, the control means an OFBiz instance that could be reached by an unauthenticated caller during the exposure window is handled as a suspected compromise rather than as a patch ticket: preserve the instance's state for analysis before changing it, compare the deployed application tree against a known-good build to surface files no deployment produced, rebuild the instance rather than upgrading in place where such a file is found, and treat every credential held in the instance's configuration as exposed and rotate it, since code running on the host reads whatever the OFBiz process can read. Preconditions and limits: this is the incident-response branch, not a replacement for remediation — the packet records a vendor fix at 18.12.16 and no live-patch path, so the instance must still reach that release either way. The branch is conditioned on unauthenticated reachability during the window, which has to be demonstrated from the network's actual paths rather than asserted from 'OFBiz is internal'; an instance that genuinely could not be reached without a credential does not need the rebuild. And the rebuild is bounded by the quality of the known-good build it restores from — restoring an image that already contained a planted file reinstates it.",
|
|
37331
|
+
"evidence": "Packet attack_vector: after bypassing OFBiz's view-authorization checks, the attacker abuses the reachable file-import functionality to plant and execute a malicious server-side file for full remote code execution. Packet fields: cisa_kev true with kev_date 2025-02-04; active_exploitation confirmed; poc_available true; patch_available true; live_patch_available false with no live-patch notes recorded; RWEP 72 against CVSS 7.5. Packet vector names 18.12.16 as the release users are recommended to upgrade to. The packet cites ASD Essential Eight patching and EU NIS2 Art. 21 vulnerability handling among the framework controls insufficient for this entry.",
|
|
37332
|
+
"gap_closes": [
|
|
37333
|
+
"AU-Essential-8-Patch",
|
|
37334
|
+
"NIS2-Art21-vulnerability-handling"
|
|
37335
|
+
]
|
|
37336
|
+
}
|
|
37337
|
+
]
|
|
36751
37338
|
},
|
|
36752
37339
|
"CVE-2024-29059": {
|
|
36753
37340
|
"name": "Microsoft .NET Framework Information Disclosure Vulnerability",
|
|
@@ -36789,7 +37376,38 @@
|
|
|
36789
37376
|
"adequate": false,
|
|
36790
37377
|
"gap": "Essential Eight application-hardening guidance calls for removing/disabling legacy, high-risk application features such as BinaryFormatter-based .NET Remoting."
|
|
36791
37378
|
}
|
|
36792
|
-
}
|
|
37379
|
+
},
|
|
37380
|
+
"new_control_requirements": [
|
|
37381
|
+
{
|
|
37382
|
+
"id": "NEW-CTRL-128",
|
|
37383
|
+
"name": "APPSERVER-REMOTING-PROTOCOL-RESTRICTION",
|
|
37384
|
+
"description": "The packet's chain has two legs and only the first rides HTTP: a crafted HTTP request to a .NET Remoting-over-HTTP endpoint returns a serialized ObjRef URI, and the attacker then opens a raw remoting channel to what that reference names and drives it into unsafe deserialization for code execution. That second leg is what this control governs on a .NET application server — a remoting channel that answers before any application authentication and whose object-reference handling is itself the vulnerable code, so the web-tier controls a .NET app server is normally audited against see the first request and never see the channel the exploit actually lands on. Bound to this product, the requirement is to enumerate which .NET applications in the estate still register a remoting endpoint at all, remove the registration where the hosted application no longer depends on it, and where it must stay, restrict the remoting channel to the hosts that legitimately speak it by host firewall or network ACL rather than inferring safety from the server sitting on an internal network. Distinguishing test: from a general user or workstation segment on a staging deployment, send a request to each .NET application's remoting endpoint and confirm it is dropped before the endpoint answers — an application that passes a web-tier hardening review while its remoting channel answers from any internal segment is still reachable by the packet's chain. Precondition: this bounds who can request the ObjRef; it does not repair the error handling that discloses it or the deserialization at the end of the chain, so any host inside the permitted segment reaches the full chain and a compromised workstation with a legitimate path to the app server satisfies the packet's precondition in full. The packet records a vendor patch and no live-patch path, so each affected host still has to be taken through the update — this is a holding measure for the window before that, not a closure.",
|
|
37385
|
+
"evidence": "Packet attack_vector: an attacker sends a crafted HTTP request to a vulnerable .NET Remoting-over-HTTP endpoint to leak a serialized ObjRef URI, then uses that reference to open a raw remoting channel and trigger unsafe deserialization for remote code execution. Product: Microsoft .NET Framework Information Disclosure Vulnerability; cwe_refs CWE-209. cisa_kev true, kev_date 2025-02-04, active_exploitation confirmed, poc_available true, cvss 7.5, rwep_score 73. patch_available true, live_patch_available false.",
|
|
37386
|
+
"gap_closes": [
|
|
37387
|
+
"NIST-800-53-CM-7",
|
|
37388
|
+
"ISO-27001-2022-A.8.9",
|
|
37389
|
+
"UK-CAF-B4"
|
|
37390
|
+
]
|
|
37391
|
+
},
|
|
37392
|
+
{
|
|
37393
|
+
"id": "NEW-CTRL-125",
|
|
37394
|
+
"name": "SERVICE-INTERNAL-PROTOCOL-DESERIALIZATION-HARDENING",
|
|
37395
|
+
"description": "The chain the packet describes does not end at the disclosure — the leaked ObjRef is the address of a remoting channel, and what makes the leak fatal is that the channel then deserializes whatever the attacker sends it. For this CVE the control means treating that .NET Remoting channel as a trust boundary rather than an internal convenience: the channel authenticates its peer instead of serving any caller that knows the object reference, and what an inbound remoting message is permitted to construct is constrained rather than left to a formatter that instantiates whatever types the payload names. Remediating this as 'an information leak' — suppressing the error detail and moving on — leaves the exploitable half of the packet's chain in place for the next object reference an attacker obtains by another route. The user-application-hardening control cited as insufficient on this entry governs the browser, document-reader and plug-in surface on user endpoints; there is no user application anywhere in this path, the exploited surface is a server-side remoting channel, which is why that attestation passes cleanly while this chain stays open. Distinguishing test: on a staging instance, open a remoting channel from an unauthenticated host and send a message carrying an object graph the application never legitimately receives, and confirm the peer is rejected before the content is deserialized. Precondition: peer authentication and type constraint on the channel are properties of how the application configures and consumes .NET Remoting — this control states what to verify and does not implement it, and it gives an operator nothing on an application whose remoting configuration they do not control. The packet records a vendor patch with no live-patch path, so the update remains the remediation for the disclosure primitive itself.",
|
|
37396
|
+
"evidence": "Packet attack_vector: the leaked ObjRef URI is used to open a raw remoting channel and trigger unsafe deserialization for remote code execution; the initial leak is a crafted HTTP request against a .NET Remoting-over-HTTP endpoint (CWE-209). poc_available true, active_exploitation confirmed, cisa_kev true (2025-02-04), cvss 7.5, rwep_score 73. patch_available true, live_patch_available false. The entry's citing gaps record AU-Essential-8-App-Hardening (User application hardening) as insufficient.",
|
|
37397
|
+
"gap_closes": [
|
|
37398
|
+
"AU-Essential-8-App-Hardening"
|
|
37399
|
+
]
|
|
37400
|
+
},
|
|
37401
|
+
{
|
|
37402
|
+
"id": "NEW-CTRL-001",
|
|
37403
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
37404
|
+
"description": "This entry reaches a vulnerability-management queue labelled an information-disclosure flaw with a 7.5 base and a confidentiality-only shape, which sorts it below the code-execution items in the same cycle — while the packet's own vector ends in remote code execution, carries a public PoC and is KEV-listed with confirmed in-the-wild exploitation. For this CVE the control means the .NET Framework update is driven on the KEV clock that opened 2025-02-04 rather than on the severity band the CVE title implies, with completion measured by the framework build installed on each host rather than by an update marked approved or downloaded in a management console. Hosts running a .NET application that registers a remoting endpoint are the population to enumerate first, because the packet's precondition is a reachable remoting endpoint and nothing the user does. Precondition and residual: the packet records a vendor patch and no live-patch path, so a host is not remediated until it has actually taken the update; and because exploitation is confirmed and the chain ends in code execution, a host whose remoting endpoint was reachable during the exposure window belongs on the incident path rather than being closed on the patch — the update stops the disclosure, it does not remove anything an attacker already executed through the channel.",
|
|
37405
|
+
"evidence": "Packet: cisa_kev true, kev_date 2025-02-04, active_exploitation confirmed, poc_available true, rwep_score 73 against cvss 7.5. attack_vector ends in remote code execution via unsafe deserialization on the remoting channel, while the entry name is 'Microsoft .NET Framework Information Disclosure Vulnerability' (CWE-209). patch_available true, live_patch_available false.",
|
|
37406
|
+
"gap_closes": [
|
|
37407
|
+
"NIS2-Art21-vulnerability-management"
|
|
37408
|
+
]
|
|
37409
|
+
}
|
|
37410
|
+
]
|
|
36793
37411
|
},
|
|
36794
37412
|
"CVE-2018-9276": {
|
|
36795
37413
|
"name": "Paessler PRTG Network Monitor OS Command Injection Vulnerability",
|
|
@@ -37199,7 +37817,40 @@
|
|
|
37199
37817
|
"adequate": false,
|
|
37200
37818
|
"gap": "The Node.js websocket module's local_access_token path allowed session validation to be bypassed entirely, defeating identification-and-authentication controls that assume the standard admin login path is the only route to privileged access."
|
|
37201
37819
|
}
|
|
37202
|
-
}
|
|
37820
|
+
},
|
|
37821
|
+
"new_control_requirements": [
|
|
37822
|
+
{
|
|
37823
|
+
"id": "NEW-CTRL-131",
|
|
37824
|
+
"name": "PERIMETER-VPN-GATEWAY-AUTH-BYPASS-EXPEDITED-REMEDIATION",
|
|
37825
|
+
"description": "FortiOS and FortiProxy are the authentication enforcement point for the perimeter, and this CVE is that point failing open: the packet has an unauthenticated attacker open a WebSocket connection to the Node.js console (jsconsole), present a crafted local_access_token that bypasses session validation, and then issue CLI commands as super-admin. That is not an appliance-patch-window item, so for this CVE the control means an expedited clock running from the 2025-01-14 KEV listing across every unit inside the ranges the packet names — FortiOS 7.0.0 through 7.0.16, FortiProxy 7.0.0 through 7.0.19 and 7.2.0 through 7.2.12 — with completion measured by the firmware version each unit reports as running, not by a change ticket closed or an image staged. Scope the sweep to those two products: the packet ties this bypass to FortiOS and FortiProxy at those versions and supplies no evidence implicating other Fortinet management appliances, so widening the emergency window across the whole vendor estate spends the outage budget on devices no evidence here puts in scope. Interim exposure is bounded by enumerating which units expose an administrative surface reachable from untrusted networks and restricting who can reach it, since reachability of the jsconsole WebSocket is the packet's only stated precondition. Preconditions on that interim measure: it bounds who can open the WebSocket and nothing more. It does not repair the token validation, it is unavailable where the management interface must stay reachable for operations, it gives nothing against a source inside the permitted segment, and — because active_exploitation is confirmed and a PoC is public — it does not remove a super-admin account an attacker already created on a unit during the exposure window. A unit that was reachable before the firmware landed goes down the compromise path below; firmware alone closes the door behind an attacker who already holds an account.",
|
|
37826
|
+
"evidence": "Packet facts for CVE-2024-55591: cisa_kev true with kev_date 2025-01-14; active_exploitation confirmed; cvss 9.8; rwep_score 83 (the highest in this batch); poc_available true; patch_available true; live_patch_available false with live_patch_notes null; ai_discovered false; CWE-288. Vector: 'An Authentication Bypass Using an Alternate Path or Channel vulnerability [CWE-288] affecting FortiOS version 7.0.0 through 7.0.16 and FortiProxy version 7.0.0 through 7.0.19 and 7.2.0 through 7.2.12 allows a remote attacker to gain super-admin privileges via crafted requests to Node.js websocket module.' Attack vector: 'An unauthenticated attacker opens a WebSocket connection to the FortiOS/FortiProxy Node.js console (jsconsole) and supplies a crafted local_access_token that bypasses normal session validation, then issues CLI commands to create a new super-admin account and take full control of the device.' Cited as insufficient on this entry: AU-Essential-8-Patch, ISO-27001-2022-A.8.8, NIST-800-53-SC-7 and UK-CAF-B4.",
|
|
37827
|
+
"gap_closes": [
|
|
37828
|
+
"AU-Essential-8-Patch",
|
|
37829
|
+
"ISO-27001-2022-A.8.8",
|
|
37830
|
+
"NIST-800-53-SC-7",
|
|
37831
|
+
"UK-CAF-B4"
|
|
37832
|
+
]
|
|
37833
|
+
},
|
|
37834
|
+
{
|
|
37835
|
+
"id": "NEW-CTRL-032",
|
|
37836
|
+
"name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
|
|
37837
|
+
"description": "The packet's end state is not code execution that a reboot clears — it is a new super-admin account standing on the FortiOS or FortiProxy unit, created through the CLI by an attacker who never authenticated. Firmware closes the jsconsole token path and leaves that account exactly where it is, which is why patch-in-place is the wrong default for this CVE. Bound to this device, the control means any unit whose administrative surface was reachable from an untrusted network during the exposure window is handled as compromised rather than as patched: enumerate every administrative account on the unit and reconcile it against the change record, since account creation is the packet's own final exploitation step; export the running configuration and diff it against a known-good copy; rotate every administrative credential and every secret held in that configuration on the assumption the attacker read them, because super-admin CLI access means configuration access; and rebuild the unit from a trusted image where the account and configuration audit cannot be made conclusive. This is also the reason the identification-and-authentication control cited on this entry passes its attestation while the device is fully owned: the attacker presents no organizational credential, so IA-2 is never consulted, and the identity that matters is the one minted after the bypass — only an administrative account audit against the change record surfaces it, never a review of how legitimate operators authenticate. Preconditions: this is a post-exploitation control. It prevents nothing, it does not substitute for the firmware update, and it is only conclusive about state still on the device — anything that left the unit (administrative passwords, configuration secrets) must be treated as known to the attacker and rotated regardless of what the configuration diff shows.",
|
|
37838
|
+
"evidence": "Packet facts for CVE-2024-55591: active_exploitation confirmed; poc_available true; cisa_kev true, kev_date 2025-01-14; rwep_score 83; cvss 9.8; patch_available true; live_patch_available false, live_patch_notes null. The attack_vector states the attacker 'issues CLI commands to create a new super-admin account and take full control of the device' after bypassing session validation with a crafted local_access_token over an unauthenticated WebSocket connection to the jsconsole; the vector states the flaw 'allows a remote attacker to gain super-admin privileges'. Cited as insufficient on this entry: NIS2-Art21-incident-handling and NIST-800-53-IA-2 (Identification and Authentication, Organizational Users).",
|
|
37839
|
+
"gap_closes": [
|
|
37840
|
+
"NIS2-Art21-incident-handling",
|
|
37841
|
+
"NIST-800-53-IA-2"
|
|
37842
|
+
]
|
|
37843
|
+
},
|
|
37844
|
+
{
|
|
37845
|
+
"id": "NEW-CTRL-031",
|
|
37846
|
+
"name": "FIREWALL-EGRESS-TELEMETRY-SEPARATE-TRUST-ZONE",
|
|
37847
|
+
"description": "The packet's attacker finishes with super-admin CLI on the FortiOS or FortiProxy unit, which means the device's own event log — the only place its jsconsole session and its administrative account creation are recorded — is under the attacker's control before any responder reads it. For this CVE the control means administrative and system event logs from every unit in the affected FortiOS and FortiProxy ranges are forwarded to a collector in a separate trust zone, with its own credentials and its own authentication path, so the record survives the device. The detection keys on the two behaviours the packet documents and nothing else: a WebSocket session against the Node.js console (jsconsole) administrative surface, and the creation of an administrative account with no corresponding change record. An exploit doing exactly what the packet describes emits both — the crafted local_access_token arrives over a jsconsole WebSocket connection, and the attacker's stated objective is a new super-admin account — so a rule built on those two signals fires on the real path rather than on assumed crash, malware or scanner artifacts, which this bypass never produces. Preconditions: forwarding only helps if it was in place before the exposure window. A unit that has only ever logged locally has no off-box record to consult, and configuring forwarding after the fact produces evidence about the future rather than about the intrusion. It also prevents nothing — it makes the packet's path observable and answers whether a given unit was hit, while the token validation stays broken until the firmware update lands.",
|
|
37848
|
+
"evidence": "Packet facts for CVE-2024-55591: attack_vector records an unauthenticated WebSocket connection to the FortiOS/FortiProxy Node.js console (jsconsole) with a crafted local_access_token, followed by CLI commands creating a new super-admin account and full control of the device; vector names crafted requests to the Node.js websocket module yielding super-admin privileges on FortiOS 7.0.0 through 7.0.16 and FortiProxy 7.0.0 through 7.0.19 and 7.2.0 through 7.2.12. cisa_kev true (kev_date 2025-01-14), active_exploitation confirmed, poc_available true, rwep_score 83, patch_available true, live_patch_available false with live_patch_notes null. Cited as insufficient on this entry: NIS2-Art21-incident-handling.",
|
|
37849
|
+
"gap_closes": [
|
|
37850
|
+
"NIS2-Art21-incident-handling"
|
|
37851
|
+
]
|
|
37852
|
+
}
|
|
37853
|
+
]
|
|
37203
37854
|
},
|
|
37204
37855
|
"CVE-2024-12686": {
|
|
37205
37856
|
"name": "BeyondTrust Privileged Remote Access (PRA) and Remote Support (RS) OS Command Injection Vulnerability",
|
|
@@ -38452,7 +39103,31 @@
|
|
|
38452
39103
|
"adequate": false,
|
|
38453
39104
|
"gap": "Boundary protection/network segmentation should isolate the vCenter management network (including TCP/2012) from untrusted or general-purpose network segments, but this is frequently under-enforced in practice."
|
|
38454
39105
|
}
|
|
38455
|
-
}
|
|
39106
|
+
},
|
|
39107
|
+
"new_control_requirements": [
|
|
39108
|
+
{
|
|
39109
|
+
"id": "NEW-CTRL-128",
|
|
39110
|
+
"name": "APPSERVER-REMOTING-PROTOCOL-RESTRICTION",
|
|
39111
|
+
"description": "The packet places the defect in vCenter Server's DCERPC implementation and has an unauthenticated attacker with network access reaching it directly on TCP/2012 with a malformed DCE/RPC request whose crafted ndr_cstring field overflows the heap — a binary remoting listener that answers before authentication and whose parser is itself the vulnerable code. For this deployment the control means TCP/2012 on every vCenter Server instance accepts connections only from the management and jump segments and from the hosts vCenter administers, enforced by network ACL or host firewall and demonstrated rather than inferred from 'vCenter is on the internal network'. This is the reachability half of the exposure and it is the only lever available before the vendor update lands, because the attacker holds no vCenter role — the packet's path yields code execution as the vpxd user without any authentication step, so vCenter's permission model is never consulted and a boundary-protection attestation built on the perimeter firewall and the web tier never touches port 2012 at all. Distinguishing test: from a general user or workstation VLAN on a staging deployment, send crafted DCE/RPC traffic at TCP/2012 and confirm it is dropped before the listener parses it — an estate that passes vCenter role-and-permission and web-tier audits while leaving 2012 answerable from any internal segment is still fully exposed to the unauthenticated packet path. Preconditions, stated plainly: the ACL bounds who can send the malformed request, it does not repair the parser, and it gives nothing against a source that legitimately sits inside the permitted segment — a compromised administrator workstation or an ESXi host in the management plane satisfies the packet's stated requirement of network access in full. It is also unavailable wherever DCERPC must stay reachable for normal operation. And because active_exploitation is confirmed and a public PoC exists, restricting reachability now does not evict anything placed on an instance that was reachable earlier: a vCenter exposed during that window needs compromise assessment of the appliance and of the credentials it holds, not a firewall rule recorded as remediation.",
|
|
39112
|
+
"evidence": "Packet facts for CVE-2024-38812: cisa_kev true with kev_date 2024-11-20; active_exploitation confirmed; cvss 9.8; rwep_score 81; poc_available true; patch_available true; live_patch_available false with live_patch_notes null; ai_discovered false; CWE-122 and CWE-787. Vector: 'The vCenter Server contains a heap-overflow vulnerability in the implementation of the DCERPC protocol. A malicious actor with network access to vCenter Server may trigger this vulnerability by sending a specially crafted network packet potentially leading to remote code execution.' Attack vector: 'An unauthenticated attacker with network access to vCenter Server sends a malformed DCE/RPC request (crafted ndr_cstring field) to the DCERPC service on TCP/2012, triggering a heap overflow that yields remote code execution as the vpxd user.' Cited as insufficient on this entry: NIST-800-53-SC-7 (Boundary Protection), NIS2-Art21-network-security and UK-CAF-B4 (System security).",
|
|
39113
|
+
"gap_closes": [
|
|
39114
|
+
"NIST-800-53-SC-7",
|
|
39115
|
+
"NIS2-Art21-network-security",
|
|
39116
|
+
"UK-CAF-B4"
|
|
39117
|
+
]
|
|
39118
|
+
},
|
|
39119
|
+
{
|
|
39120
|
+
"id": "NEW-CTRL-001",
|
|
39121
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
39122
|
+
"description": "For this CVE the clock is the vCenter Server appliance update itself, and the packet gives every input that should compress it: KEV listing 2024-11-20, exploitation confirmed in the wild, a public PoC, and RWEP 81 against the CVSS 9.8 — an unauthenticated network path to code execution as the vpxd user with no credential, no user interaction and no chained precondition. The control means that update is driven from the KEV listing rather than folded into the next quarterly virtualization maintenance window, which is where a vCenter upgrade normally sits precisely because taking it interrupts the management plane for the estate. Completion is measured per instance by the build actually in service, not by the update being staged, approved or downloaded in the lifecycle manager. The packet records live_patch_available false with no live-patch notes, so there is no way to close the DCERPC parser short of taking each vCenter instance through the vendor update — every hour of deferral is an hour in which the only thing standing between the internal network and vpxd-level execution is which segments can reach TCP/2012. The patch-cadence controls cited on this entry are the ones this misses: an operating-system patching attestation covers the Windows and Linux servers in the estate and does not enumerate the vCenter appliance's own update train, so an estate can report full patch compliance while the appliance carrying this flaw stays on its pre-fix build. Precondition: the reachability restriction above is what bounds exposure until the update lands, and it bounds the attacker population without closing the flaw — it is a holding measure for the window, not a substitute for the update, and it does not remediate an instance already exploited during the window.",
|
|
39123
|
+
"evidence": "Packet facts for CVE-2024-38812: cisa_kev true, kev_date 2024-11-20, active_exploitation confirmed, poc_available true, cvss 9.8, rwep_score 81, patch_available true, live_patch_available false, live_patch_notes null. The vector records network-triggered heap overflow in the vCenter Server DCERPC implementation 'potentially leading to remote code execution'; the attack_vector records remote code execution as the vpxd user from an unauthenticated request to TCP/2012. Cited as insufficient on this entry: AU-Essential-8-Patch (Patch operating systems), ISO-27001-2022-A.8.8 (Management of technical vulnerabilities) and NIST-800-53-SI-2 (Flaw Remediation).",
|
|
39124
|
+
"gap_closes": [
|
|
39125
|
+
"AU-Essential-8-Patch",
|
|
39126
|
+
"ISO-27001-2022-A.8.8",
|
|
39127
|
+
"NIST-800-53-SI-2"
|
|
39128
|
+
]
|
|
39129
|
+
}
|
|
39130
|
+
]
|
|
38456
39131
|
},
|
|
38457
39132
|
"CVE-2024-9474": {
|
|
38458
39133
|
"name": "Palo Alto Networks PAN-OS Management Interface OS Command Injection Vulnerability",
|
|
@@ -39623,7 +40298,30 @@
|
|
|
39623
40298
|
"adequate": false,
|
|
39624
40299
|
"gap": "Public-facing application patching requirements don't cover an appliance whose vulnerable branch has no vendor-supplied fix."
|
|
39625
40300
|
}
|
|
39626
|
-
}
|
|
40301
|
+
},
|
|
40302
|
+
"new_control_requirements": [
|
|
40303
|
+
{
|
|
40304
|
+
"id": "NEW-CTRL-001",
|
|
40305
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
40306
|
+
"description": "The packet pairs a CVSS of 6.5 with a precondition stated plainly — \"a remote authenticated attacker with admin privileges\" — which is the shape a vulnerability programme defers: a medium-band defect on a management appliance that on paper only an existing administrator can reach. The packet's own attack path removes that comfort, recording the admin access as \"obtained directly or by chaining a separate CSA authentication-bypass flaw\", so on this appliance the privilege precondition is something an attacker supplies from another defect on the same box rather than something the operator's account model withholds. Applied to this CVE, the control's clock runs from the later of the KEV listing of 2024-10-09 and availability of the fixed release the packet names (Ivanti CSA 5.0.2 or later), at the tempo the estate reserves for a critical, with each CSA instance taken through that upgrade rather than the item folded into the next routine appliance window on the strength of its 6.5 rating. The distinguishing test: produce the rule the programme used to schedule this entry, and the deployed version string from each CSA instance. If the scheduling rule read the CVSS band or the \"requires admin privileges\" precondition, it scheduled an actively-exploited path as routine — the packet records active_exploitation as confirmed and an RWEP of 53 against that 6.5, and the two patch controls cited as gaps here are stated in the packet as patch-installation requirements, which an appliance upgraded inside a routine window satisfies while the KEV clock has already run out. Precondition: this control governs the schedule, not the outcome. patch_available is true and live_patch_available is false with no live-patch note, so there is no mechanism to close this short of taking the appliance through the vendor upgrade; and because exploitation is confirmed, an instance that was reachable during the exposure window still needs the post-exploitation review of what the SQL access could reach, however fast the upgrade lands.",
|
|
40307
|
+
"evidence": "The packet gives CVSS 6.5 with RWEP 53, CISA KEV listing 2024-10-09, active_exploitation \"confirmed\", poc_available false, patch_available true, live_patch_available false and live_patch_notes null. The vector reads \"SQL injection in the admin web console of Ivanti CSA before version 5.0.2 allows a remote authenticated attacker with admin privileges to run arbitrary SQL statements\", and the attack_vector records the required admin access as \"obtained directly or by chaining a separate CSA authentication-bypass flaw\". The citing gaps include the ASD Essential Eight \"Patch operating systems\" control, PCI DSS 4.0 6.3.3 (\"All system components are protected from known vulnerabilities by installing applicable security patches/updates\"), and the EU NIS2 Directive Art. 21 vulnerability-handling control.",
|
|
40308
|
+
"gap_closes": [
|
|
40309
|
+
"AU-Essential-8-Patch",
|
|
40310
|
+
"PCI-DSS-4.0-6.3.3",
|
|
40311
|
+
"NIS2-Art21-vulnerability-management"
|
|
40312
|
+
]
|
|
40313
|
+
},
|
|
40314
|
+
{
|
|
40315
|
+
"id": "NEW-CTRL-032",
|
|
40316
|
+
"name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
|
|
40317
|
+
"description": "The outcome the packet records on the CSA is not code execution but arbitrary SQL against the appliance's own database, \"allowing extraction or modification of appliance database contents including stored credentials\", with active_exploitation confirmed. Upgrading to the release the packet names as the fix boundary (Ivanti CSA 5.0.2 or later) closes the injection point; it does not invalidate a credential already read out of that database, and it does not revert a row an attacker wrote into it. Applied to this appliance the control means an instance that was reachable and exploitable during the exposure window is not closed on the upgrade: capture its configuration, rebuild the appliance from vendor media rather than patching the running instance, and rotate every credential the packet says that database holds — including any credential the CSA stores on behalf of another system, since those stay valid on the systems they authenticate to long after the CSA itself is clean. The trigger named in the control's own wording is a pre-auth RCE on a perimeter device; the trigger that applies here is narrower and comes from the packet — confirmed in-the-wild exploitation of an appliance whose database holds credentials, reached through a chained authentication bypass rather than through an administrator account the operator issued. The distinguishing test: after remediation, show that the credentials held in the CSA database have been rotated at the systems that accept them, and that the appliance's database contents were compared against a known-good state rather than assumed intact. An entry closed on \"upgraded to 5.0.2\" answers the flaw-remediation question and leaves the extracted-credential question unasked. Precondition: rebuild-and-rotate is the response for an instance that was exploitable during the window; it is not a substitute for the upgrade and gives nothing to an instance still running a pre-5.0.2 release, which stays exploitable until it is upgraded. The packet records poc_available false and carries no per-instance exploitation indicator, so the criterion for invoking this is that an instance was reachable during the window — not proof that a successful injection occurred, which this packet cannot supply either way.",
|
|
40318
|
+
"evidence": "The packet's attack_vector states the attacker \"injects arbitrary SQL statements through the console, allowing extraction or modification of appliance database contents including stored credentials\", and that the admin access is \"obtained directly or by chaining a separate CSA authentication-bypass flaw\". active_exploitation is \"confirmed\" and the entry is CISA KEV-listed 2024-10-09. The vector names the fix boundary — \"Ivanti CSA before version 5.0.2\". patch_available is true, live_patch_available is false, live_patch_notes is null, and poc_available is false. NIST SP 800-53 SI-2 (Flaw Remediation) and ISO/IEC 27001:2022 A.8.9 (Configuration management) are both cited as gaps on this entry.",
|
|
40319
|
+
"gap_closes": [
|
|
40320
|
+
"NIST-800-53-SI-2",
|
|
40321
|
+
"ISO-27001-2022-A.8.9"
|
|
40322
|
+
]
|
|
40323
|
+
}
|
|
40324
|
+
]
|
|
39627
40325
|
},
|
|
39628
40326
|
"CVE-2024-23113": {
|
|
39629
40327
|
"name": "Fortinet Multiple Products Format String Vulnerability",
|
|
@@ -41116,7 +41814,41 @@
|
|
|
41116
41814
|
"adequate": false,
|
|
41117
41815
|
"gap": "The fix was upstreamed without a security classification, so advisory-driven flaw remediation did not backport it to long-term kernels for over two years, leaving a durable local-root LPE."
|
|
41118
41816
|
}
|
|
41119
|
-
}
|
|
41817
|
+
},
|
|
41818
|
+
"new_control_requirements": [
|
|
41819
|
+
{
|
|
41820
|
+
"id": "NEW-CTRL-002",
|
|
41821
|
+
"name": "LIVE-PATCH-CAPABILITY",
|
|
41822
|
+
"description": "This is the uncommon kernel LPE where the packet records a real live-patch path, and that changes what the operator's options actually are: kpatch on RHEL, Oracle Ksplice and SUSE kGraft can apply the load_elf_binary fix without a reboot, so a host running production workloads is not forced to choose between leaving the vulnerable load_elf_binary in place and taking an unplanned restart. Applied to this CVE, the control means the live-patch client, entitlement and rollout procedure are already installed and exercised on every long-term-kernel host before the disclosure, so that on the KEV clock the operator's task is applying the load_elf_binary patch rather than standing up live patching for the first time; and that the reboot-gated kernel swap is still scheduled afterwards, because the live patch closes this local escalation while leaving the host booted on the old on-disk kernel. Precondition, and it is the one that decides whether this control is available at all: the packet qualifies live patching as working on supported kernels. A host on a self-built kernel, an out-of-support minor release, or a distribution with no live-patch product gets nothing here and has only the reboot-gated vendor update, so the estate must be enumerated by live-patch eligibility rather than assumed uniform, with the ineligible hosts carried on the reboot path explicitly. Live patching also gives nothing to a host where a local user has already escalated: it removes the primitive, not the result, and this entry carries confirmed in-the-wild exploitation and a public PoC.",
|
|
41823
|
+
"evidence": "The packet sets live_patch_available true with notes naming kpatch on RHEL, Oracle Ksplice and SUSE kGraft as able to apply the load_elf_binary fix without a reboot on supported kernels, 'closing the LPE while deferring the reboot-gated kernel swap'; patch_available is also true. The attack_vector is a local user executing a specially-linked PIE binary, with the resulting stack corruption leveraged to escalate to root on unpatched long-term kernels. CISA KEV-listed 2024-09-09, active_exploitation confirmed, poc_available true, RWEP 67, CVSS 7.8.",
|
|
41824
|
+
"gap_closes": [
|
|
41825
|
+
"AU-Essential-8-Patch",
|
|
41826
|
+
"ISO-27001-2022-A.8.8",
|
|
41827
|
+
"NIS2-Art21-patch-management",
|
|
41828
|
+
"NIST-800-53-SI-2"
|
|
41829
|
+
]
|
|
41830
|
+
},
|
|
41831
|
+
{
|
|
41832
|
+
"id": "NEW-CTRL-018",
|
|
41833
|
+
"name": "SCANNER-PAPER-COMPLIANCE-TEST",
|
|
41834
|
+
"description": "The packet's own account of this bug is a compliance-theater case rather than a slow-patching case: the fix went in on April 14, 2015 as commit a87938b2e246b81b4fb713edb371a9fa3c5c3c86 and was backported to Linux 3.10.77 in May 2015, but it was not recognized as a security threat at the time, so it never travelled through the distributions' security-backport pipelines into their long-term kernels. A scanner that calls a host patched because its kernel package is the vendor's current build for that long-term branch is therefore not answering the question this CVE poses — whether that specific commit is present in the branch the host is running, and whether the kernel was built with CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE, which the packet names alongside a normal top-down allocation strategy as the condition under which load_elf_binary maps the later PT_LOAD segments into the stack gap. The operational test for this entry: for each long-term-kernel host, produce evidence that the running kernel's source lineage carries a87938b2e246b81b4fb713edb371a9fa3c5c3c86 or the distribution's named backport of it, instead of evidence that the package version is newer than some date. An estate where every host is on the latest long-term package and none carries that commit passes a technical-vulnerability-management attestation cleanly while every host still maps segments above mm->mmap_base. Precondition: this is an assurance check on the evidence behind the patch verdict — it identifies which hosts are genuinely exposed, it changes none of them. Remediation remains the vendor update or, per the packet, live application of the load_elf_binary fix on supported kernels.",
|
|
41835
|
+
"evidence": "The packet's vector states the flaw affects 'Linux distributions that have not patched their long-term kernels with' commit a87938b2e246b81b4fb713edb371a9fa3c5c3c86, 'committed on April 14, 2015', 'backported to Linux 3.10.77 in May 2015', and that 'it was not recognized as a security threat'. The same vector names the exposure condition: 'With CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE enabled, and a normal top-down address allocation strategy, load_elf_binary() will attempt to map a PIE binary into an address range immediately below mm->mmap_base' without accounting for the whole binary, so subsequent PT_LOAD segments land above mm->mmap_base in the stack gap. KEV-listed 2024-09-09 with active_exploitation confirmed.",
|
|
41836
|
+
"gap_closes": [
|
|
41837
|
+
"AU-Essential-8-Patch",
|
|
41838
|
+
"ISO-27001-2022-A.8.8",
|
|
41839
|
+
"NIST-800-53-SI-2"
|
|
41840
|
+
]
|
|
41841
|
+
},
|
|
41842
|
+
{
|
|
41843
|
+
"id": "NEW-CTRL-003",
|
|
41844
|
+
"name": "KERNEL-EXPLOITATION-DETECTION",
|
|
41845
|
+
"description": "Every host on this entry's exposed population is one where the operator either cannot reboot yet or is not live-patch eligible, and for that window host-level detection is all that is left. The rule has to key on what the packet's path actually emits, which is a pair of events rather than a crash: an unprivileged execve of a specially-linked PIE ELF — a binary the attacker supplies, so it is not part of the package-managed inventory and typically sits in a user-writable path — followed, inside that same process lineage, by a transition to uid 0 that no sudo, su, pkexec or other authentication record accounts for. Both halves are needed; the execve alone is ordinary developer activity and the uid-0 transition alone is what every legitimate setuid binary does. Do not key on segfaults, kernel oops messages or named exploit binaries: a working exploit of this flaw need not crash anything, the packet documents no crash behaviour, and a filename or hash is a signature for one public PoC rather than for the technique. The distinguishing test is to reproduce that pair on a staging host of the same kernel build — an unprivileged process executing a locally written PIE ELF, and a uid-0 transition in its lineage with no matching authentication event — and confirm the rule fires on the pair; a rule validated by dropping a named public exploit on the host has tested the filename, not the behaviour. Preconditions: this is a detection, not a mitigation — it fires after the escalation has already happened, so it buys response time rather than preventing root. And because the outcome of the technique is root on the host writing the records, the audit events have to reach an off-host collector to be worth anything; a rule whose only evidence stays in local auditd on a machine the attacker now owns is not a control.",
|
|
41846
|
+
"evidence": "The packet's attack_vector: 'A local user executes a specially-linked PIE binary so that its later PT_LOAD segments are mapped above mm->mmap_base into the stack gap; the resulting stack corruption is leveraged to escalate to root on unpatched long-term kernels.' poc_available true, active_exploitation confirmed, KEV-listed 2024-09-09, RWEP 67. The packet's live_patch_notes limit the no-reboot fix to supported kernels, so a population of hosts stays exposed until the reboot-gated kernel swap.",
|
|
41847
|
+
"gap_closes": [
|
|
41848
|
+
"UK-CAF-B4"
|
|
41849
|
+
]
|
|
41850
|
+
}
|
|
41851
|
+
]
|
|
41120
41852
|
},
|
|
41121
41853
|
"CVE-2016-3714": {
|
|
41122
41854
|
"name": "ImageMagick Improper Input Validation Vulnerability",
|
|
@@ -43232,7 +43964,21 @@
|
|
|
43232
43964
|
"adequate": false,
|
|
43233
43965
|
"gap": "The gap between Google's emergency release and enterprise browser-relaunch rollout leaves a window that TAG-observed in-the-wild exploitation targets."
|
|
43234
43966
|
}
|
|
43235
|
-
}
|
|
43967
|
+
},
|
|
43968
|
+
"new_control_requirements": [
|
|
43969
|
+
{
|
|
43970
|
+
"id": "NEW-CTRL-057",
|
|
43971
|
+
"name": "BROWSER-MANAGED-UPDATE-NO-DEFERRAL",
|
|
43972
|
+
"description": "The packet's delivery path is a user visiting a crafted HTML page, so nothing in the estate stands between a browsing user and the V8 type confusion except the build the browser is actually executing. For this CVE the control means the managed Chrome release channel is driven to 125.0.6422.112 or later on the clock that opened with the 2024-05-28 KEV listing, instead of riding an enterprise update ring that defers the security channel behind a validation soak — the ring's deferral is the whole exposure, because the packet gives the attacker a drive-by path that needs no credential, no attachment and no user decision beyond loading a page. Completion must be measured from the Chrome version each host actually reports in endpoint inventory, not from the update policy being configured or the package being marked approved or deployed in the management console; the packet records no live-patch primitive and names the vendor update (no reboot required) as the remediation, so a host that has fetched the fixed build while its browser is still running the old one is still exposed and must be counted as such. Scope this to the product the packet names — Google Chrome prior to 125.0.6422.112. The packet ties the type confusion to V8 in Chrome and provides no mapping into other software that embeds the same engine, so instructing operators to hunt every Chromium-derived or Electron-packaged binary in the estate manufactures findings and removal work against products no evidence here implicates; widen the inventory only where a verified source identifies another product shipping the affected V8 build. Distinguishing test: query the fleet for the Chrome version in service per host and confirm none reports below 125.0.6422.112 — an estate whose patch-compliance report reads clean because the update was approved, while hosts still report an earlier build, has recorded the exposure rather than removed it. Precondition: this control reaches only browsers the management channel can see and update. A per-user or unmanaged Chrome install outside managed software distribution is remediated by bringing it under management or removing it, not by recording the managed copy as patched.",
|
|
43973
|
+
"evidence": "Packet facts for CVE-2024-5274: cisa_kev true with kev_date 2024-05-28; active_exploitation confirmed; cvss 9.6; rwep_score 54; poc_available false; 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.'; ai_discovered false. Vector: 'Type Confusion in V8 in Google Chrome prior to 125.0.6422.112 allowed a remote attacker to execute arbitrary code inside a sandbox via a crafted HTML page. (Chromium security severity: High)'. Attack vector: 'A user visits a crafted HTML page that triggers a type confusion in V8; the attacker gains code execution and, per the scope-changed CVSS, can affect resources beyond the renderer sandbox.' CWE-843. Citing gaps include AU-Essential-8-Patch (Patch operating systems), ISO-27001-2022-A.8.8, NIS2-Art21-patch-management and NIST-800-53-SI-2 — all patch-cadence controls that an OS/application patching attestation can pass while the browser's own release channel sits deferred.",
|
|
43974
|
+
"gap_closes": [
|
|
43975
|
+
"AU-Essential-8-Patch",
|
|
43976
|
+
"ISO-27001-2022-A.8.8",
|
|
43977
|
+
"NIS2-Art21-patch-management",
|
|
43978
|
+
"NIST-800-53-SI-2"
|
|
43979
|
+
]
|
|
43980
|
+
}
|
|
43981
|
+
]
|
|
43236
43982
|
},
|
|
43237
43983
|
"CVE-2020-17519": {
|
|
43238
43984
|
"name": "Apache Flink Improper Access Control Vulnerability",
|
|
@@ -43666,7 +44412,30 @@
|
|
|
43666
44412
|
"adequate": false,
|
|
43667
44413
|
"gap": "Malicious-code protection that relies on SmartScreen/MotW mediation is defeated by a bypass that suppresses the very prompt operators expect to warn on internet-origin files."
|
|
43668
44414
|
}
|
|
43669
|
-
}
|
|
44415
|
+
},
|
|
44416
|
+
"new_control_requirements": [
|
|
44417
|
+
{
|
|
44418
|
+
"id": "NEW-CTRL-041",
|
|
44419
|
+
"name": "PROTECTION-MECHANISM-FAILURE-CLASS-REGRESSION",
|
|
44420
|
+
"description": "This is a protection-mechanism failure (CWE-693) in precisely the class the control names: the packet describes a file crafted so Windows fails to apply or honor the Mark-of-the-Web, and when the user extracts and runs it SmartScreen does not prompt and the payload executes. Applied here, the control means the estate's MOTW/SmartScreen battery is run as a regression suite on every Windows update deployment rather than once against this CVE — deliver the archive-borne sample through each ingress path to a managed test workstation, extract it, run it, and confirm both that the prompt fires and that the detonation chamber and EDR rules produce a record. The signal to assert on is the one the packet documents: a payload that runs with no prompt and an extracted file carrying no origin mark. A rule keyed on a process crash or on a named exploitation tool would miss this entirely, because nothing crashes and nothing anomalous runs — the payload executes through the ordinary user-launch path with the security prompt simply absent. This is what closes the cited malware-protection gaps: SmartScreen and the anti-malware stack being present and enabled is exactly what an SI-3 or A.8.7 attestation checks, and both pass on a host where the prompt is enabled and silently not firing. The incident-handling gap is that same defect seen from the response side — the bypass removes the user-visible and SmartScreen-side record of the execution, so unless the EDR and detonation-chamber rules are inside the regression battery there is no event for the process to handle. Precondition: the packet records a vendor update with no live-patching primitive and a reboot requirement, so a host that installed the update but has not restarted still carries the bypass and must be counted as exposed; this battery identifies which hosts still fail, it does not remediate them, and on a fleet where restart is routinely deferred that gap is where the residual exposure sits.",
|
|
44421
|
+
"evidence": "Packet fields for CVE-2024-29988: cwe_refs CWE-693; name 'Microsoft SmartScreen Prompt Security Feature Bypass Vulnerability'; attack_vector 'An attacker delivers a file (often inside an archive) crafted so that Windows fails to apply or honor the Mark-of-the-Web; when the user extracts and runs it, SmartScreen does not prompt, and the payload executes. It is chained with WinRAR CVE-2023-38831 and CVE-2024-21412 for full delivery.'; cisa_kev true, kev_date 2024-04-30; active_exploitation confirmed; poc_available true; cvss 8.8; rwep_score 75; patch_available true; live_patch_available false with 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-3 (Malicious Code Protection), ISO-27001-2022-A.8.7 (Protection against malware) and NIS2-Art21-incident-handling.",
|
|
44422
|
+
"gap_closes": [
|
|
44423
|
+
"NIST-800-53-SI-3",
|
|
44424
|
+
"ISO-27001-2022-A.8.7",
|
|
44425
|
+
"NIS2-Art21-incident-handling"
|
|
44426
|
+
]
|
|
44427
|
+
},
|
|
44428
|
+
{
|
|
44429
|
+
"id": "NEW-CTRL-119",
|
|
44430
|
+
"name": "ARCHIVE-CONTENT-TYPE-PROVENANCE",
|
|
44431
|
+
"description": "The packet puts the payload inside an archive and the failure at extraction: the file the user ends up running does not carry the untrusted-origin marking, so SmartScreen has nothing to prompt on. Applied to this CVE, the control means the mail gateway and file-share boundary apply the untrusted-origin marking themselves at ingress, and the archive handlers in the standard build are configured and tested so that marking is propagated to every file they write out — rather than the decision being derived from metadata that travels inside the attacker's own archive. This is what closes the user-application-hardening gap the packet cites: an Essential Eight hardening record covering macro, OLE, browser and PDF settings says nothing about whether an extracted executable arrives marked, and the delivery path the packet describes never touches a macro, so the attestation reads clean while the path stays open. Distinguishing test, keyed on the documented behaviour: deliver the archive through each ingress path — mail, web download, untrusted file share — to a managed workstation, extract it with each archive tool present in the build, and confirm every extracted file carries the untrusted-origin mark and that launching it produces the SmartScreen prompt. Precondition, and it is the load-bearing half: the packet says Windows fails to apply OR honor the mark. Boundary-applied provenance addresses the apply half by putting the mark on files that would otherwise arrive unmarked; it does nothing for the honor half, where the mark is present and the prompt still does not fire. Only the vendor update and its reboot close that half. This is therefore a holding measure that narrows the delivery path during the window before the reboot lands, not a substitute for it, and it reaches nothing delivered by a path the boundary does not mediate — removable media, or a device receiving files outside managed ingress.",
|
|
44432
|
+
"evidence": "Packet fields for CVE-2024-29988: attack_vector 'An attacker delivers a file (often inside an archive) crafted so that Windows fails to apply or honor the Mark-of-the-Web; when the user extracts and runs it, SmartScreen does not prompt, and the payload executes. It is chained with WinRAR CVE-2023-38831 and CVE-2024-21412 for full delivery.'; cwe_refs CWE-693; cisa_kev true, kev_date 2024-04-30; active_exploitation confirmed; poc_available true; rwep_score 75; cvss 8.8; patch_available true; live_patch_available false with live_patch_notes 'No live-patching primitive for this product; the vendor update requires a reboot and is the remediation.'; citing_gaps include AU-Essential-8-App-Hardening (User application hardening) and UK-CAF-B4 (System security). No fixed build number is asserted — the packet names none.",
|
|
44433
|
+
"gap_closes": [
|
|
44434
|
+
"AU-Essential-8-App-Hardening",
|
|
44435
|
+
"UK-CAF-B4"
|
|
44436
|
+
]
|
|
44437
|
+
}
|
|
44438
|
+
]
|
|
43670
44439
|
},
|
|
43671
44440
|
"CVE-2024-4040": {
|
|
43672
44441
|
"name": "CrushFTP VFS Sandbox Escape Vulnerability",
|
|
@@ -47111,7 +47880,41 @@
|
|
|
47111
47880
|
"adequate": false,
|
|
47112
47881
|
"gap": "Configuration management failed to strip a debug library from production, and mitigation requires re-securing configuration (remove file, disable phpinfo, rotate secrets), not just a version bump."
|
|
47113
47882
|
}
|
|
47114
|
-
}
|
|
47883
|
+
},
|
|
47884
|
+
"new_control_requirements": [
|
|
47885
|
+
{
|
|
47886
|
+
"id": "NEW-CTRL-021",
|
|
47887
|
+
"name": "TIER-3-DEPENDENCY-INVENTORY",
|
|
47888
|
+
"description": "The disclosing endpoint here is neither ownCloud code nor a direct dependency of it: the packet places GetPhpInfo.php in a third-party library that the graphapi app bundles, at owncloud/apps/graphapi/vendor/microsoft/microsoft-graph/tests/GetPhpInfo.php — a test fixture, inside a vendored library, inside an application app, served by the same webserver as the product and reachable with no authentication. For this deployment the control means the inventory of an ownCloud installation reaches into apps/*/vendor/** rather than stopping at the enabled-app list or the top-level dependency manifest, records which of those bundled paths the webserver will actually serve, and treats a bundled tests/ directory as shipped web surface rather than as developer material that merely happens to be on disk. Without that reach, an operator cannot answer 'am I affected' at all, because no manifest they maintain names the file, and the affected range the packet gives is stated against the graphapi app version (0.2.x before 0.2.1, 0.3.x before 0.3.1) rather than against the bundled library. Precondition, stated by the packet directly: finding the file does not stop it answering, and neither does turning the app off — simply disabling the graphapi app does not eliminate the vulnerability. An inventory hit has to be routed into the removal-and-update path the packet names (delete the file, move graphapi to 0.2.1 or 0.3.1), not filed as a recorded dependency.",
|
|
47889
|
+
"evidence": "The packet's vector: 'The graphapi app relies on a third-party GetPhpInfo.php library that provides a URL. When this URL is accessed, it reveals the configuration details of the PHP environment (phpinfo)', affecting 'owncloud/graphapi 0.2.x before 0.2.1 and 0.3.x before 0.3.1', and states that 'Simply disabling the graphapi app does not eliminate the vulnerability.' The full path owncloud/apps/graphapi/vendor/microsoft/microsoft-graph/tests/GetPhpInfo.php is given in the packet's live_patch_notes. attack_vector: an unauthenticated attacker requests the graphapi-bundled GetPhpInfo.php endpoint. KEV-listed 2023-11-30, active_exploitation confirmed, poc_available true, RWEP 69, CVSS 7.5.",
|
|
47890
|
+
"gap_closes": [
|
|
47891
|
+
"NIST-800-53-SI-2",
|
|
47892
|
+
"NIS2-Art21-vulnerability-handling"
|
|
47893
|
+
]
|
|
47894
|
+
},
|
|
47895
|
+
{
|
|
47896
|
+
"id": "NEW-CTRL-025",
|
|
47897
|
+
"name": "CONFIGURATION-SIDE-LIVE-PATCH-INVENTORY",
|
|
47898
|
+
"description": "The packet records no live patch for this flaw, and the remediation it names is not one vendor step but four: delete owncloud/apps/graphapi/vendor/microsoft/microsoft-graph/tests/GetPhpInfo.php, update graphapi to 0.2.1 or 0.3.1, disable the container phpinfo function, and rotate all exposed credentials. The first and third are configuration-side actions the operator can take immediately on their own schedule, without waiting for an app update to be packaged, tested and rolled through the estate — which is exactly the path this control asks to be inventoried and rehearsed before a disclosure rather than improvised on a KEV clock. For this product that means knowing in advance where the app's vendored tree lives in each deployment, how a file is removed from it in a way that survives the next container start, and how the phpinfo function is disabled in the PHP configuration the ownCloud image ships. Preconditions: removing the file and disabling phpinfo close the path a new request takes; they retract nothing already returned, which is why the packet's own remediation list ends in rotating all exposed credentials — in containerized deployments those are the ownCloud admin password, the mail server credentials and the license key. Nor is the file removal durable on its own: a redeploy of an unpatched graphapi restores it, so the configuration-side path is a holding measure that has to be either baked into the image or superseded by the update to 0.2.1/0.3.1. And a deployment whose container predates February 2023 is out of scope for the credential disclosure per the packet, but not out of scope for the rest of the phpinfo output.",
|
|
47899
|
+
"evidence": "The packet's live_patch_notes: 'No live patch; remove owncloud/apps/graphapi/vendor/microsoft/microsoft-graph/tests/GetPhpInfo.php, update graphapi to 0.2.1/0.3.1, disable the container phpinfo function, and rotate all exposed credentials.' live_patch_available is false; patch_available is true. The vector states that in containerized deployments the exposed environment variables 'may include sensitive data such as the ownCloud admin password, mail server credentials, and license key', that 'phpinfo exposes various other potentially sensitive configuration details' so the issue is a concern even outside a containerized environment, and that 'Docker containers from before February 2023 are not vulnerable to the credential disclosure.'",
|
|
47900
|
+
"gap_closes": [
|
|
47901
|
+
"AU-Essential-8-Patch",
|
|
47902
|
+
"NIST-800-53-SI-2",
|
|
47903
|
+
"ISO-27001-2022-A.8.9"
|
|
47904
|
+
]
|
|
47905
|
+
},
|
|
47906
|
+
{
|
|
47907
|
+
"id": "NEW-CTRL-038",
|
|
47908
|
+
"name": "MITIGATION-ACTIVE-PATCH-PENDING-VERDICT-CLASS",
|
|
47909
|
+
"description": "This CVE produces a state worse than any of the three the control enumerates, and the packet calls it out explicitly: the action operators reach for first — disabling the graphapi app — does not eliminate the vulnerability, so a deployment recorded as mitigated on that basis is in the no-mitigation state while its compliance record says otherwise. For this entry the control means the vulnerability record for each ownCloud deployment separates the graphapi update to 0.2.1/0.3.1 (defect removed) from the configuration-side steps the packet names — removing the bundled GetPhpInfo.php and disabling the container phpinfo function — which are compensating controls a redeploy or image rebuild can silently revert and which therefore carry a dated action item to reach the update; and that 'graphapi disabled' is refused as a state at all rather than being filed under compensating control. The distinguishing test is to request the GetPhpInfo.php endpoint against each deployment the record calls remediated and confirm it does not return phpinfo output; a status field asserting the app is switched off is a claim about configuration, not evidence about what the webserver still serves to an unauthenticated request. Precondition: none of these verdict states speak to what was already read. The packet's remediation list ends with rotating all exposed credentials, so a deployment can be correctly recorded as patched while the admin password, mail server credentials and license key exposed during the window remain valid — the credential rotation needs its own record and its own closure.",
|
|
47910
|
+
"evidence": "The packet's vector states 'Simply disabling the graphapi app does not eliminate the vulnerability.' live_patch_notes enumerate four distinct remediation actions — file removal, update to graphapi 0.2.1/0.3.1, disabling the container phpinfo function, and rotating all exposed credentials — with live_patch_available false and patch_available true. attack_vector: 'An unauthenticated attacker requests the graphapi-bundled GetPhpInfo.php endpoint, which returns full phpinfo() output.' KEV-listed 2023-11-30 with confirmed active exploitation and a public PoC.",
|
|
47911
|
+
"gap_closes": [
|
|
47912
|
+
"NIST-800-53-SI-2",
|
|
47913
|
+
"NIS2-Art21-vulnerability-handling",
|
|
47914
|
+
"UK-CAF-B4"
|
|
47915
|
+
]
|
|
47916
|
+
}
|
|
47917
|
+
]
|
|
47115
47918
|
},
|
|
47116
47919
|
"CVE-2023-4911": {
|
|
47117
47920
|
"name": "GNU C Library Buffer Overflow Vulnerability (Looney Tunables)",
|
|
@@ -48041,7 +48844,31 @@
|
|
|
48041
48844
|
"adequate": false,
|
|
48042
48845
|
"gap": "Technical-vulnerability-management evidence (a CVE ticket) satisfies the audit without proving the reachable setup-restore endpoints were actually blocked or the instance patched."
|
|
48043
48846
|
}
|
|
48044
|
-
}
|
|
48847
|
+
},
|
|
48848
|
+
"new_control_requirements": [
|
|
48849
|
+
{
|
|
48850
|
+
"id": "NEW-CTRL-129",
|
|
48851
|
+
"name": "ENTERPRISE-ERP-MANAGEMENT-FUNCTION-AUTHENTICATION",
|
|
48852
|
+
"description": "The packet locates the failure on Confluence's setup-restore endpoints: they do not enforce authorization, so an unauthenticated caller reaches a function that resets the instance and creates an instance-administrator account. Bound to this product, the control means every administrative and setup/restore function on a self-hosted Confluence Data Center or Server node makes its own authorization decision before it acts, instead of inheriting a verdict from the request layer that fronts it, and those setup/restore paths are segmented so an untrusted caller cannot present a request to them at all. This is what closes the access-enforcement and identity-and-access gaps the packet cites, because neither is consulted on this path: the attacker holds no Confluence account when the reset runs, and holds an administrator account of their own making afterwards, so an attestation that every Confluence administrator is provisioned, reviewed and authenticated at login passes cleanly while the endpoint stays open. Distinguishing test: from a segment with no operational need to administer the wiki, issue unauthenticated requests to the setup and restore endpoints on a staging Data Center/Server instance and confirm each is refused before the function runs — confirming that the login page demands credentials tests a different path and passes regardless. Precondition: endpoint-side authorization is a property the vendor fixed release establishes; this control states what to verify, it does not implement it. Until that release is applied, restricting which segments can reach the instance bounds who can send the request but leaves the endpoints fully exploitable to anything inside the permitted segment, and that lever is unavailable where the wiki must stay broadly reachable to be useful. Scope is self-hosted only — the packet states Atlassian Cloud sites accessed via an atlassian.net domain are not affected, so this is not an instruction to audit a Cloud tenant.",
|
|
48853
|
+
"evidence": "Packet fields for CVE-2023-22518: cwe_refs CWE-863; vector 'All versions of Confluence Data Center and Server are affected... This Improper Authorization vulnerability allows an unauthenticated attacker to reset Confluence and create a Confluence instance administrator account. Using this account, an attacker can then perform all administrative actions that are available to Confluence instance administrator leading to - but not limited to - full loss of confidentiality, integrity and availability', and 'Atlassian Cloud sites are not affected by this vulnerability. If your Confluence site is accessed via an atlassian.net domain, it is hosted by Atlassian and is not vulnerable to this issue'; attack_vector 'An unauthenticated attacker reaches the setup-restore endpoints, which fail to enforce authorization, resetting the Confluence instance and letting the attacker create an instance-administrator account and take full control'; cisa_kev true, kev_date 2023-11-07; active_exploitation confirmed; poc_available true; cvss 9.8; rwep_score 70; citing_gaps include NIST-800-53-AC-3 (Access Enforcement) and UK-CAF-B2 (Identity and access control).",
|
|
48854
|
+
"gap_closes": [
|
|
48855
|
+
"NIST-800-53-AC-3",
|
|
48856
|
+
"UK-CAF-B2"
|
|
48857
|
+
]
|
|
48858
|
+
},
|
|
48859
|
+
{
|
|
48860
|
+
"id": "NEW-CTRL-001",
|
|
48861
|
+
"name": "CISA-KEV-RESPONSE-SLA",
|
|
48862
|
+
"description": "For this entry the SLA can only run to the vendor fixed release, because the packet records no vendor live-patch mechanism: there is no interim binary mitigation to deploy, so between the 2023-11-07 KEV listing and the upgrade the operator's only levers are cutting untrusted reachability to the setup/restore endpoints and taking the release. Completion must be measured per Confluence node against a fixed version, not per estate, because the packet states all versions of Data Center and Server are affected — an organization that upgraded its primary wiki while a departmental, archived or staging node kept an older build has an unmitigated instance, and that node is reachable by exactly the same unauthenticated request. Precondition, and the reason this control does not end the incident: the exploit's product is a persistent instance-administrator account. Applying the fixed release restores authorization on the endpoint but does not delete an account created through it before the upgrade landed, and does not undo the instance reset the packet describes. Any node that was reachable by untrusted callers during the exposure window therefore needs its administrator list and instance audit history compared against a known-good baseline and its credentials rotated, rather than being closed out on the version bump — active exploitation is confirmed and a public PoC is recorded, so an exposed node should be treated as having been reached until evidence says otherwise.",
|
|
48863
|
+
"evidence": "Packet fields for CVE-2023-22518: cisa_kev true with kev_date 2023-11-07; active_exploitation confirmed; poc_available true; cvss 9.8; rwep_score 70; patch_available true; live_patch_available false with live_patch_notes 'No vendor live-patch mechanism; remediation requires applying the vendor fixed release.'; vector states all versions of Confluence Data Center and Server are affected and that the unauthenticated attacker resets Confluence and creates an instance administrator account able to perform all administrative actions; citing_gaps include AU-Essential-8-Patch, ISO-27001-2022-A.8.8, NIST-800-53-SI-2 and NIS2-Art21-vulnerability-handling. The packet names no fixed version string, so none is asserted here.",
|
|
48864
|
+
"gap_closes": [
|
|
48865
|
+
"AU-Essential-8-Patch",
|
|
48866
|
+
"ISO-27001-2022-A.8.8",
|
|
48867
|
+
"NIST-800-53-SI-2",
|
|
48868
|
+
"NIS2-Art21-vulnerability-handling"
|
|
48869
|
+
]
|
|
48870
|
+
}
|
|
48871
|
+
]
|
|
48045
48872
|
},
|
|
48046
48873
|
"CVE-2023-46604": {
|
|
48047
48874
|
"name": "Apache ActiveMQ Deserialization of Untrusted Data Vulnerability",
|
|
@@ -52372,7 +53199,30 @@
|
|
|
52372
53199
|
"adequate": false,
|
|
52373
53200
|
"gap": "A.8.8 technical-vulnerability management would rank this high (RCE, KEV), but on mobile endpoints the only remediation is the SMR Oct-2021 firmware update, so A.8.8's assessment is meaningless without an enforced mobile-patch/EOL policy that retires handsets past support."
|
|
52374
53201
|
}
|
|
52375
|
-
}
|
|
53202
|
+
},
|
|
53203
|
+
"new_control_requirements": [
|
|
53204
|
+
{
|
|
53205
|
+
"id": "NEW-CTRL-056",
|
|
53206
|
+
"name": "MOBILE-ENDPOINT-MDM-ENFORCED-KEV-SLA",
|
|
53207
|
+
"description": "The Samsung fix the packet names, SMR Oct-2021 Release 1, predates the 2023-06-29 KEV listing by well over a year, so what this control manages on this entry is uptake rather than availability: handsets sat below a build that had shipped long before CISA listed the flaw as exploited. Applied to a Samsung estate, it means enrolled devices are driven to a reported security-patch level at or above SMR Oct-2021 Release 1 on the KEV clock through the management platform, with the handset user unable to defer indefinitely — the packet records remediation as a device update that reboots the handset, and a reboot the user keeps postponing is the specific way this one goes unremediated while the management console shows the update as delivered. Completion must therefore be measured by each device reporting its actual security-patch level, never by 'pushed', 'downloaded' or 'approved'. Precondition: this reaches only handsets the management platform enrols. A personally-owned Samsung device carrying corporate mail without enrolment sits entirely outside the control, and a handset whose model or carrier channel no longer receives Samsung maintenance releases cannot be driven to the fixed level at all — those two populations belong on an access-denial or replacement path, and counting them as 'pending update' is how they stay in service unremediated. The packet records no live-patch mechanism for the modem driver, so there is no interim binary mitigation this SLA could substitute for the firmware update.",
|
|
53208
|
+
"evidence": "Packet fields for CVE-2021-25487: name 'Samsung Mobile Devices Out-of-Bounds Read Vulnerability'; cwe_refs CWE-125; vector 'Lack of boundary checking of a buffer in set_skb_priv() of modem interface driver prior to SMR Oct-2021 Release 1 allows OOB read and it results in arbitrary code execution by dereference of invalid function pointer.'; cisa_kev true with kev_date 2023-06-29; active_exploitation confirmed; poc_available false; cvss 7.8; rwep_score 48; patch_available true; live_patch_available false with live_patch_notes 'No live-patch mechanism for the modem driver; remediation is the Samsung SMR Oct-2021 Release 1 (or later) firmware update, applied via a device update that reboots the handset.'; citing_gaps include AU-Essential-8-Patch, NIST-800-53-SI-2 (Flaw Remediation) and NIS2-Art21-patch-management.",
|
|
53209
|
+
"gap_closes": [
|
|
53210
|
+
"AU-Essential-8-Patch",
|
|
53211
|
+
"NIST-800-53-SI-2",
|
|
53212
|
+
"NIS2-Art21-patch-management"
|
|
53213
|
+
]
|
|
53214
|
+
},
|
|
53215
|
+
{
|
|
53216
|
+
"id": "NEW-CTRL-126",
|
|
53217
|
+
"name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
|
|
53218
|
+
"description": "The trigger the packet records is a local, low-privileged application on the handset reaching set_skb_priv() in the modem interface driver and obtaining arbitrary code execution in a privileged kernel/driver context. On a device still below SMR Oct-2021 Release 1 the only levers the operator holds are what code is allowed to run on it and what organizational data it is permitted to hold, so the fixed security-patch level has to function as an access condition — corporate mail, VPN and document access refused to a Samsung handset reporting a level below SMR Oct-2021 Release 1 — rather than as a row on a patch-compliance report. The distinguishing test is to enrol a handset pinned below that 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 mail and VPN sessions has recorded the exposure rather than removed it. Precondition: restricting side-loaded and untrusted application installation raises the bar for getting the attacker's app onto the handset, but it does not remove an app already installed and it does not cover one that arrived through the normal store channel — a device suspected of already running such an app belongs on the incident path, not the install-policy path. And because the flaw yields execution in a privileged kernel/driver context, no on-device application-level restriction contains the escalation once that app runs; the access condition limits what a compromised handset can reach and hold, it does not stop the compromise. This is a holding measure for the window before the SMR Oct-2021 Release 1 firmware update and its handset reboot land, not a substitute for them. Prioritisation follows the confirmed in-the-wild exploitation and the 2023-06-29 KEV listing rather than exploit availability — the packet records no public proof-of-concept for this entry.",
|
|
53219
|
+
"evidence": "Packet fields for CVE-2021-25487: attack_vector 'A local, low-privileged app triggers an out-of-bounds read in the modem interface driver's set_skb_priv(); the OOB access results in dereferencing an invalid function pointer, giving arbitrary code execution in a privileged kernel/driver context.'; vector names the buffer boundary-check failure in set_skb_priv() prior to SMR Oct-2021 Release 1; cwe_refs CWE-125; cisa_kev true, kev_date 2023-06-29; active_exploitation confirmed; poc_available false; cvss 7.8; rwep_score 48; ai_discovered false; patch_available true; live_patch_available false with live_patch_notes 'No live-patch mechanism for the modem driver; remediation is the Samsung SMR Oct-2021 Release 1 (or later) firmware update, applied via a device update that reboots the handset.'; citing_gaps include ISO-27001-2022-A.8.8 (Management of technical vulnerabilities) and UK-CAF-B4 (System security).",
|
|
53220
|
+
"gap_closes": [
|
|
53221
|
+
"ISO-27001-2022-A.8.8",
|
|
53222
|
+
"UK-CAF-B4"
|
|
53223
|
+
]
|
|
53224
|
+
}
|
|
53225
|
+
]
|
|
52376
53226
|
},
|
|
52377
53227
|
"CVE-2021-25489": {
|
|
52378
53228
|
"name": "Samsung Mobile Devices Improper Input Validation Vulnerability",
|
|
@@ -53590,7 +54440,43 @@
|
|
|
53590
54440
|
"adequate": false,
|
|
53591
54441
|
"gap": "A.8.8 technical vulnerability management assumes staged remediation, but for an unauthenticated RCE on the network boundary device, standard triage SLAs left the perimeter firewall exploitable during the very window mass-scanning targeted."
|
|
53592
54442
|
}
|
|
53593
|
-
}
|
|
54443
|
+
},
|
|
54444
|
+
"new_control_requirements": [
|
|
54445
|
+
{
|
|
54446
|
+
"id": "NEW-CTRL-030",
|
|
54447
|
+
"name": "PERIMETER-DEVICE-ZERODAY-SLA-TIER",
|
|
54448
|
+
"description": "The vulnerable notification function runs on the appliance that terminates the perimeter itself — the packet names the ATP, USG FLEX, USG FLEX 50(W), USG20(W)-VPN, VPN and ZyWALL/USG series — and the overflow is reachable without authentication, so a routine firewall-firmware maintenance window is the wrong tier for it. Run the clock from the 2023-06-05 KEV listing through the fixed firmware on every affected unit, and treat the reboot the packet requires as part of remediation rather than as a follow-up: a unit with the image staged but not restarted is still running the vulnerable build. Precondition on the interim measure: the packet names restricting any exposed management interface as a step to take after the upgrade and never states that the notification function is reachable only through that interface, so management-access restriction is a reachability reduction, not a substitute for the firmware upgrade — a unit left on an affected build with management locked down must still be carried as exposed, not as mitigated. The distinguishing test: enumerate every affected series in the estate and confirm each unit reports a build past its own series' affected range; the packet's ranges end at 5.36 Patch 1 for the ATP, USG FLEX, USG FLEX 50(W), USG20(W)-VPN and VPN series but at 4.73 Patch 1 for ZyWALL/USG, so one target build applied estate-wide is not evidence that each series is remediated.",
|
|
54449
|
+
"evidence": "Packet: buffer overflow (CWE-120) in the notification function that 'could allow an unauthenticated attacker to cause denial-of-service (DoS) conditions and even a remote code execution on an affected device'; CVSS 9.8, RWEP 77, poc_available true, active_exploitation confirmed, CISA KEV-listed 2023-06-05. Affected firmware per the packet: ATP, USG FLEX, USG FLEX 50(W), USG20(W)-VPN and VPN series 4.60 through 5.36 Patch 1; ZyWALL/USG series 4.60 through 4.73 Patch 1. patch_available true, live_patch_available false; the packet's remediation note is upgrading to the Zyxel fixed firmware (5.36 Patch 2 or later for the affected series) and rebooting the appliance, after which any exposed management interface should be restricted.",
|
|
54450
|
+
"gap_closes": [
|
|
54451
|
+
"AU-Essential-8-Patch",
|
|
54452
|
+
"ISO-27001-2022-A.8.8",
|
|
54453
|
+
"NIST-800-53-SI-2",
|
|
54454
|
+
"UK-CAF-B4",
|
|
54455
|
+
"NIS2-Art21-network-security"
|
|
54456
|
+
]
|
|
54457
|
+
},
|
|
54458
|
+
{
|
|
54459
|
+
"id": "NEW-CTRL-032",
|
|
54460
|
+
"name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
|
|
54461
|
+
"description": "The packet records confirmed in-the-wild exploitation of an unauthenticated path that reaches code execution on the appliance, which makes 'upgraded to the fixed firmware' the wrong closure test for any Zyxel unit that was reachable while it sat on an affected build. Default the runbook for those units to exporting the configuration for analysis, rebuilding from the vendor image, and rotating the secrets the appliance held — its administrative accounts and the credentials and keys it used for the VPN services these series terminate, the packet naming the VPN series and USG20(W)-VPN among the affected products — rather than upgrading in place and closing the ticket. Precondition: a rebuild removes only what lives in the configuration and firmware the vendor image replaces, and rotation only reaches secrets the operator can actually enumerate; where neither holds for a given unit, the honest outcome is that the unit is carried as suspect rather than recorded as remediated. Scope: this default applies to units that were reachable on an affected build — a unit that can be shown from off-box evidence never to have been exposed is an upgrade case, and separating the two populations is what that evidence is for.",
|
|
54462
|
+
"evidence": "Packet: active_exploitation confirmed and CISA KEV-listed 2023-06-05, with poc_available true; the flaw allows an unauthenticated attacker to reach remote code execution on the affected device. Affected products include the VPN series and USG20(W)-VPN alongside ATP, USG FLEX, USG FLEX 50(W) and ZyWALL/USG. patch_available true and live_patch_available false, with remediation given as upgrading to the fixed firmware and rebooting the appliance — an action the packet describes as a firmware change, with nothing in it addressing state an attacker left behind.",
|
|
54463
|
+
"gap_closes": [
|
|
54464
|
+
"NIST-800-53-SI-2",
|
|
54465
|
+
"UK-CAF-B4",
|
|
54466
|
+
"NIS2-Art21-network-security"
|
|
54467
|
+
]
|
|
54468
|
+
},
|
|
54469
|
+
{
|
|
54470
|
+
"id": "NEW-CTRL-031",
|
|
54471
|
+
"name": "FIREWALL-EGRESS-TELEMETRY-SEPARATE-TRUST-ZONE",
|
|
54472
|
+
"description": "Deciding which Zyxel units get rebuilt and which merely get upgraded needs evidence the appliance itself cannot be trusted to hold: the packet's flaw produces both denial-of-service conditions and code execution on the device, so the record of the request that caused either is within reach of the exploit. Forward syslog and authentication logs from every ATP, USG FLEX, USG FLEX 50(W), USG20(W)-VPN, VPN-series and ZyWALL/USG unit to a collector in a separate trust zone with its own credentials and management path, and key review on what this specific exploitation emits — unauthenticated requests reaching the notification function, and unexplained appliance crashes or restarts correlated with them, since the packet gives denial of service as an outcome of the same crafted request that carries the code-execution case. Precondition: this covers only events emitted after forwarding was configured, and only where the collector is not administered from the same management plane and credentials as the firewall — a collector an attacker reaches with the appliance's own admin credentials preserves nothing. It therefore cannot reconstruct exposure predating the forwarding, which is why units already exposed on an affected build default to rebuild rather than to a log-based clean verdict.",
|
|
54473
|
+
"evidence": "Packet: the crafted request to the notification function 'could allow an unauthenticated attacker to cause denial-of-service (DoS) conditions and even a remote code execution on an affected device' — both the crash and the code-execution outcome originate from the same unauthenticated path. active_exploitation confirmed, CISA KEV-listed 2023-06-05, poc_available true, RWEP 77. Affected series per the packet: ATP, USG FLEX, USG FLEX 50(W), USG20(W)-VPN, VPN and ZyWALL/USG.",
|
|
54474
|
+
"gap_closes": [
|
|
54475
|
+
"UK-CAF-B4",
|
|
54476
|
+
"NIS2-Art21-network-security"
|
|
54477
|
+
]
|
|
54478
|
+
}
|
|
54479
|
+
]
|
|
53594
54480
|
},
|
|
53595
54481
|
"CVE-2023-33010": {
|
|
53596
54482
|
"name": "Zyxel Multiple Firewalls Buffer Overflow Vulnerability (CVE-2023-33010)",
|