@blamejs/exceptd-skills 0.21.5 → 0.21.6

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",
@@ -3905,6 +3908,7 @@
3905
3908
  "CVE-2021-22555",
3906
3909
  "CVE-2021-22600",
3907
3910
  "CVE-2021-22681",
3911
+ "CVE-2021-22893",
3908
3912
  "CVE-2021-22941",
3909
3913
  "CVE-2021-22986",
3910
3914
  "CVE-2021-23758",
@@ -3984,6 +3988,7 @@
3984
3988
  "CVE-2021-38163",
3985
3989
  "CVE-2021-38371",
3986
3990
  "CVE-2021-38406",
3991
+ "CVE-2021-38645",
3987
3992
  "CVE-2021-38647",
3988
3993
  "CVE-2021-38648",
3989
3994
  "CVE-2021-38649",
@@ -5274,6 +5279,7 @@
5274
5279
  "CVE-2021-21224",
5275
5280
  "CVE-2021-22555",
5276
5281
  "CVE-2021-22600",
5282
+ "CVE-2021-22893",
5277
5283
  "CVE-2021-22941",
5278
5284
  "CVE-2021-22986",
5279
5285
  "CVE-2021-25370",
@@ -5325,6 +5331,7 @@
5325
5331
  "CVE-2021-36948",
5326
5332
  "CVE-2021-38000",
5327
5333
  "CVE-2021-38163",
5334
+ "CVE-2021-38645",
5328
5335
  "CVE-2021-38646",
5329
5336
  "CVE-2021-38648",
5330
5337
  "CVE-2021-38649",
@@ -6670,6 +6677,7 @@
6670
6677
  "CVE-2020-7247",
6671
6678
  "CVE-2020-7961",
6672
6679
  "CVE-2021-1497",
6680
+ "CVE-2021-20022",
6673
6681
  "CVE-2021-22204",
6674
6682
  "CVE-2021-22205",
6675
6683
  "CVE-2021-22502",
@@ -7297,6 +7305,7 @@
7297
7305
  "CVE-2021-22555",
7298
7306
  "CVE-2021-22600",
7299
7307
  "CVE-2021-22681",
7308
+ "CVE-2021-22893",
7300
7309
  "CVE-2021-22941",
7301
7310
  "CVE-2021-22986",
7302
7311
  "CVE-2021-23758",
@@ -7368,6 +7377,7 @@
7368
7377
  "CVE-2021-38163",
7369
7378
  "CVE-2021-38371",
7370
7379
  "CVE-2021-38406",
7380
+ "CVE-2021-38645",
7371
7381
  "CVE-2021-38646",
7372
7382
  "CVE-2021-38648",
7373
7383
  "CVE-2021-38649",
@@ -9644,6 +9654,7 @@
9644
9654
  "CVE-2021-1048",
9645
9655
  "CVE-2021-21224",
9646
9656
  "CVE-2021-21551",
9657
+ "CVE-2021-22893",
9647
9658
  "CVE-2021-22991",
9648
9659
  "CVE-2021-27102",
9649
9660
  "CVE-2021-30869",
@@ -11740,6 +11751,7 @@
11740
11751
  "CVE-2021-3493",
11741
11752
  "CVE-2021-3560",
11742
11753
  "CVE-2021-36934",
11754
+ "CVE-2021-38645",
11743
11755
  "CVE-2021-38648",
11744
11756
  "CVE-2021-38649",
11745
11757
  "CVE-2021-4034",
@@ -12799,6 +12811,7 @@
12799
12811
  "CVE-2021-1870",
12800
12812
  "CVE-2021-1879",
12801
12813
  "CVE-2021-20016",
12814
+ "CVE-2021-20022",
12802
12815
  "CVE-2021-20028",
12803
12816
  "CVE-2021-20035",
12804
12817
  "CVE-2021-20090",
@@ -12895,6 +12908,7 @@
12895
12908
  "CVE-2021-38163",
12896
12909
  "CVE-2021-38371",
12897
12910
  "CVE-2021-38406",
12911
+ "CVE-2021-38645",
12898
12912
  "CVE-2021-38646",
12899
12913
  "CVE-2021-38647",
12900
12914
  "CVE-2021-38649",
@@ -13693,6 +13707,7 @@
13693
13707
  "CVE-2020-2555",
13694
13708
  "CVE-2020-8644",
13695
13709
  "CVE-2021-20021",
13710
+ "CVE-2021-22893",
13696
13711
  "CVE-2021-33044",
13697
13712
  "CVE-2021-33045",
13698
13713
  "CVE-2021-34473",
@@ -14458,6 +14473,7 @@
14458
14473
  "CVE-2020-8195",
14459
14474
  "CVE-2020-8196",
14460
14475
  "CVE-2021-20021",
14476
+ "CVE-2021-20022",
14461
14477
  "CVE-2021-20035",
14462
14478
  "CVE-2021-20123",
14463
14479
  "CVE-2021-20124",
@@ -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": 1757
21
21
  },
22
22
  "CVE-2026-31431": {
23
23
  "name": "Copy Fail",
@@ -145457,5 +145457,265 @@
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
+ ]
145460
145720
  }
145461
145721
  }