@blamejs/exceptd-skills 0.15.43 → 0.15.45
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/AGENTS.md +1 -1
- package/CHANGELOG.md +56 -38
- package/README.md +5 -5
- package/bin/exceptd.js +109 -15
- package/data/_indexes/_meta.json +9 -9
- package/data/_indexes/activity-feed.json +8 -8
- package/data/_indexes/catalog-summaries.json +1 -1
- package/data/_indexes/section-offsets.json +41 -41
- package/data/_indexes/token-budget.json +32 -32
- package/data/attack-techniques.json +8 -4
- package/data/cve-catalog.json +97 -35
- package/data/zeroday-lessons.json +219 -81
- package/lib/flag-suggest.js +1 -1
- package/lib/refresh-external.js +4 -2
- package/lib/source-osv.js +3 -1
- package/manifest.json +47 -47
- package/orchestrator/index.js +21 -3
- package/package.json +1 -1
- package/sbom.cdx.json +38 -38
- package/skills/attack-surface-pentest/skill.md +6 -6
- package/skills/cloud-iam-incident/skill.md +2 -2
- package/skills/sector-financial/skill.md +1 -1
|
@@ -13491,35 +13491,58 @@
|
|
|
13491
13491
|
},
|
|
13492
13492
|
"CVE-2026-21525": {
|
|
13493
13493
|
"name": "Microsoft Windows NULL Pointer Dereference Vulnerability",
|
|
13494
|
-
"lesson_date": "2026-05-
|
|
13494
|
+
"lesson_date": "2026-05-30",
|
|
13495
13495
|
"attack_vector": {
|
|
13496
|
-
"description": "
|
|
13497
|
-
"privileges_required": "
|
|
13498
|
-
"complexity": "
|
|
13499
|
-
"ai_factor": "
|
|
13496
|
+
"description": "a NULL pointer dereference (CWE-476) in a network-reachable Windows component, exploitable by an unauthenticated attacker; described conservatively as a network-reachable memory-safety flaw pending Microsoft's component detail. CISA KEV-listed 2026-02-10 with confirmed in-the-wild exploitation.",
|
|
13497
|
+
"privileges_required": "none (the flaw is reachable by an unauthenticated attacker over the network)",
|
|
13498
|
+
"complexity": "low — KEV-listed, actively exploited; treat as weaponized",
|
|
13499
|
+
"ai_factor": "No AI involvement documented in discovery or weaponization."
|
|
13500
|
+
},
|
|
13501
|
+
"defense_chain": {
|
|
13502
|
+
"prevention": {
|
|
13503
|
+
"what_would_have_worked": "Apply the Microsoft update; restrict and segment the affected network service from untrusted networks until patched.",
|
|
13504
|
+
"was_this_required": true,
|
|
13505
|
+
"framework_requiring_it": "CISA BOD 22-01 (KEV remediation)",
|
|
13506
|
+
"adequacy": "Patch is necessary but the named compensating controls are what hold when the patch lags or the trust mechanism itself is defeated."
|
|
13507
|
+
},
|
|
13508
|
+
"detection": {
|
|
13509
|
+
"what_would_have_worked": "Monitoring for crafted network input that crashes or restarts the affected Windows component, and for unauthenticated requests that trigger the fault.",
|
|
13510
|
+
"was_this_required": false,
|
|
13511
|
+
"framework_requiring_it": null,
|
|
13512
|
+
"adequacy": "Backstops the window before patching and catches the post-exploitation stage."
|
|
13513
|
+
},
|
|
13514
|
+
"response": {
|
|
13515
|
+
"what_would_have_worked": "Patch immediately, segment the service, and review the affected hosts for follow-on activity given confirmed in-the-wild exploitation.",
|
|
13516
|
+
"was_this_required": true,
|
|
13517
|
+
"framework_requiring_it": "NIST 800-53 IR-4",
|
|
13518
|
+
"adequacy": "Mandatory; exploitation of this class leaves persistence or a foothold that a bare patch does not remediate."
|
|
13519
|
+
}
|
|
13500
13520
|
},
|
|
13501
13521
|
"framework_coverage": {
|
|
13502
13522
|
"NIST-800-53-SI-2": {
|
|
13503
13523
|
"covered": true,
|
|
13504
13524
|
"adequate": false,
|
|
13505
|
-
"gap": "30-day SLA
|
|
13525
|
+
"gap": "The 30-day flaw-remediation SLA is far longer than the observed exploitation window for a KEV-listed, unauthenticated network-reachable Windows flaw; these are mass-exploited within days."
|
|
13506
13526
|
},
|
|
13507
13527
|
"ISO-27001-2022-A.8.8": {
|
|
13508
13528
|
"covered": true,
|
|
13509
13529
|
"adequate": false,
|
|
13510
|
-
"gap": "
|
|
13530
|
+
"gap": "'Appropriate timescales' is undefined; unsafe for an actively-exploited network-reachable Windows flaw."
|
|
13531
|
+
},
|
|
13532
|
+
"NIS2-Art21-network-security": {
|
|
13533
|
+
"covered": true,
|
|
13534
|
+
"adequate": false,
|
|
13535
|
+
"gap": "Treats Windows infrastructure as essential-function but lacks a CISA-KEV-style compressed remediation SLA; network segmentation of the affected service is the compensating control pending patch."
|
|
13511
13536
|
}
|
|
13512
13537
|
},
|
|
13513
13538
|
"compliance_exposure_score": {
|
|
13514
|
-
"percent_audit_passing_orgs_still_exposed":
|
|
13515
|
-
"basis": "
|
|
13539
|
+
"percent_audit_passing_orgs_still_exposed": 70,
|
|
13540
|
+
"basis": "The affected Windows service is reachable on audited-organization networks; without prompt patching and segmentation the unauthenticated flaw remains exploitable past the KEV due date.",
|
|
13516
13541
|
"theater_pattern": "patch_management"
|
|
13517
13542
|
},
|
|
13518
13543
|
"ai_discovered_zeroday": false,
|
|
13519
|
-
"ai_discovery_source": "
|
|
13520
|
-
"ai_assist_factor": "none"
|
|
13521
|
-
"_auto_imported": true,
|
|
13522
|
-
"_intake_method": "v0.13.17-bulk-cisa-kev-import"
|
|
13544
|
+
"ai_discovery_source": "vendor_research",
|
|
13545
|
+
"ai_assist_factor": "none"
|
|
13523
13546
|
},
|
|
13524
13547
|
"CVE-2026-21510": {
|
|
13525
13548
|
"name": "Microsoft Windows Shell Protection Mechanism Failure Vulnerability",
|
|
@@ -17513,35 +17536,58 @@
|
|
|
17513
17536
|
},
|
|
17514
17537
|
"CVE-2025-47827": {
|
|
17515
17538
|
"name": "IGEL OS Use of a Key Past its Expiration Date Vulnerability",
|
|
17516
|
-
"lesson_date": "2026-05-
|
|
17539
|
+
"lesson_date": "2026-05-30",
|
|
17517
17540
|
"attack_vector": {
|
|
17518
|
-
"description": "
|
|
17519
|
-
"privileges_required": "
|
|
17520
|
-
"complexity": "
|
|
17521
|
-
"ai_factor": "
|
|
17541
|
+
"description": "use of a key past its expiration date (CWE-324) in IGEL OS Secure Boot verification, letting an attacker bypass signature verification and boot a modified or unverified OS image (a Secure Boot / boot-trust bypass). CISA KEV-listed 2025-10-14 with confirmed in-the-wild exploitation.",
|
|
17542
|
+
"privileges_required": "low-to-physical (an attacker who can place a modified image or influence boot, exploiting the bypassed signature check)",
|
|
17543
|
+
"complexity": "low — KEV-listed, actively exploited; treat as weaponized",
|
|
17544
|
+
"ai_factor": "No AI involvement documented in discovery or weaponization."
|
|
17545
|
+
},
|
|
17546
|
+
"defense_chain": {
|
|
17547
|
+
"prevention": {
|
|
17548
|
+
"what_would_have_worked": "Apply the IGEL OS update so Secure Boot verification uses a valid, unexpired key; re-provision affected thin clients and verify the boot chain integrity against a hardware root of trust.",
|
|
17549
|
+
"was_this_required": true,
|
|
17550
|
+
"framework_requiring_it": "CISA BOD 22-01 (KEV remediation)",
|
|
17551
|
+
"adequacy": "Patch is necessary but the named compensating controls are what hold when the patch lags or the trust mechanism itself is defeated."
|
|
17552
|
+
},
|
|
17553
|
+
"detection": {
|
|
17554
|
+
"what_would_have_worked": "Monitoring for boot of unsigned/modified IGEL images, Secure Boot verification against an expired key, and persistence that survives re-imaging on thin clients.",
|
|
17555
|
+
"was_this_required": false,
|
|
17556
|
+
"framework_requiring_it": null,
|
|
17557
|
+
"adequacy": "Backstops the window before patching and catches the post-exploitation stage."
|
|
17558
|
+
},
|
|
17559
|
+
"response": {
|
|
17560
|
+
"what_would_have_worked": "Patch, re-provision affected devices with corrected trust anchors, and verify boot-chain integrity — a boot-trust bypass can leave persistence beneath the OS that a reinstall does not remove.",
|
|
17561
|
+
"was_this_required": true,
|
|
17562
|
+
"framework_requiring_it": "NIST 800-53 IR-4",
|
|
17563
|
+
"adequacy": "Mandatory; exploitation of this class leaves persistence or a foothold that a bare patch does not remediate."
|
|
17564
|
+
}
|
|
17522
17565
|
},
|
|
17523
17566
|
"framework_coverage": {
|
|
17524
|
-
"NIST-800-53-SI-
|
|
17567
|
+
"NIST-800-53-SI-7-integrity": {
|
|
17525
17568
|
"covered": true,
|
|
17526
17569
|
"adequate": false,
|
|
17527
|
-
"gap": "
|
|
17570
|
+
"gap": "Software/firmware integrity verification is required, but the verification used an expired key, so the Secure Boot trust anchor itself failed; integrity verification must use valid, unexpired keys and reject expired ones, which the control does not explicitly enforce."
|
|
17571
|
+
},
|
|
17572
|
+
"NIST-800-53-SC-7-boundary": {
|
|
17573
|
+
"covered": true,
|
|
17574
|
+
"adequate": false,
|
|
17575
|
+
"gap": "A boot-trust bypass lets unverified code run beneath the OS, defeating boundary and endpoint controls layered above it; the defense requires hardware root-of-trust enforcement that rejects images signed with an expired key."
|
|
17528
17576
|
},
|
|
17529
17577
|
"ISO-27001-2022-A.8.8": {
|
|
17530
17578
|
"covered": true,
|
|
17531
17579
|
"adequate": false,
|
|
17532
|
-
"gap": "
|
|
17580
|
+
"gap": "'Appropriate timescales' is undefined and ill-suited to a boot-integrity flaw, where a tampered boot chain can persist across reinstalls until the device is re-provisioned with corrected trust anchors."
|
|
17533
17581
|
}
|
|
17534
17582
|
},
|
|
17535
17583
|
"compliance_exposure_score": {
|
|
17536
|
-
"percent_audit_passing_orgs_still_exposed":
|
|
17537
|
-
"basis": "
|
|
17538
|
-
"theater_pattern": "
|
|
17584
|
+
"percent_audit_passing_orgs_still_exposed": 70,
|
|
17585
|
+
"basis": "IGEL thin clients are deployed at scale in VDI estates; audited organizations rarely verify boot-chain integrity against a hardware root of trust, so a Secure Boot bypass via an expired key leaves below-OS persistence that endpoint controls cannot see.",
|
|
17586
|
+
"theater_pattern": "secure_boot_signature_trust"
|
|
17539
17587
|
},
|
|
17540
17588
|
"ai_discovered_zeroday": false,
|
|
17541
|
-
"ai_discovery_source": "
|
|
17542
|
-
"ai_assist_factor": "none"
|
|
17543
|
-
"_auto_imported": true,
|
|
17544
|
-
"_intake_method": "v0.13.17-bulk-cisa-kev-import"
|
|
17589
|
+
"ai_discovery_source": "vendor_research",
|
|
17590
|
+
"ai_assist_factor": "none"
|
|
17545
17591
|
},
|
|
17546
17592
|
"CVE-2025-24990": {
|
|
17547
17593
|
"name": "Microsoft Windows Untrusted Pointer Dereference Vulnerability",
|
|
@@ -19290,35 +19336,58 @@
|
|
|
19290
19336
|
},
|
|
19291
19337
|
"CVE-2025-55177": {
|
|
19292
19338
|
"name": "Meta Platforms WhatsApp Incorrect Authorization Vulnerability",
|
|
19293
|
-
"lesson_date": "2026-05-
|
|
19339
|
+
"lesson_date": "2026-05-30",
|
|
19294
19340
|
"attack_vector": {
|
|
19295
|
-
"description": "
|
|
19296
|
-
"privileges_required": "
|
|
19297
|
-
"complexity": "
|
|
19298
|
-
"ai_factor": "
|
|
19341
|
+
"description": "an incorrect-authorization flaw (CWE-863) in WhatsApp's linked-device synchronization, letting an unrelated attacker cause a target's device to process content from an attacker-controlled URL — the zero-click delivery half of a mobile-spyware chain (paired in the wild with the Apple ImageIO flaw CVE-2025-43300). CISA KEV-listed 2025-09-02 with confirmed in-the-wild exploitation.",
|
|
19342
|
+
"privileges_required": "none (the attacker sends linked-device sync messages; the victim's device processes attacker-directed content with no user interaction)",
|
|
19343
|
+
"complexity": "low — KEV-listed, actively exploited; treat as weaponized",
|
|
19344
|
+
"ai_factor": "No AI involvement documented in discovery or weaponization."
|
|
19345
|
+
},
|
|
19346
|
+
"defense_chain": {
|
|
19347
|
+
"prevention": {
|
|
19348
|
+
"what_would_have_worked": "Update WhatsApp promptly (forced auto-update), enforce update SLAs via MDM on managed fleets, deploy mobile-threat-defense, and enable hardened/locked-down configurations (Lockdown Mode) for high-risk users.",
|
|
19349
|
+
"was_this_required": true,
|
|
19350
|
+
"framework_requiring_it": "CISA BOD 22-01 (KEV remediation)",
|
|
19351
|
+
"adequacy": "Patch is necessary but the named compensating controls are what hold when the patch lags or the trust mechanism itself is defeated."
|
|
19352
|
+
},
|
|
19353
|
+
"detection": {
|
|
19354
|
+
"what_would_have_worked": "Mobile-threat-defense telemetry for zero-click chain indicators after inbound messaging content, vendor threat notifications for targeted users, and anomalous content-fetch behavior from the messaging app.",
|
|
19355
|
+
"was_this_required": false,
|
|
19356
|
+
"framework_requiring_it": null,
|
|
19357
|
+
"adequacy": "Backstops the window before patching and catches the post-exploitation stage."
|
|
19358
|
+
},
|
|
19359
|
+
"response": {
|
|
19360
|
+
"what_would_have_worked": "Force the app update; for a confirmed targeted device, preserve forensic state, rotate credentials and tokens on the device, and consider device replacement — spyware can persist across reboots.",
|
|
19361
|
+
"was_this_required": true,
|
|
19362
|
+
"framework_requiring_it": "NIST 800-53 IR-4",
|
|
19363
|
+
"adequacy": "Mandatory; exploitation of this class leaves persistence or a foothold that a bare patch does not remediate."
|
|
19364
|
+
}
|
|
19299
19365
|
},
|
|
19300
19366
|
"framework_coverage": {
|
|
19301
19367
|
"NIST-800-53-SI-2": {
|
|
19302
19368
|
"covered": true,
|
|
19303
19369
|
"adequate": false,
|
|
19304
|
-
"gap": "30-day SLA
|
|
19370
|
+
"gap": "The 30-day flaw-remediation SLA is far longer than the observed exploitation window for a KEV-listed, actively-exploited zero-click messaging-app flaw; commercial-surveillance chains weaponize these within days, and app-update reach depends on app-store/MDM cadence."
|
|
19371
|
+
},
|
|
19372
|
+
"AU-ISM-1546": {
|
|
19373
|
+
"covered": true,
|
|
19374
|
+
"adequate": false,
|
|
19375
|
+
"gap": "Essential 8 names application patching, but the load-bearing controls for a zero-click messaging flaw are forced app auto-update, MDM-enforced update SLAs, mobile-threat-defense, and hardened/locked-down configurations (e.g. Lockdown Mode) for high-risk users — none named explicitly."
|
|
19305
19376
|
},
|
|
19306
19377
|
"ISO-27001-2022-A.8.8": {
|
|
19307
19378
|
"covered": true,
|
|
19308
19379
|
"adequate": false,
|
|
19309
|
-
"gap": "
|
|
19380
|
+
"gap": "'Appropriate timescales' is undefined; unsafe for an actively-exploited zero-click flaw whose victims are often specific high-risk individuals."
|
|
19310
19381
|
}
|
|
19311
19382
|
},
|
|
19312
19383
|
"compliance_exposure_score": {
|
|
19313
|
-
"percent_audit_passing_orgs_still_exposed":
|
|
19314
|
-
"basis": "
|
|
19384
|
+
"percent_audit_passing_orgs_still_exposed": 70,
|
|
19385
|
+
"basis": "WhatsApp is near-universal; app-update reach depends on app-store/MDM cadence, and audited organizations that do not enforce mobile update SLAs or harden high-risk-user devices remain exposed to this KEV-listed zero-click flaw.",
|
|
19315
19386
|
"theater_pattern": "patch_management"
|
|
19316
19387
|
},
|
|
19317
19388
|
"ai_discovered_zeroday": false,
|
|
19318
|
-
"ai_discovery_source": "
|
|
19319
|
-
"ai_assist_factor": "none"
|
|
19320
|
-
"_auto_imported": true,
|
|
19321
|
-
"_intake_method": "v0.13.17-bulk-cisa-kev-import"
|
|
19389
|
+
"ai_discovery_source": "vendor_research",
|
|
19390
|
+
"ai_assist_factor": "none"
|
|
19322
19391
|
},
|
|
19323
19392
|
"CVE-2025-57819": {
|
|
19324
19393
|
"name": "Sangoma FreePBX Authentication Bypass Vulnerability",
|
|
@@ -20142,35 +20211,58 @@
|
|
|
20142
20211
|
},
|
|
20143
20212
|
"CVE-2023-2533": {
|
|
20144
20213
|
"name": "PaperCut NG/MF Cross-Site Request Forgery (CSRF) Vulnerability",
|
|
20145
|
-
"lesson_date": "2026-05-
|
|
20214
|
+
"lesson_date": "2026-05-30",
|
|
20146
20215
|
"attack_vector": {
|
|
20147
|
-
"description": "PaperCut NG/MF
|
|
20148
|
-
"privileges_required": "
|
|
20149
|
-
"complexity": "
|
|
20150
|
-
"ai_factor": "
|
|
20216
|
+
"description": "a cross-site request forgery flaw (CWE-352) in PaperCut NG/MF: an attacker who lures an authenticated administrator to a malicious page can force a state-changing request (e.g. enabling a setting that leads to code execution), part of the PaperCut exploitation chain. CISA KEV-listed 2025-07-28 with confirmed in-the-wild exploitation.",
|
|
20217
|
+
"privileges_required": "none for the attacker, but requires luring an authenticated administrator (the forged request rides the admin's session)",
|
|
20218
|
+
"complexity": "low — KEV-listed, actively exploited; treat as weaponized",
|
|
20219
|
+
"ai_factor": "No AI involvement documented in discovery or weaponization."
|
|
20220
|
+
},
|
|
20221
|
+
"defense_chain": {
|
|
20222
|
+
"prevention": {
|
|
20223
|
+
"what_would_have_worked": "Apply the PaperCut update; restrict the admin interface to a trusted network so an administrator cannot be lured into a forged request, and ensure anti-CSRF tokens / SameSite cookies are enforced.",
|
|
20224
|
+
"was_this_required": true,
|
|
20225
|
+
"framework_requiring_it": "CISA BOD 22-01 (KEV remediation)",
|
|
20226
|
+
"adequacy": "Patch is necessary but the named compensating controls are what hold when the patch lags or the trust mechanism itself is defeated."
|
|
20227
|
+
},
|
|
20228
|
+
"detection": {
|
|
20229
|
+
"what_would_have_worked": "Monitoring for administrative setting changes that correlate with external-content viewing rather than deliberate console actions, and unexpected enablement of code-execution-related options.",
|
|
20230
|
+
"was_this_required": false,
|
|
20231
|
+
"framework_requiring_it": null,
|
|
20232
|
+
"adequacy": "Backstops the window before patching and catches the post-exploitation stage."
|
|
20233
|
+
},
|
|
20234
|
+
"response": {
|
|
20235
|
+
"what_would_have_worked": "Patch, restrict the admin interface, review and revert unauthorized setting changes, and hunt for code execution staged via the chained settings.",
|
|
20236
|
+
"was_this_required": true,
|
|
20237
|
+
"framework_requiring_it": "NIST 800-53 IR-4",
|
|
20238
|
+
"adequacy": "Mandatory; exploitation of this class leaves persistence or a foothold that a bare patch does not remediate."
|
|
20239
|
+
}
|
|
20151
20240
|
},
|
|
20152
20241
|
"framework_coverage": {
|
|
20153
20242
|
"NIST-800-53-SI-2": {
|
|
20154
20243
|
"covered": true,
|
|
20155
20244
|
"adequate": false,
|
|
20156
|
-
"gap": "30-day SLA
|
|
20245
|
+
"gap": "The 30-day flaw-remediation SLA is far longer than the observed exploitation window for a KEV-listed PaperCut flaw; PaperCut has been repeatedly chained to ransomware staging."
|
|
20246
|
+
},
|
|
20247
|
+
"NIST-800-53-SC-23-session-integrity": {
|
|
20248
|
+
"covered": true,
|
|
20249
|
+
"adequate": false,
|
|
20250
|
+
"gap": "Anti-CSRF tokens and SameSite cookies — which prevent a forged cross-site request from riding an authenticated session — are the durable control, but the framework does not mandate them; restricting the admin interface to a trusted network also blunts the lure."
|
|
20157
20251
|
},
|
|
20158
20252
|
"ISO-27001-2022-A.8.8": {
|
|
20159
20253
|
"covered": true,
|
|
20160
20254
|
"adequate": false,
|
|
20161
|
-
"gap": "
|
|
20255
|
+
"gap": "'Appropriate timescales' is undefined; unsafe for an actively-exploited flaw on an internet-reachable admin interface."
|
|
20162
20256
|
}
|
|
20163
20257
|
},
|
|
20164
20258
|
"compliance_exposure_score": {
|
|
20165
|
-
"percent_audit_passing_orgs_still_exposed":
|
|
20166
|
-
"basis": "
|
|
20167
|
-
"theater_pattern": "
|
|
20259
|
+
"percent_audit_passing_orgs_still_exposed": 70,
|
|
20260
|
+
"basis": "Internet-reachable PaperCut admin interfaces are common; audited organizations rarely enforce anti-CSRF/SameSite and admin-plane restriction, so an administrator can be lured into a forged state-changing request that stages further compromise.",
|
|
20261
|
+
"theater_pattern": "secure_coding"
|
|
20168
20262
|
},
|
|
20169
20263
|
"ai_discovered_zeroday": false,
|
|
20170
|
-
"ai_discovery_source": "
|
|
20171
|
-
"ai_assist_factor": "none"
|
|
20172
|
-
"_auto_imported": true,
|
|
20173
|
-
"_intake_method": "v0.13.17-bulk-cisa-kev-import"
|
|
20264
|
+
"ai_discovery_source": "vendor_research",
|
|
20265
|
+
"ai_assist_factor": "none"
|
|
20174
20266
|
},
|
|
20175
20267
|
"CVE-2025-20337": {
|
|
20176
20268
|
"name": "Cisco Identity Services Engine Injection Vulnerability",
|
|
@@ -21069,35 +21161,58 @@
|
|
|
21069
21161
|
},
|
|
21070
21162
|
"CVE-2014-3931": {
|
|
21071
21163
|
"name": "Multi-Router Looking Glass (MRLG) Buffer Overflow Vulnerability",
|
|
21072
|
-
"lesson_date": "2026-05-
|
|
21164
|
+
"lesson_date": "2026-05-30",
|
|
21073
21165
|
"attack_vector": {
|
|
21074
|
-
"description": "Multi-Router Looking Glass (MRLG)
|
|
21075
|
-
"privileges_required": "
|
|
21076
|
-
"complexity": "
|
|
21077
|
-
"ai_factor": "
|
|
21166
|
+
"description": "a buffer overflow (CWE-119) in Multi-Router Looking Glass (MRLG), the Perl CGI used on looking-glass route servers, letting a remote attacker write to arbitrary memory for code execution on the looking-glass host. CISA KEV-listed 2025-07-07 with confirmed in-the-wild exploitation.",
|
|
21167
|
+
"privileges_required": "low (the looking-glass CGI is reachable; the flaw requires only crafted input to the service)",
|
|
21168
|
+
"complexity": "low — KEV-listed, actively exploited; treat as weaponized",
|
|
21169
|
+
"ai_factor": "No AI involvement documented in discovery or weaponization."
|
|
21170
|
+
},
|
|
21171
|
+
"defense_chain": {
|
|
21172
|
+
"prevention": {
|
|
21173
|
+
"what_would_have_worked": "Apply the MRLG update; restrict the looking-glass CGI input, and treat an exploited looking-glass host as compromised — rebuild and rotate any credentials it held.",
|
|
21174
|
+
"was_this_required": true,
|
|
21175
|
+
"framework_requiring_it": "CISA BOD 22-01 (KEV remediation)",
|
|
21176
|
+
"adequacy": "Patch is necessary but the named compensating controls are what hold when the patch lags or the trust mechanism itself is defeated."
|
|
21177
|
+
},
|
|
21178
|
+
"detection": {
|
|
21179
|
+
"what_would_have_worked": "Monitoring of the looking-glass CGI for oversized/malformed parameters and unexpected process execution from the web server.",
|
|
21180
|
+
"was_this_required": false,
|
|
21181
|
+
"framework_requiring_it": null,
|
|
21182
|
+
"adequacy": "Backstops the window before patching and catches the post-exploitation stage."
|
|
21183
|
+
},
|
|
21184
|
+
"response": {
|
|
21185
|
+
"what_would_have_worked": "Patch, rebuild an exploited host, rotate credentials, and review the network infrastructure the looking-glass server had visibility into.",
|
|
21186
|
+
"was_this_required": true,
|
|
21187
|
+
"framework_requiring_it": "NIST 800-53 IR-4",
|
|
21188
|
+
"adequacy": "Mandatory; exploitation of this class leaves persistence or a foothold that a bare patch does not remediate."
|
|
21189
|
+
}
|
|
21078
21190
|
},
|
|
21079
21191
|
"framework_coverage": {
|
|
21080
21192
|
"NIST-800-53-SI-2": {
|
|
21081
21193
|
"covered": true,
|
|
21082
21194
|
"adequate": false,
|
|
21083
|
-
"gap": "30-day SLA
|
|
21195
|
+
"gap": "The 30-day flaw-remediation SLA is far longer than the observed exploitation window for a KEV-listed unauthenticated RCE on an internet-facing service; this is a long-tail flaw on infrastructure looking-glass servers."
|
|
21084
21196
|
},
|
|
21085
21197
|
"ISO-27001-2022-A.8.8": {
|
|
21086
21198
|
"covered": true,
|
|
21087
21199
|
"adequate": false,
|
|
21088
|
-
"gap": "
|
|
21200
|
+
"gap": "'Appropriate timescales' is undefined; unsafe for an actively-exploited internet-facing service, and looking-glass servers are often unmanaged long-tail infrastructure."
|
|
21201
|
+
},
|
|
21202
|
+
"NIS2-Art21-network-security": {
|
|
21203
|
+
"covered": true,
|
|
21204
|
+
"adequate": false,
|
|
21205
|
+
"gap": "Treats internet-facing network infrastructure as essential-function but lacks a compressed remediation SLA; an exploited looking-glass host should be rebuilt, not merely patched."
|
|
21089
21206
|
}
|
|
21090
21207
|
},
|
|
21091
21208
|
"compliance_exposure_score": {
|
|
21092
|
-
"percent_audit_passing_orgs_still_exposed":
|
|
21093
|
-
"basis": "
|
|
21209
|
+
"percent_audit_passing_orgs_still_exposed": 70,
|
|
21210
|
+
"basis": "Internet-facing looking-glass / route servers are frequently unmanaged long-tail infrastructure; audited organizations rarely track MRLG on a KEV SLA, and rebuild rather than patch-in-place is rarely performed.",
|
|
21094
21211
|
"theater_pattern": "patch_management"
|
|
21095
21212
|
},
|
|
21096
21213
|
"ai_discovered_zeroday": false,
|
|
21097
|
-
"ai_discovery_source": "
|
|
21098
|
-
"ai_assist_factor": "none"
|
|
21099
|
-
"_auto_imported": true,
|
|
21100
|
-
"_intake_method": "v0.13.17-bulk-cisa-kev-import"
|
|
21214
|
+
"ai_discovery_source": "vendor_research",
|
|
21215
|
+
"ai_assist_factor": "none"
|
|
21101
21216
|
},
|
|
21102
21217
|
"CVE-2025-6554": {
|
|
21103
21218
|
"name": "Google Chromium V8 Type Confusion Vulnerability (variant: CVE-2025-6554)",
|
|
@@ -21686,35 +21801,58 @@
|
|
|
21686
21801
|
},
|
|
21687
21802
|
"CVE-2025-33053": {
|
|
21688
21803
|
"name": " Microsoft Windows External Control of File Name or Path Vulnerability",
|
|
21689
|
-
"lesson_date": "2026-05-
|
|
21804
|
+
"lesson_date": "2026-05-30",
|
|
21690
21805
|
"attack_vector": {
|
|
21691
|
-
"description": "
|
|
21692
|
-
"privileges_required": "
|
|
21693
|
-
"complexity": "
|
|
21694
|
-
"ai_factor": "
|
|
21806
|
+
"description": "an external-control-of-file-name-or-path flaw (CWE-73) in Windows WebDAV handling: a crafted Internet Shortcut (.url) sets the working directory to an attacker-controlled WebDAV path so that opening it executes an attacker-supplied binary (exploited by the Stealth Falcon group). CISA KEV-listed 2025-06-10 with confirmed in-the-wild exploitation.",
|
|
21807
|
+
"privileges_required": "none (the victim opens a crafted Internet Shortcut; execution follows from the attacker-controlled path)",
|
|
21808
|
+
"complexity": "low — KEV-listed, actively exploited; treat as weaponized",
|
|
21809
|
+
"ai_factor": "No AI involvement documented in discovery or weaponization."
|
|
21810
|
+
},
|
|
21811
|
+
"defense_chain": {
|
|
21812
|
+
"prevention": {
|
|
21813
|
+
"what_would_have_worked": "Apply the Microsoft update; block outbound WebDAV/SMB to the internet, disable the WebClient service where unneeded, enforce Mark-of-the-Web and ASR rules, and filter inbound shortcut files.",
|
|
21814
|
+
"was_this_required": true,
|
|
21815
|
+
"framework_requiring_it": "CISA BOD 22-01 (KEV remediation)",
|
|
21816
|
+
"adequacy": "Patch is necessary but the named compensating controls are what hold when the patch lags or the trust mechanism itself is defeated."
|
|
21817
|
+
},
|
|
21818
|
+
"detection": {
|
|
21819
|
+
"what_would_have_worked": "EDR detection of binaries executed from remote WebDAV shares, outbound WebDAV/SMB after a shortcut is opened, and child-process execution following an Internet Shortcut.",
|
|
21820
|
+
"was_this_required": false,
|
|
21821
|
+
"framework_requiring_it": null,
|
|
21822
|
+
"adequacy": "Backstops the window before patching and catches the post-exploitation stage."
|
|
21823
|
+
},
|
|
21824
|
+
"response": {
|
|
21825
|
+
"what_would_have_worked": "Patch, isolate exploited endpoints, block the WebDAV egress path, hunt for follow-on payloads, and review for credential theft and lateral movement (Stealth Falcon is an espionage actor).",
|
|
21826
|
+
"was_this_required": true,
|
|
21827
|
+
"framework_requiring_it": "NIST 800-53 IR-4",
|
|
21828
|
+
"adequacy": "Mandatory; exploitation of this class leaves persistence or a foothold that a bare patch does not remediate."
|
|
21829
|
+
}
|
|
21695
21830
|
},
|
|
21696
21831
|
"framework_coverage": {
|
|
21697
21832
|
"NIST-800-53-SI-2": {
|
|
21698
21833
|
"covered": true,
|
|
21699
21834
|
"adequate": false,
|
|
21700
|
-
"gap": "30-day SLA
|
|
21835
|
+
"gap": "The 30-day flaw-remediation SLA is far longer than the observed exploitation window for a KEV-listed, actively-exploited client-side flaw delivered by a crafted shortcut; targeted-espionage actors weaponize these within days."
|
|
21836
|
+
},
|
|
21837
|
+
"AU-ISM-1546": {
|
|
21838
|
+
"covered": true,
|
|
21839
|
+
"adequate": false,
|
|
21840
|
+
"gap": "Essential 8 names application patching, but the load-bearing controls here are blocking outbound WebDAV/SMB to the internet, ASR rules, Mark-of-the-Web enforcement on downloaded shortcuts, and disabling the WebClient service where unneeded — none named explicitly."
|
|
21701
21841
|
},
|
|
21702
21842
|
"ISO-27001-2022-A.8.8": {
|
|
21703
21843
|
"covered": true,
|
|
21704
21844
|
"adequate": false,
|
|
21705
|
-
"gap": "
|
|
21845
|
+
"gap": "'Appropriate timescales' is undefined; unsafe for an actively-exploited client-side execution flaw delivered through everyday file handling."
|
|
21706
21846
|
}
|
|
21707
21847
|
},
|
|
21708
21848
|
"compliance_exposure_score": {
|
|
21709
|
-
"percent_audit_passing_orgs_still_exposed":
|
|
21710
|
-
"basis": "
|
|
21849
|
+
"percent_audit_passing_orgs_still_exposed": 70,
|
|
21850
|
+
"basis": "Windows endpoints are universal; audited organizations that allow outbound WebDAV/SMB and do not enforce Mark-of-the-Web / ASR remain exposed to this KEV-listed client-side flaw delivered by a crafted shortcut.",
|
|
21711
21851
|
"theater_pattern": "patch_management"
|
|
21712
21852
|
},
|
|
21713
21853
|
"ai_discovered_zeroday": false,
|
|
21714
|
-
"ai_discovery_source": "
|
|
21715
|
-
"ai_assist_factor": "none"
|
|
21716
|
-
"_auto_imported": true,
|
|
21717
|
-
"_intake_method": "v0.13.17-bulk-cisa-kev-import"
|
|
21854
|
+
"ai_discovery_source": "vendor_research",
|
|
21855
|
+
"ai_assist_factor": "none"
|
|
21718
21856
|
},
|
|
21719
21857
|
"CVE-2025-24016": {
|
|
21720
21858
|
"name": "Wazuh Server Deserialization of Untrusted Data Vulnerability",
|
package/lib/flag-suggest.js
CHANGED
|
@@ -66,7 +66,7 @@ function suggestFlag(flag, allowlist) {
|
|
|
66
66
|
* (e.g. `pretty`, `json`, `help`) live under '_global'.
|
|
67
67
|
*/
|
|
68
68
|
const VERB_FLAG_ALLOWLIST = Object.freeze({
|
|
69
|
-
_global: ['help', 'pretty', 'json', 'verbose'],
|
|
69
|
+
_global: ['help', 'pretty', 'json', 'verbose', 'quiet'],
|
|
70
70
|
run: [
|
|
71
71
|
'evidence', 'evidence-dir', 'session-id', 'force-overwrite', 'attestation-root',
|
|
72
72
|
'mode', 'air-gap', 'force-stale', 'operator', 'ack', 'csaf-status',
|
package/lib/refresh-external.js
CHANGED
|
@@ -206,7 +206,8 @@ Sources (default = all):
|
|
|
206
206
|
osv (v0.12.10) OSV.dev aggregator — OSSF Malicious Packages (MAL-*) + Snyk
|
|
207
207
|
+ GHSA + RustSec + Mageia + Go Vuln DB + Ubuntu USN. Unauthenticated.
|
|
208
208
|
Use --advisory MAL-* / RUSTSEC-* / SNYK-* / USN-* to seed a single
|
|
209
|
-
draft.
|
|
209
|
+
draft. One advisory ID per invocation; there is no bulk or
|
|
210
|
+
package-watchlist import.
|
|
210
211
|
|
|
211
212
|
Air-gap workflow:
|
|
212
213
|
1. On a connected host: \`exceptd refresh --prefetch\`
|
|
@@ -595,7 +596,8 @@ const GHSA_SOURCE = {
|
|
|
595
596
|
if (ctx.fixtures?.ghsa) return synthesizeFromFixture(ctx, "ghsa");
|
|
596
597
|
if (ctx.cacheDir) {
|
|
597
598
|
// Cache parity: ghsa cache layout is .cache/upstream/ghsa/<published-date>.json
|
|
598
|
-
//
|
|
599
|
+
// GHSA has no cache layer yet — fall through to live fetch. (Unlike NVD
|
|
600
|
+
// and RFC, GHSA does not honor the air-gap --from-cache path.)
|
|
599
601
|
}
|
|
600
602
|
const ghsa = require("./source-ghsa");
|
|
601
603
|
return ghsa.buildDiff(ctx);
|
package/lib/source-osv.js
CHANGED
|
@@ -372,7 +372,9 @@ async function fetchAdvisoryById(id, opts = {}) {
|
|
|
372
372
|
|
|
373
373
|
/**
|
|
374
374
|
* List advisories for a package, optionally filtered to a specific version.
|
|
375
|
-
*
|
|
375
|
+
* The single-package network path is implemented; there is no bulk /
|
|
376
|
+
* package-watchlist import caller — advisories are seeded one at a time via
|
|
377
|
+
* `refresh --advisory <id>`.
|
|
376
378
|
*/
|
|
377
379
|
async function fetchAdvisoriesForPackage(name, ecosystem, version, opts = {}) {
|
|
378
380
|
if (!name || !ecosystem) {
|