@blamejs/exceptd-skills 0.21.5 → 0.21.7

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.
@@ -1227,6 +1227,7 @@
1227
1227
  "CVE-2021-1871",
1228
1228
  "CVE-2021-1879",
1229
1229
  "CVE-2021-20016",
1230
+ "CVE-2021-20022",
1230
1231
  "CVE-2021-20028",
1231
1232
  "CVE-2021-20035",
1232
1233
  "CVE-2021-20038",
@@ -1338,6 +1339,7 @@
1338
1339
  "CVE-2021-38163",
1339
1340
  "CVE-2021-38371",
1340
1341
  "CVE-2021-38406",
1342
+ "CVE-2021-38645",
1341
1343
  "CVE-2021-38647",
1342
1344
  "CVE-2021-38648",
1343
1345
  "CVE-2021-38649",
@@ -3294,6 +3296,7 @@
3294
3296
  "CVE-2020-5410",
3295
3297
  "CVE-2020-7961",
3296
3298
  "CVE-2021-1497",
3299
+ "CVE-2021-20022",
3297
3300
  "CVE-2021-21315",
3298
3301
  "CVE-2021-22502",
3299
3302
  "CVE-2021-25370",
@@ -3883,6 +3886,7 @@
3883
3886
  "CVE-2021-1870",
3884
3887
  "CVE-2021-1871",
3885
3888
  "CVE-2021-1879",
3889
+ "CVE-2021-1905",
3886
3890
  "CVE-2021-20016",
3887
3891
  "CVE-2021-20028",
3888
3892
  "CVE-2021-20035",
@@ -3905,6 +3909,7 @@
3905
3909
  "CVE-2021-22555",
3906
3910
  "CVE-2021-22600",
3907
3911
  "CVE-2021-22681",
3912
+ "CVE-2021-22893",
3908
3913
  "CVE-2021-22941",
3909
3914
  "CVE-2021-22986",
3910
3915
  "CVE-2021-23758",
@@ -3984,6 +3989,7 @@
3984
3989
  "CVE-2021-38163",
3985
3990
  "CVE-2021-38371",
3986
3991
  "CVE-2021-38406",
3992
+ "CVE-2021-38645",
3987
3993
  "CVE-2021-38647",
3988
3994
  "CVE-2021-38648",
3989
3995
  "CVE-2021-38649",
@@ -5265,6 +5271,7 @@
5265
5271
  "CVE-2021-1789",
5266
5272
  "CVE-2021-1871",
5267
5273
  "CVE-2021-1879",
5274
+ "CVE-2021-1905",
5268
5275
  "CVE-2021-20016",
5269
5276
  "CVE-2021-20028",
5270
5277
  "CVE-2021-21148",
@@ -5274,6 +5281,7 @@
5274
5281
  "CVE-2021-21224",
5275
5282
  "CVE-2021-22555",
5276
5283
  "CVE-2021-22600",
5284
+ "CVE-2021-22893",
5277
5285
  "CVE-2021-22941",
5278
5286
  "CVE-2021-22986",
5279
5287
  "CVE-2021-25370",
@@ -5325,6 +5333,7 @@
5325
5333
  "CVE-2021-36948",
5326
5334
  "CVE-2021-38000",
5327
5335
  "CVE-2021-38163",
5336
+ "CVE-2021-38645",
5328
5337
  "CVE-2021-38646",
5329
5338
  "CVE-2021-38648",
5330
5339
  "CVE-2021-38649",
@@ -6238,6 +6247,7 @@
6238
6247
  "CVE-2020-0986",
6239
6248
  "CVE-2020-17087",
6240
6249
  "CVE-2021-1782",
6250
+ "CVE-2021-1905",
6241
6251
  "CVE-2021-22600",
6242
6252
  "CVE-2021-25370",
6243
6253
  "CVE-2021-28664",
@@ -6670,6 +6680,7 @@
6670
6680
  "CVE-2020-7247",
6671
6681
  "CVE-2020-7961",
6672
6682
  "CVE-2021-1497",
6683
+ "CVE-2021-20022",
6673
6684
  "CVE-2021-22204",
6674
6685
  "CVE-2021-22205",
6675
6686
  "CVE-2021-22502",
@@ -7297,6 +7308,7 @@
7297
7308
  "CVE-2021-22555",
7298
7309
  "CVE-2021-22600",
7299
7310
  "CVE-2021-22681",
7311
+ "CVE-2021-22893",
7300
7312
  "CVE-2021-22941",
7301
7313
  "CVE-2021-22986",
7302
7314
  "CVE-2021-23758",
@@ -7368,6 +7380,7 @@
7368
7380
  "CVE-2021-38163",
7369
7381
  "CVE-2021-38371",
7370
7382
  "CVE-2021-38406",
7383
+ "CVE-2021-38645",
7371
7384
  "CVE-2021-38646",
7372
7385
  "CVE-2021-38648",
7373
7386
  "CVE-2021-38649",
@@ -9644,6 +9657,7 @@
9644
9657
  "CVE-2021-1048",
9645
9658
  "CVE-2021-21224",
9646
9659
  "CVE-2021-21551",
9660
+ "CVE-2021-22893",
9647
9661
  "CVE-2021-22991",
9648
9662
  "CVE-2021-27102",
9649
9663
  "CVE-2021-30869",
@@ -11740,6 +11754,7 @@
11740
11754
  "CVE-2021-3493",
11741
11755
  "CVE-2021-3560",
11742
11756
  "CVE-2021-36934",
11757
+ "CVE-2021-38645",
11743
11758
  "CVE-2021-38648",
11744
11759
  "CVE-2021-38649",
11745
11760
  "CVE-2021-4034",
@@ -12798,7 +12813,9 @@
12798
12813
  "CVE-2021-1789",
12799
12814
  "CVE-2021-1870",
12800
12815
  "CVE-2021-1879",
12816
+ "CVE-2021-1905",
12801
12817
  "CVE-2021-20016",
12818
+ "CVE-2021-20022",
12802
12819
  "CVE-2021-20028",
12803
12820
  "CVE-2021-20035",
12804
12821
  "CVE-2021-20090",
@@ -12895,6 +12912,7 @@
12895
12912
  "CVE-2021-38163",
12896
12913
  "CVE-2021-38371",
12897
12914
  "CVE-2021-38406",
12915
+ "CVE-2021-38645",
12898
12916
  "CVE-2021-38646",
12899
12917
  "CVE-2021-38647",
12900
12918
  "CVE-2021-38649",
@@ -13693,6 +13711,7 @@
13693
13711
  "CVE-2020-2555",
13694
13712
  "CVE-2020-8644",
13695
13713
  "CVE-2021-20021",
13714
+ "CVE-2021-22893",
13696
13715
  "CVE-2021-33044",
13697
13716
  "CVE-2021-33045",
13698
13717
  "CVE-2021-34473",
@@ -14458,6 +14477,7 @@
14458
14477
  "CVE-2020-8195",
14459
14478
  "CVE-2020-8196",
14460
14479
  "CVE-2021-20021",
14480
+ "CVE-2021-20022",
14461
14481
  "CVE-2021-20035",
14462
14482
  "CVE-2021-20123",
14463
14483
  "CVE-2021-20124",
@@ -14854,12 +14874,15 @@
14854
14874
  "misses": [
14855
14875
  "Software that updates itself (browsers, agents, desktop applications, device firmware) fetches and applies updates outside any centralised system, so the integrity check the control requires never runs on those updates",
14856
14876
  "Integrity is usually taken to mean the vendor's signature verified, which does not detect a signed update from a compromised build system or a rollback to an older signed build",
14857
- "Confirmation that an update applied records the installed version, not that the binary running matches what the vendor published"
14877
+ "Confirmation that an update applied records the installed version, not that the binary running matches what the vendor published",
14878
+ "Confirmation that an update applied does not show that it carries the fix for a given vulnerability: an Android device can apply its monthly update successfully and report a security patch level that the vendor's bulletin does not list the fix under"
14858
14879
  ],
14859
- "real_requirement": "Update integrity evidence must cover self-updating software as well as centrally patched software: signature verification before apply, pinning of the update signing key out of band, rejection of rollbacks to older signed builds, and a post-install check that the running binary matches the published artifact.",
14880
+ "real_requirement": "Update integrity evidence must cover self-updating software as well as centrally patched software: signature verification before apply, pinning of the update signing key out of band, rejection of rollbacks to older signed builds, and a post-install check that the running binary matches the published artifact. For each vulnerability being remediated, the evidence must also show that the installed build or security patch level is one the vendor lists the fix under, not only that an update applied.",
14860
14881
  "status": "open",
14861
14882
  "opened_date": "2026-09-22",
14862
- "evidence_cves": [],
14883
+ "evidence_cves": [
14884
+ "CVE-2021-1905"
14885
+ ],
14863
14886
  "atlas_refs": [],
14864
14887
  "attack_refs": [
14865
14888
  "T1195.002",
@@ -14867,16 +14890,15 @@
14867
14890
  ],
14868
14891
  "theater_test": {
14869
14892
  "claim": "Our patches and updates keep their integrity and are confirmed applied, which satisfies ISM-0298.",
14870
- "test": "List the software on a sample host that updates itself outside the central patching system. For each, confirm the update client verifies a signature before applying, rejects a rollback to an older signed build, and that someone can show the installed binary matches the vendor's published artifact. Theater verdict if the evidence covers only centrally deployed patches, or if any self-updating product has no documented integrity check.",
14893
+ "test": "List the software on a sample host that updates itself outside the central patching system. For each, confirm the update client verifies a signature before applying, rejects a rollback to an older signed build, and that someone can show the installed binary matches the vendor's published artifact. Then pick one remediated CVE and confirm the record shows an installed build or security patch level that the vendor lists its fix under. Theater verdict if the evidence covers only centrally deployed patches, if any self-updating product has no documented integrity check, or if the remediated CVE is recorded as fixed on the strength of an applied update alone.",
14871
14894
  "evidence_required": [
14872
14895
  "inventory of self-updating software on a sampled host",
14873
14896
  "per-product record of signature verification and rollback protection",
14874
- "post-install artifact comparison for one sampled update"
14897
+ "post-install artifact comparison for one sampled update",
14898
+ "for one remediated CVE, the installed build or security patch level compared with the level the vendor lists its fix under"
14875
14899
  ],
14876
14900
  "verdict_when_failed": "compliance-theater"
14877
- },
14878
- "forward_looking": true,
14879
- "forward_looking_reason": "No CVE in the catalog anchors this gap yet; it records the control class without binding it to a single incident."
14901
+ }
14880
14902
  },
14881
14903
  "AU-ISM-1240": {
14882
14904
  "framework": "Australian Government Information Security Manual (ISM)",
@@ -17,7 +17,7 @@
17
17
  "rebuild_after_days": 365,
18
18
  "note": "Per-entry last_verified governs decay. Skills depending on this catalog must check entry freshness before high-stakes use."
19
19
  },
20
- "entry_count": 1754
20
+ "entry_count": 1758
21
21
  },
22
22
  "CVE-2026-31431": {
23
23
  "name": "Copy Fail",
@@ -28139,7 +28139,7 @@
28139
28139
  ]
28140
28140
  },
28141
28141
  "CVE-2025-27038": {
28142
- "name": "Qualcomm Multiple Chipsets Use-After-Free Vulnerability",
28142
+ "name": "Qualcomm Multiple Chipsets Use-After-Free Vulnerability (CVE-2025-27038)",
28143
28143
  "lesson_date": "2026-05-29",
28144
28144
  "attack_vector": {
28145
28145
  "description": "a use-after-free (CWE-416) in the Qualcomm Adreno GPU driver, exploited by a local foothold to escalate privilege on the device. CISA KEV-listed 2025-06-03 with confirmed in-the-wild exploitation; LPEs of this class are routinely paired with an initial-access primitive.",
@@ -145457,5 +145457,345 @@
145457
145457
  ]
145458
145458
  }
145459
145459
  ]
145460
+ },
145461
+ "CVE-2021-22893": {
145462
+ "name": "Ivanti Pulse Connect Secure Use-After-Free Vulnerability",
145463
+ "lesson_date": "2026-09-23",
145464
+ "ai_discovered_zeroday": false,
145465
+ "ai_discovery_source": "vendor_research",
145466
+ "ai_discovery_date": null,
145467
+ "ai_assist_factor": "none",
145468
+ "attack_vector": {
145469
+ "description": "A crafted request to the Pulse Connect Secure license-server handling endpoints triggers a use-after-free that runs code as root on the gateway. The endpoints are present regardless of whether the license-server role is set, so the flaw is reachable without authentication and, combined with the Windows File Share Browser and Pulse Secure Collaboration features, forms an authentication bypass to remote code execution.",
145470
+ "privileges_required": "none; the flaw is reachable by an unauthenticated remote attacker",
145471
+ "complexity": "low; exploited in the wild as a zero-day before a fix existed",
145472
+ "ai_factor": "None. Found during an incident investigation; no source claims AI tooling."
145473
+ },
145474
+ "defense_chain": {
145475
+ "prevention": {
145476
+ "what_would_have_worked": "Upgrading to Pulse Connect Secure 9.1R11.4 after running the Integrity Checker Tool, and before the fix existed importing the vendor Workaround-2104.xml or restricting source addresses to the gateway",
145477
+ "was_this_required": true,
145478
+ "framework_requiring_it": "NIS2-Art21-patch-management",
145479
+ "adequacy": "The 9.1R11.4 upgrade removes the flaw, but as a zero-day exploited before any fix the only pre-patch protection was the vendor XML mitigation and source-address restriction, which reduce but do not eliminate reach for a license-server deployment."
145480
+ },
145481
+ "detection": {
145482
+ "what_would_have_worked": "Enabling the Unauthenticated Requests log, shipping it to an off-device collector, and running the Integrity Checker Tool to flag modified appliance files",
145483
+ "was_this_required": false,
145484
+ "framework_requiring_it": "UK-CAF-C1",
145485
+ "adequacy": "These signals catch the request and the file modifications, but the appliance does not log unauthenticated requests by default and the actor cleared on-device logs, so detection depends on both being configured before the intrusion."
145486
+ },
145487
+ "response": {
145488
+ "what_would_have_worked": "Treating an appliance on which the Integrity Checker Tool finds mismatches as compromised: isolating it with the power on, capturing memory and disk images with the vendor, factory-resetting it through the serial console, upgrading to 9.1R11.4, re-importing the saved configuration and changing the passwords of every account that passed through the gateway",
145489
+ "was_this_required": false,
145490
+ "framework_requiring_it": "ISO-27001-2022-A.8.8",
145491
+ "adequacy": "Because the actor maintained persistence across upgrades, a patch alone does not recover a device compromised earlier; the factory reset and the password changes are the load-bearing steps."
145492
+ }
145493
+ },
145494
+ "framework_coverage": {
145495
+ "NIST-800-53-SI-2": {
145496
+ "covered": true,
145497
+ "adequate": false
145498
+ },
145499
+ "NIS2-Art21-patch-management": {
145500
+ "covered": true,
145501
+ "adequate": false
145502
+ },
145503
+ "UK-CAF-C1": {
145504
+ "covered": true,
145505
+ "adequate": false
145506
+ },
145507
+ "AU-ISM-1546": {
145508
+ "covered": true,
145509
+ "adequate": false
145510
+ },
145511
+ "ISO-27001-2022-A.8.8": {
145512
+ "covered": true,
145513
+ "adequate": false
145514
+ }
145515
+ },
145516
+ "new_control_requirements": [
145517
+ {
145518
+ "id": "NEW-CTRL-131",
145519
+ "name": "PERIMETER-VPN-GATEWAY-AUTH-BYPASS-EXPEDITED-REMEDIATION",
145520
+ "description": "A remote-access gateway that is itself the network authentication enforcement point has an authentication-bypass flaw remediated on a listing-tied expedited clock rather than the routine appliance patch window, with every reachable authentication path enumerated and interim reachability restricted until the fixed build is running.",
145521
+ "evidence": "CVE-2021-22893 is a use-after-free reachable through a Pulse Connect Secure license-server handling endpoint that lets an unauthenticated attacker execute code with root privileges, and CERT/CC Vulnerability Note VU#213092 states that having the license server configured is not a prerequisite because the vulnerable endpoints are present regardless; the appliance is the network authentication enforcement point, so it warranted the expedited clock rather than the routine window the pre-patch zero-day period defeated.",
145522
+ "gap_closes": [
145523
+ "NIST-800-53-SI-2",
145524
+ "AU-ISM-1546",
145525
+ "ISO-27001-2022-A.8.8",
145526
+ "NIS2-Art21-patch-management"
145527
+ ]
145528
+ },
145529
+ {
145530
+ "id": "NEW-CTRL-031",
145531
+ "name": "FIREWALL-EGRESS-TELEMETRY-SEPARATE-TRUST-ZONE",
145532
+ "description": "Trust-boundary network devices forward their access, threat and authentication logs to a collector held in a separate trust zone with an independent management plane, so the record survives when the device itself is taken over.",
145533
+ "evidence": "Mandiant reports the actor cleared relevant log files on the Pulse Connect Secure appliance with a utility it tracks as THINBLOOD, and CISA alert AA21-110A documents further cleanup by timestomping and rm of temporary files; because CERT/CC notes exploitation of this unauthenticated flaw may be recorded only in the Unauthenticated Requests Log, forwarding the gateway's access and authentication logs to a collector in a separate trust zone would preserve evidence the device itself lost.",
145534
+ "gap_closes": [
145535
+ "UK-CAF-C1"
145536
+ ]
145537
+ }
145538
+ ]
145539
+ },
145540
+ "CVE-2021-38645": {
145541
+ "name": "Microsoft Open Management Infrastructure (OMI) Privilege Escalation Vulnerability",
145542
+ "lesson_date": "2026-09-23",
145543
+ "ai_discovered_zeroday": false,
145544
+ "ai_discovery_source": "human_researcher",
145545
+ "ai_discovery_date": null,
145546
+ "ai_assist_factor": "none",
145547
+ "attack_vector": {
145548
+ "description": "A local low-privileged process connects to the world-writable omiserver.sock socket, poses as omiserver and sends the omiengine an authentication-success response with uid 0 and gid 0 for a client connection it also opened, so commands issued on that connection run as root.",
145549
+ "privileges_required": "Any existing unprivileged local account on a Linux host running OMI below 1.6.8-1.",
145550
+ "complexity": "Low per the CVSS vector (AC:L). Wiz describes the attack as answering before omiserver's real response and guessing the client's socket id, which it says is usually below 10. Wiz also says exploitation is quite complex and statistical, because a separate use-after-free in the same code path keeps crashing the omiengine.",
145551
+ "ai_factor": "None. Reported to Microsoft by Wiz researchers; no source states that AI tooling was used to find or exploit the flaw."
145552
+ },
145553
+ "defense_chain": {
145554
+ "prevention": {
145555
+ "what_would_have_worked": "Inventorying every OMI copy, including those installed by Azure VM extensions, on-premises Log Analytics agents, on-premises DSC nodes, Operations Manager, Azure Marketplace VM images, the Container Monitoring Solution image and HDInsight clusters, and moving each to its fixed build: OMI 1.6.8-1, OMS Agent for Linux GA v1.13.40-0, LAD v4.0.15 or v3.0.135, Linux DSC agent 2.71.1.25, 2.70.0.30 or 3.0.0.3, Azure Stack Hub extensions 1.14.02 and 3.1.135, the Container Monitoring Solution image sha256:12b7682d8f9a2f67752bf121029e315abcae89bc0c34a0e05f07baec72280707, and Microsoft's update script on HDInsight nodes that did not update automatically.",
145556
+ "was_this_required": true,
145557
+ "framework_requiring_it": "NIST-800-53-SI-2",
145558
+ "adequacy": "The fixed builds close CVE-2021-38645 together with its three OMI siblings, but only on hosts where the inventory records OMI; a copy that Azure did not update automatically stays vulnerable until someone finds it."
145559
+ },
145560
+ "detection": {
145561
+ "what_would_have_worked": "Collecting auditd execve records (AUOMS through the Syslog connector in Microsoft Sentinel) and alerting on any uid 0 process whose working directory is /var/opt/microsoft/scx/tmp, whichever of the ExecuteCommand, ExecuteShellCommand or ExecuteScript RunAs classes started it, or on a command line that runs a script from /etc/opt/microsoft/scx/conf/tmpdir/, similar to /bin/sh /etc/opt/microsoft/scx/conf/tmpdir/scx* (SCXcore deletes each such script as soon as it has run, so a later listing of that directory does not show it); enabling scxadmin verbose logging and searching scx.log for Invoke_Execute to capture entries from all three classes; and auditing connections to /var/opt/omi/run/omiserver.sock from accounts other than root and omi.",
145562
+ "was_this_required": false,
145563
+ "framework_requiring_it": null,
145564
+ "adequacy": "The SCX signals show root command execution through the OMI providers, which follows any of the four OMI flaws, but the scx.log entries appear only after verbose logging is enabled and neither signal separates an attack from a scheduled management action. The socket audit is the signal closest to this local path, and it is a general heuristic rather than a published vendor rule."
145565
+ },
145566
+ "response": {
145567
+ "what_would_have_worked": "Treating any host that ran OMI below 1.6.8-1 with untrusted local accounts as possibly compromised at root: reviewing SCX logs and auditd history for root commands issued through OMI, checking for persistence, and rotating credentials and keys stored on the host.",
145568
+ "was_this_required": false,
145569
+ "framework_requiring_it": null,
145570
+ "adequacy": "Updating OMI stops further use of the flaw but does not remove root access already obtained, so a host with untrusted local users needs the compromise review in addition to the package update."
145571
+ }
145572
+ },
145573
+ "framework_coverage": {
145574
+ "NIST-800-53-SI-2": {
145575
+ "covered": true,
145576
+ "adequate": false,
145577
+ "gap": "A process that matched Microsoft's advisory only as published on 2021-09-14 missed products added on 2021-09-16 and 2021-09-17, and the advisory does not list HDInsight clusters, whose manual update is given in Microsoft's separate guidance post."
145578
+ },
145579
+ "NIST-800-53-AC-6": {
145580
+ "covered": true,
145581
+ "adequate": false,
145582
+ "gap": "Least-privilege review of the VM's own accounts does not test the privilege boundary between omiengine and the root-running omiserver."
145583
+ },
145584
+ "NIS2-Art21-patch-management": {
145585
+ "covered": true,
145586
+ "adequate": false,
145587
+ "gap": "The reasonable-time requirement cannot be met for OMI copies that Azure did not update and the entity has not identified."
145588
+ },
145589
+ "UK-CAF-B4": {
145590
+ "covered": true,
145591
+ "adequate": false,
145592
+ "gap": "Closing the OMI ports counts as the OMI mitigation in an assessment while the local socket escalation stays open."
145593
+ },
145594
+ "AU-Essential-8-Patch": {
145595
+ "covered": true,
145596
+ "adequate": false,
145597
+ "gap": "At Maturity Level One a non-listening or internally reachable OMI instance is an other application with no patch timeframe."
145598
+ },
145599
+ "ISO-27001-2022-A.8.8": {
145600
+ "covered": true,
145601
+ "adequate": false,
145602
+ "gap": "Marketplace VM images that Microsoft flagged through Service Health notifications and HDInsight clusters are not products in the advisory, so a register that lists the image or cluster rather than the OMI package has no advisory entry to match."
145603
+ }
145604
+ },
145605
+ "new_control_requirements": [
145606
+ {
145607
+ "id": "NEW-CTRL-021",
145608
+ "name": "TIER-3-DEPENDENCY-INVENTORY",
145609
+ "description": "The software inventory records every component that another product or platform agent installs on a host, with that component's own version, so that a bundled component is matched against advisories and patched on the same schedule as software the organization installed itself.",
145610
+ "evidence": "OMI below 1.6.8-1 was installed on Linux VMs by Azure VM management extensions (the Log Analytics agent, the Linux Diagnostic extension and the DSC agent) and was also present in Operations Manager deployments, the Container Monitoring Solution image and HDInsight clusters, per Microsoft's September 2021 Additional Guidance post covering CVE-2021-38645. Wiz found over 65% of sampled Azure customers exposed and describes OMI's functions in Azure VMs as almost completely undocumented.",
145611
+ "gap_closes": [
145612
+ "ISO-27001-2022-A.8.8",
145613
+ "NIST-800-53-SI-2",
145614
+ "NIS2-Art21-patch-management"
145615
+ ]
145616
+ },
145617
+ {
145618
+ "id": "NEW-CTRL-135",
145619
+ "name": "CONTROL-PANEL-PLUGIN-USER-SURFACE-MUST-NOT-REACH-ROOT-OPERATIONS",
145620
+ "description": "A privileged service that accepts requests from unprivileged local users must establish each request's identity from a source those users cannot forge, and a message arriving on an endpoint they can write must never set the privileges under which later requests run.",
145621
+ "evidence": "In OMI below 1.6.8-1 any local user can write to /var/opt/omi/run/omiserver.sock, and Wiz's analysis of CVE-2021-38645 shows the omiengine handling messages from clients and from omiserver the same way, so a local process posing as omiserver can have a connection recorded as uid 0 and gid 0 and then run commands as root.",
145622
+ "gap_closes": [
145623
+ "NIST-800-53-AC-6",
145624
+ "UK-CAF-B4"
145625
+ ]
145626
+ },
145627
+ {
145628
+ "id": "NEW-CTRL-038",
145629
+ "name": "MITIGATION-ACTIVE-PATCH-PENDING-VERDICT-CLASS",
145630
+ "description": "A compliance verdict that credits a compensating measure names the specific flaws that measure blocks, and a host that relies on it for a flaw it does not block is recorded as unpatched for that flaw.",
145631
+ "evidence": "Microsoft's Additional Guidance post offers restricting TCP 5985, 5986 and 1270 as protection against the remote-code-execution flaw CVE-2021-38647 only. CVE-2021-38645 runs over the local omiserver.sock socket, so a Linux host below OMI 1.6.8-1 with those ports closed can still be escalated to root and has to be recorded as unpatched for this CVE.",
145632
+ "gap_closes": [
145633
+ "UK-CAF-B4",
145634
+ "ISO-27001-2022-A.8.8"
145635
+ ]
145636
+ }
145637
+ ]
145638
+ },
145639
+ "CVE-2021-20022": {
145640
+ "name": "SonicWall Email Security Unrestricted Upload of File Vulnerability",
145641
+ "lesson_date": "2026-09-26",
145642
+ "ai_discovered_zeroday": false,
145643
+ "ai_discovery_source": "human_researcher",
145644
+ "ai_discovery_date": null,
145645
+ "ai_assist_factor": "none",
145646
+ "attack_vector": {
145647
+ "description": "An attacker who holds an administrator session uploads a branding-package ZIP whose entries use directory-traversal paths; Email Security extracts them without confining them to the branding directory, writing a BEHINDER JSP web shell into a web-accessible Apache Tomcat directory. On the Windows installation Mandiant examined, the Tomcat process runs as NT AUTHORITY\\SYSTEM, so the web shell runs with those rights.",
145648
+ "privileges_required": "an authenticated administrator session, which the chained CVE-2021-20021 authentication bypass supplies",
145649
+ "complexity": "low",
145650
+ "ai_factor": "None. Credited to human researchers at Mandiant; no AI tooling is claimed."
145651
+ },
145652
+ "defense_chain": {
145653
+ "prevention": {
145654
+ "what_would_have_worked": "Installing Hotfix 10.0.9.6103 (Windows software) or 10.0.9.6105 (hardware and virtual appliance), then 10.0.9.6173 or 10.0.9.6177 to close the exploited chain, and not exposing the Email Security administration interface to the internet.",
145655
+ "was_this_required": true,
145656
+ "framework_requiring_it": "AU-Essential-8-Patch",
145657
+ "adequacy": "Hotfix 10.0.9.6103 or 10.0.9.6105 closes this flaw, but the exploited chain with CVE-2021-20021 and CVE-2021-20023 stays open until 10.0.9.6173 or 10.0.9.6177 is installed. The operator could not add the missing validation to the vendor's branding feature and had to wait for the vendor build, and the end-of-life 7.0.0 through 9.2.2 releases receive no fix."
145658
+ },
145659
+ "detection": {
145660
+ "what_would_have_worked": "Alerting on branding uploads followed by new .jsp files under the web root, and on the Tomcat process spawning cmd.exe.",
145661
+ "was_this_required": false,
145662
+ "framework_requiring_it": "NIST-800-53-SI-10",
145663
+ "adequacy": "The web-shell and process-spawn signals are reliable but fire after a file was already written to an executable web path."
145664
+ },
145665
+ "response": {
145666
+ "what_would_have_worked": "Removing web shells from web-accessible directories, rotating credentials, rebuilding compromised instances, and installing Hotfix 10.0.9.6103 or 10.0.9.6105 and then 10.0.9.6173 or 10.0.9.6177, which closes the chain.",
145667
+ "was_this_required": false,
145668
+ "framework_requiring_it": "NIS2-Art21-network-security",
145669
+ "adequacy": "Patching stops new uploads, but because a web shell may already run with NT AUTHORITY\\SYSTEM rights on a Windows installation, a compromised instance must be rebuilt and its credentials rotated."
145670
+ }
145671
+ },
145672
+ "framework_coverage": {
145673
+ "NIST-800-53-SI-10": {
145674
+ "covered": true,
145675
+ "adequate": false,
145676
+ "gap": "The archive-path check sits in SonicWall's branding code, which the organization cannot change, so SI-10 was met for this input only by installing the hotfix."
145677
+ },
145678
+ "NIS2-Art21-network-security": {
145679
+ "covered": true,
145680
+ "adequate": false,
145681
+ "gap": "Article 21(2)(a) and (e) set no rating method, so a medium-rated post-authentication flaw assessed alone understates a chain that ended in a SYSTEM-level web shell."
145682
+ },
145683
+ "UK-CAF-B4": {
145684
+ "covered": true,
145685
+ "adequate": false,
145686
+ "gap": "'Promptly' is not defined against exploitation that began in March 2021 before the April 9 hotfix, and the unsupported 7.0.0 through 9.2.2 releases have no in-line fix, while the vendor's IPS signature runs only on SonicWall firewalls."
145687
+ },
145688
+ "AU-Essential-8-Patch": {
145689
+ "covered": true,
145690
+ "adequate": false,
145691
+ "gap": "A working exploit exists, so an internet-facing instance had 48 hours from the April 9, 2021 hotfix (ISM-1876 for the Windows software, ISM-1877 for an appliance), but exploitation began in March 2021, before any fix, and no window covers that period."
145692
+ },
145693
+ "ISO-27001-2022-A.8.28": {
145694
+ "covered": true,
145695
+ "adequate": true,
145696
+ "gap": "Secure coding against Zip Slip, applied by the developer to the branding feature, would have prevented the traversal write; the control is adequate."
145697
+ }
145698
+ },
145699
+ "new_control_requirements": [
145700
+ {
145701
+ "id": "NEW-CTRL-119",
145702
+ "name": "ARCHIVE-CONTENT-TYPE-PROVENANCE",
145703
+ "description": "Upload and archive handlers must dispatch on the content-verified type rather than the supplied name or path, must confine extracted entries to their intended directory, and must never write uploaded content where the web server can execute it.",
145704
+ "evidence": "SonicWall advisory SNWLID-2021-0008 states that CVE-2021-20022 lets a post-authenticated attacker upload an arbitrary file to SonicWall Email Security. Mandiant's report 'Zero-Day Exploits in SonicWall Email Security Lead to Enterprise Compromise' states that an attacker uploaded a ZIP archive from the administrative panel's branding page whose Zip Slip traversal entries exploited CVE-2021-20022 and wrote a BEHINDER JSP web shell into the web-accessible Apache Tomcat directory under webapps. Confining extracted entries to their target directory and refusing to write uploads where the web server executes them removes the file-write primitive the attacker used.",
145705
+ "gap_closes": [
145706
+ "NIST-800-53-SI-10"
145707
+ ]
145708
+ },
145709
+ {
145710
+ "id": "NEW-CTRL-032",
145711
+ "name": "PERIMETER-COMPROMISE-REBUILD-NOT-PATCH",
145712
+ "description": "The incident-response default for a network-reachable appliance hit by an actively exploited pre-authentication chain must be to export its configuration, rebuild it and rotate every credential it held, not to patch it in place.",
145713
+ "evidence": "Mandiant documented CVE-2021-20022 used in March 2021 to plant a web shell on an internet-accessible SonicWall Email Security installation on Windows Server 2012, as part of the chain with CVE-2021-20021, so a compromised instance must be rebuilt and its credentials rotated rather than only upgraded to Hotfix 10.0.9.6103 or 10.0.9.6105, or to 10.0.9.6173 or 10.0.9.6177, which closes the chain.",
145714
+ "gap_closes": [
145715
+ "NIS2-Art21-network-security",
145716
+ "UK-CAF-B4"
145717
+ ]
145718
+ }
145719
+ ]
145720
+ },
145721
+ "CVE-2021-1905": {
145722
+ "name": "Qualcomm Multiple Chipsets Use-After-Free Vulnerability (CVE-2021-1905)",
145723
+ "lesson_date": "2026-09-26",
145724
+ "ai_discovered_zeroday": false,
145725
+ "ai_discovery_source": "unknown",
145726
+ "ai_discovery_date": null,
145727
+ "ai_assist_factor": "none",
145728
+ "attack_vector": {
145729
+ "description": "The Qualcomm Adreno GPU kernel driver mishandles GPU memory mappings shared by multiple processes: a shared mapping with several virtual memory areas plus a race between two processes mapping the same GPU memory leaves a freed mapping structure reachable. Project Zero did not have the exploit sample and writes that it is hard to say whether the attack used classical memory corruption through the freed object or a GPU-specific route, such as granting an attacker-controlled GPU context arbitrary physical memory read and write; the CVSS vectors rate the impact as high for confidentiality, integrity and availability.",
145730
+ "privileges_required": "local; the attacker needs code execution in any unprivileged local process on the device, such as a malicious installed app or a process compromised by an earlier exploit in a chain, for example a remote-code-execution and sandbox-escape pair. Google TAG's Buying Spying report describes spyware-vendor exploit chains in which a local privilege escalation is usually the final step, after a remote-code-execution exploit and a sandbox escape.",
145731
+ "complexity": "low per the CVSS vectors from NVD and Qualcomm (AC:L); the trigger is a state error in kgsl_gpumem_vm_close followed by a race between two processes in kgsl_get_unmapped_area",
145732
+ "ai_factor": "None. No AI tooling is claimed and no finder is named."
145733
+ },
145734
+ "defense_chain": {
145735
+ "prevention": {
145736
+ "what_would_have_worked": "Applying the Android 2021-05-05 security patch level, or on other platforms the maker's update that integrates the Qualcomm driver fix, on affected devices, which corrects the GPU memory-mapping handling that allows the use-after-free",
145737
+ "was_this_required": true,
145738
+ "framework_requiring_it": "ASD ISM-1878, which applies to operating systems of IT equipment other than workstations, servers and network devices, including handsets: patches are applied within 48 hours of release when the vendor rates the flaw critical or a working exploit exists",
145739
+ "adequacy": "The patch removes the flaw, but it reaches a device only when its maker ships the update, so on a fleet prevention depends on OEM rollout that can lag the platform fix while targeted exploitation is reported."
145740
+ },
145741
+ "detection": {
145742
+ "what_would_have_worked": "Watching for any local process, including an untrusted app or a browser process, making heavy use of the GPU memory-mapping interface and forking to share GPU mappings, and for a local process gaining kernel privilege, using on-device telemetry",
145743
+ "was_this_required": false,
145744
+ "framework_requiring_it": "NIST-800-53-SC-39",
145745
+ "adequacy": "Kernel-escalation signals are hard to observe on mobile endpoints, and the race-based trigger has no network footprint, so detection is weak compared with keeping devices at the fixed patch level."
145746
+ },
145747
+ "response": {
145748
+ "what_would_have_worked": "Bringing affected devices to the 2021-05-05 patch level and rebooting, and quarantining devices that cannot reach it from organizational data until their maker ships the update. For a device of a user who fits a commercial-spyware targeting profile and that ran a security patch level below 2021-05-05, also assessing the device for compromise and capturing evidence before it is reset or reissued.",
145749
+ "was_this_required": false,
145750
+ "framework_requiring_it": "NIS2-Art21-patch-management",
145751
+ "adequacy": "Enforcing the fixed patch level closes the flaw on devices that can install the fix, but installing the update does not show whether a device was compromised before it was updated. Google TAG attributes 0-day use of this flaw against Android to the commercial surveillance vendor Intellexa, so for devices of users who fit a spyware targeting profile, patching without a compromise assessment can leave an earlier compromise undetected."
145752
+ }
145753
+ },
145754
+ "framework_coverage": {
145755
+ "NIST-800-53-SC-39": {
145756
+ "covered": true,
145757
+ "adequate": false
145758
+ },
145759
+ "NIS2-Art21-patch-management": {
145760
+ "covered": true,
145761
+ "adequate": false
145762
+ },
145763
+ "UK-CAF-B4": {
145764
+ "covered": true,
145765
+ "adequate": false
145766
+ },
145767
+ "AU-ISM-0298": {
145768
+ "covered": true,
145769
+ "adequate": false
145770
+ },
145771
+ "ISO-27001-2022-A.8.8": {
145772
+ "covered": true,
145773
+ "adequate": false
145774
+ }
145775
+ },
145776
+ "new_control_requirements": [
145777
+ {
145778
+ "id": "NEW-CTRL-126",
145779
+ "name": "MOBILE-OS-MINIMUM-PATCH-LEVEL-ENFORCEMENT",
145780
+ "description": "Access to organizational data from a managed mobile device depends on the device meeting a minimum operating-system security-patch level that carries the fix, and devices below it are blocked or quarantined rather than accepted on a compliance dashboard.",
145781
+ "evidence": "The Android Security Bulletin for May 2021 lists CVE-2021-1905 under the 2021-05-05 security patch level, not the 2021-05-01 level, and Qualcomm's May 2021 bulletin says OEMs were notified and strongly recommended to release patches on end devices. Gating organizational-data access on a device reporting 2021-05-05 or later, and quarantining devices that report an earlier level, including 2021-05-01, closes the fleet exposure until each device's maker ships that level.",
145782
+ "gap_closes": [
145783
+ "UK-CAF-B4",
145784
+ "ISO-27001-2022-A.8.8",
145785
+ "NIS2-Art21-patch-management",
145786
+ "AU-ISM-0298"
145787
+ ]
145788
+ },
145789
+ {
145790
+ "id": "NEW-CTRL-003",
145791
+ "name": "KERNEL-EXPLOITATION-DETECTION",
145792
+ "description": "Host-level detection rules for privilege-escalation indicators are deployed and alert within seconds, so exploitation of a local escalation flaw is observed even before the fix is installed.",
145793
+ "evidence": "The Android Security Bulletin for May 2021 reports indications that CVE-2021-1905, a use-after-free in the Qualcomm Adreno GPU kernel driver reached by a local process, may be under limited, targeted exploitation. Google Project Zero's root-cause analysis says runtime anomaly detection might be one way to detect similar 0-days but would require specialist tooling, so on-device detection is a compensating signal only where that tooling is deployed on devices that do not yet carry the 2021-05-05 security patch level.",
145794
+ "gap_closes": [
145795
+ "NIST-800-53-SC-39",
145796
+ "ISO-27001-2022-A.8.8"
145797
+ ]
145798
+ }
145799
+ ]
145460
145800
  }
145461
145801
  }