@blamejs/exceptd-skills 0.21.3 → 0.21.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.21.5 — 2026-09-27
4
+
5
+ The catalog holds 1,754 CVEs after two additions from CISA KEV, both SonicWall flaws that carry CISA's ransomware designation: CVE-2021-20021, an improper privilege management flaw in SonicWall Email Security, and CVE-2021-20016, a SQL injection in the SMA 100 series SSL VPN. Neither has a public exploit, and both need a restart before the fix takes effect.
6
+
7
+ ## 0.21.4 — 2026-09-26
8
+
9
+ `exceptd refresh --curate-batch` now refuses a batch whose new catalog entries or zero-day lessons cite the curation input instead of a source, as in "Packet: ...", "Packet fields: ...", "the packet names ...", "the packet's own ..." or "per the packet", and it writes nothing when it does. It checks every submitted entry and lesson, including one marked `_auto_imported`. The catalog gap audit has a matching `pipeline-wording` class: `npm run audit-catalog-gaps -- --class pipeline-wording` lists the 2,159 existing texts with that wording (2,157 lesson texts and 2 catalog fields), and the predeploy budget gate fails if the count grows. Wording about network packets, such as "packet data", "Packet fields are not validated", "the malformed packet: its length" or "the packet socket (AF_PACKET)", and the exploit archive Packet Storm do not match.
10
+
11
+ `npm run audit-catalog-gaps -- --class` now accepts every class the gap detectors report.
12
+
3
13
  ## 0.21.3 — 2026-09-24
4
14
 
5
15
  The catalog holds 1,752 CVEs after 32 additions from CISA KEV. Twenty-one are Microsoft flaws, among them two links of the ProxyShell Exchange chain (CVE-2021-31207 and CVE-2021-34473), the CryptoAPI certificate-validation spoofing flaw CVE-2020-0601, the SharePoint deserialization flaw CVE-2019-0604, and Win32k, Common Log File System and Windows Error Reporting privilege escalations. Five are Oracle WebLogic Server and Oracle Coherence flaws, two are Firefox and Thunderbird use-after-free flaws, and the rest cover Arista VeloCloud Orchestrator, Nagios XI, PlaySMS and Progress Telerik UI for ASP.NET AJAX.
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "schema_version": "1.1.0",
3
- "generated_at": "2026-09-24T17:32:31.224Z",
3
+ "generated_at": "2026-09-27T14:51:02.622Z",
4
4
  "generator": "scripts/build-indexes.js",
5
5
  "source_count": 64,
6
6
  "source_hashes": {
7
- "manifest.json": "b57d31f96b49ed1cc418972797df9c088d418bde0f45ec9a77a2b3ac4c42f9eb",
7
+ "manifest.json": "02398f4bcc28238623b56128e7e517d6b33375360be62c7cf799b3896d1b5a93",
8
8
  "README.md": "864570c1f7fb221b0176d22d3b0823a8d077d6a7209edc6045b426b1e9ec555d",
9
9
  "data/atlas-ttps.json": "c36c0a27c8de8a37a7070923d7b187345c46db9db778f58e4637f1f81ca6d6b1",
10
- "data/attack-techniques.json": "c2dcbd311fc5280b32e87e7705f5db5f1a5da7a97ac72bd33defa025b5d2c55a",
11
- "data/cve-catalog.json": "387f78d2ba3b5961f9e7276ed06cc394f0df8edc8c32c427ac1fc46ce124b895",
12
- "data/cwe-catalog.json": "b833d102be2a2485c7c275edcb8140813343fb289d7d9fd352c12ffb016e1bf2",
10
+ "data/attack-techniques.json": "f004eadd708c9243aea6667e683451b29921b6cec45d1aec9bf63b4b49493b13",
11
+ "data/cve-catalog.json": "deddba50e7f8d16528b04007715a1574211d058afc403d36c475ca8380e89eec",
12
+ "data/cwe-catalog.json": "4a11ae07ebfb69c9f7321a51468d36335cfa42f7c049d24439e39ed99fda18d8",
13
13
  "data/d3fend-catalog.json": "feec37e4b0a40cd7bc14616b50e7b9bcdb58a92d8e9326f9e2e632896d8ea576",
14
14
  "data/dlp-controls.json": "791f6a46b19b0c0fa2f46630ac8b398afb7ec9c2f2019056828c8820fe255f19",
15
15
  "data/exploit-availability.json": "37300ecbfcb00a4a31423d280247a89a851b1145b5c4200a5513429bfd07dd9b",
16
- "data/framework-control-gaps.json": "928fe789dab5f9fafcb2f9e7f82e72e5f0e6b94c9781a460338279fb7ff831ce",
16
+ "data/framework-control-gaps.json": "8ddc65d007fd67c9f6ef3a9f818b09e8025af72d59532a4785bdba956dd01dfd",
17
17
  "data/global-frameworks.json": "86249047c50d2584b4854eb381ba53c309c0e6e29d4cb0e522b4ba1405481de6",
18
18
  "data/rfc-references.json": "6e9017eca910ab7e4bee85ad7c23927fd6ec766f34be7fce49ebf020cec3381a",
19
- "data/zeroday-lessons.json": "ac80c712f24408667da61433eff002922f3c056b8fb8d9927442814d9fe1c599",
19
+ "data/zeroday-lessons.json": "a8fec7dd4cc7fd2b817d593c07e697b94f32628d9b197a4d7d3d9bafda7754a4",
20
20
  "skills/kernel-lpe-triage/skill.md": "78a547771c42b9348a1f80201e0f1b8a5ed3e7b4f15b35b1f64cf4ee54b0480b",
21
21
  "skills/ai-attack-surface/skill.md": "bc9084127e4e928cba439187025f9e77aaca8089fe64891312824e74dd9fdb5b",
22
22
  "skills/mcp-agent-trust/skill.md": "c20bda4c1267b16db4f713667216d93e0ab4b98c0fb244024749dcfb32d709cf",
@@ -101,7 +101,7 @@
101
101
  "dlp_refs": 0
102
102
  },
103
103
  "trigger_table_entries": 688,
104
- "chains_cve_entries": 1739,
104
+ "chains_cve_entries": 1741,
105
105
  "chains_cwe_entries": 241,
106
106
  "jurisdictions_indexed": 34,
107
107
  "handoff_dag_nodes": 51,
@@ -6,20 +6,20 @@
6
6
  },
7
7
  "events": [
8
8
  {
9
- "date": "2026-09-24",
9
+ "date": "2026-09-27",
10
10
  "type": "catalog_update",
11
11
  "artifact": "data/cve-catalog.json",
12
12
  "path": "data/cve-catalog.json",
13
13
  "schema_version": "1.0.0",
14
- "entry_count": 1752
14
+ "entry_count": 1754
15
15
  },
16
16
  {
17
- "date": "2026-09-24",
17
+ "date": "2026-09-27",
18
18
  "type": "catalog_update",
19
19
  "artifact": "data/zeroday-lessons.json",
20
20
  "path": "data/zeroday-lessons.json",
21
21
  "schema_version": "1.1.0",
22
- "entry_count": 1752
22
+ "entry_count": 1754
23
23
  },
24
24
  {
25
25
  "date": "2026-09-22",
@@ -53,7 +53,7 @@
53
53
  "path": "data/cve-catalog.json",
54
54
  "purpose": "Per-CVE record (CVSS, EPSS, CISA KEV, RWEP, AI-discovery, vendor advisories, framework gaps, ATLAS/ATT&CK mappings). Cross-validated against NVD + CISA KEV + FIRST EPSS via validate-cves.",
55
55
  "schema_version": "1.0.0",
56
- "last_updated": "2026-09-24",
56
+ "last_updated": "2026-09-27",
57
57
  "tlp": "CLEAR",
58
58
  "source_confidence_default": "A1",
59
59
  "freshness_policy": {
@@ -62,13 +62,13 @@
62
62
  "rebuild_after_days": 365,
63
63
  "note": "Per-entry last_verified governs decay. Skills depending on this catalog must check entry freshness before high-stakes use."
64
64
  },
65
- "entry_count": 1752,
65
+ "entry_count": 1754,
66
66
  "sample_keys": [
67
+ "CVE-2021-20021",
68
+ "CVE-2021-20016",
67
69
  "CVE-2026-93952",
68
70
  "CVE-2021-31207",
69
- "CVE-2021-34473",
70
- "CVE-2020-1380",
71
- "CVE-2021-27085"
71
+ "CVE-2021-34473"
72
72
  ]
73
73
  },
74
74
  "cwe-catalog.json": {
@@ -229,7 +229,7 @@
229
229
  "path": "data/zeroday-lessons.json",
230
230
  "purpose": "Distilled lessons from notable zero-days and campaigns (SesameOp, Copy Fail, Dirty Frag, Copilot RCE, Windsurf MCP). Each entry: technique, distinguishing characteristic, what it means for the framework lag.",
231
231
  "schema_version": "1.1.0",
232
- "last_updated": "2026-09-24",
232
+ "last_updated": "2026-09-27",
233
233
  "tlp": "CLEAR",
234
234
  "source_confidence_default": "B2",
235
235
  "freshness_policy": {
@@ -238,7 +238,7 @@
238
238
  "rebuild_after_days": 365,
239
239
  "note": "Per-entry last_verified governs decay. Skills depending on this catalog must check entry freshness before high-stakes use."
240
240
  },
241
- "entry_count": 1752,
241
+ "entry_count": 1754,
242
242
  "sample_keys": [
243
243
  "CVE-2026-31431",
244
244
  "CVE-2025-53773",
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/data/_indexes/chains.json
3
- size: 36311254 bytes
4
- sha256: 366466a666605d85809fe074e7a86c98dce01672b3b6e494aff219df50b168a0
3
+ size: 36349248 bytes
4
+ sha256: aa2128b2d2b717ec78e2dd26148720fb46f398583a8971780939aafb00ca09ea
@@ -1213,6 +1213,8 @@
1213
1213
  "CVE-2020-5735",
1214
1214
  "CVE-2020-8816",
1215
1215
  "CVE-2020-9377",
1216
+ "CVE-2021-20016",
1217
+ "CVE-2021-20021",
1216
1218
  "CVE-2021-20035",
1217
1219
  "CVE-2021-21975",
1218
1220
  "CVE-2021-25296",
@@ -1999,6 +2001,8 @@
1999
2001
  "CVE-2020-9377",
2000
2002
  "CVE-2021-1497",
2001
2003
  "CVE-2021-1498",
2004
+ "CVE-2021-20016",
2005
+ "CVE-2021-20021",
2002
2006
  "CVE-2021-20028",
2003
2007
  "CVE-2021-20035",
2004
2008
  "CVE-2021-20038",
@@ -3199,6 +3203,7 @@
3199
3203
  "CVE-2019-5591",
3200
3204
  "CVE-2020-4427",
3201
3205
  "CVE-2020-8193",
3206
+ "CVE-2021-20016",
3202
3207
  "CVE-2021-22986",
3203
3208
  "CVE-2023-23397",
3204
3209
  "CVE-2023-43791",
@@ -6903,6 +6908,7 @@
6903
6908
  "cve_refs": [
6904
6909
  "CVE-2014-100005",
6905
6910
  "CVE-2018-19410",
6911
+ "CVE-2021-20021",
6906
6912
  "CVE-2021-22205",
6907
6913
  "CVE-2021-35587",
6908
6914
  "CVE-2022-23227",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_meta": {
3
3
  "schema_version": "1.0.0",
4
- "last_updated": "2026-09-24",
4
+ "last_updated": "2026-09-27",
5
5
  "source": "NVD + CISA KEV + vendor advisories — see sources/index.json",
6
6
  "required_fields": [
7
7
  "type",
@@ -93,6 +93,223 @@
93
93
  },
94
94
  "last_threat_review": "2026-05-30"
95
95
  },
96
+ "CVE-2021-20021": {
97
+ "name": "SonicWall Email Security Improper Privilege Management Vulnerability",
98
+ "cvss_score": 9.8,
99
+ "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
100
+ "cwe_refs": [
101
+ "CWE-269"
102
+ ],
103
+ "cisa_kev": true,
104
+ "cisa_kev_date": "2021-11-03",
105
+ "cisa_kev_due_date": "2021-11-17",
106
+ "known_ransomware_use": true,
107
+ "active_exploitation": "confirmed",
108
+ "complexity": "low",
109
+ "vector": "A vulnerability in the SonicWall Email Security version 10.0.9.x allows an attacker to create an administrative account by sending a crafted HTTP request to the remote host.",
110
+ "epss_score": 0.8867,
111
+ "epss_percentile": 0.99772,
112
+ "epss_date": "2026-09-26",
113
+ "epss_source": "https://api.first.org/data/v1/epss?cve=CVE-2021-20021",
114
+ "vendor_advisories": [
115
+ {
116
+ "vendor": "SonicWall",
117
+ "advisory_id": "SNWLID-2021-0007",
118
+ "url": "https://psirtapi.global.sonicwall.com/api/v1/vulndetail/?advisory_id=SNWLID-2021-0007",
119
+ "severity": "critical",
120
+ "published_date": "2021-04-09"
121
+ },
122
+ {
123
+ "vendor": "SonicWall",
124
+ "advisory_id": "Security Notice: SonicWall Email Security Zero-Day Vulnerabilities",
125
+ "url": "https://www.sonicwall.com/support/product-notification/security-notice-sonicwall-email-security-zero-day-vulnerabilities/kA1VN0000000Qyr0AE",
126
+ "severity": "unknown",
127
+ "published_date": "2021-04-16"
128
+ }
129
+ ],
130
+ "verification_sources": [
131
+ "https://nvd.nist.gov/vuln/detail/CVE-2021-20021",
132
+ "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
133
+ "https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2021-0007"
134
+ ],
135
+ "source_verified": "2026-09-27",
136
+ "last_updated": "2026-09-27",
137
+ "_kev_short_description": "SonicWall Email Security contains an improper privilege management vulnerability that allows an attacker to create an administrative account by sending a crafted HTTP request to the remote host. This vulnerability has known usage in a SonicWall Email Security exploit chain along with CVE-2021-20022 and CVE-2021-20023 to achieve privilege escalation.",
138
+ "type": "auth-bypass-admin-account-creation",
139
+ "blast_radius": 18,
140
+ "poc_available": false,
141
+ "poc_description": "No working exploit code is published at a nameable location. Mandiant documented the request format, an unauthenticated GET or POST to the /createou endpoint carrying an XML document that creates a role.ouadmin administrative account, but published no exploit code. The GitHub repository SUPRAAA-1337/CVE-2021-20021, the one repository the PoC-in-GitHub index lists for this CVE, holds a single template that sends GET /createou?data=123 and matches the response text 'Error in parsing request'; it probes whether the endpoint parses an unauthenticated request and does not create an account, and only its request path and response matcher were read. The only ProjectDiscovery template, http/cves/2021/CVE-2021-20021.yaml, is a passive version check that fetches /login.html and confirms an Email Security Login page at or below 10.0.9, not a working exploit. No Exploit-DB entry or Metasploit module for this flaw was found.",
142
+ "iocs": {
143
+ "behavioral": [
144
+ "Creation of a new SonicWall Email Security administrator account (a role.ouadmin account) that no operator initiated."
145
+ ],
146
+ "network": [
147
+ "An unauthenticated GET or POST to a path ending in /createou, whatever the data parameter holds: a data value carrying an XML document marks an attempt to create an account, and a non-XML value such as data=123 marks a probe of the endpoint.",
148
+ "Authentication to the Email Security administrative panel by an ouadmin account that was created without an operator action."
149
+ ],
150
+ "host": [
151
+ "A SonicWall Email Security instance running a build before 10.0.9.6103 (Windows software or Hosted Email Security) or before 10.0.9.6105 (hardware or virtual appliance), or any end-of-life 7.0.0 through 9.2.2 release.",
152
+ "On a Windows installation, an administrator entry in data\\multi_accounts.xml under the SonicWallES installation directory, or a new account file under its data\\perhost, data\\perldap or data\\perou directories, that no operator created.",
153
+ "Requests to /createou recorded in the Apache Tomcat logs under Apache Software Foundation\\Tomcat 9.0\\logs in the SonicWallES installation directory, or in the application log logs\\webUI\\webui.json in that directory."
154
+ ],
155
+ "_ioc_source_note": "The unauthenticated /createou endpoint, the XML data document and the created role.ouadmin account come from the Mandiant analysis at https://cloud.google.com/blog/topics/threat-intelligence/zero-day-exploits-in-sonicwall-email-security-lead-to-compromise/, as do the account files (multi_accounts.xml and the perhost, perldap and perou directories) and the Tomcat and webui.json log locations that Mandiant lists for review on a Windows installation. Mandiant lists these files under C:\\Program Files\\SonicWallES, while the log-clearing command it recorded on the compromised host wrote to C:/Program Files (x86)/SonicWallES/logs/webUI/webui.json, so the host paths are given relative to the SonicWallES installation directory. The /createou indicator matches both GET and POST because Mandiant records that the endpoint accepted either, and matches any data value because the GitHub template SUPRAAA-1337/CVE-2021-20021 at https://raw.githubusercontent.com/SUPRAAA-1337/CVE-2021-20021/main/CVE-2021-20021.yaml probes the endpoint with data=123; only that template's request path and response matcher were read. The version boundaries come from the NVD record and SonicWall advisory SNWLID-2021-0007 at https://psirtapi.global.sonicwall.com/api/v1/vulndetail/?advisory_id=SNWLID-2021-0007, and the end-of-life 7.0.0 through 9.2.2 releases from the SonicWall notice at https://www.sonicwall.com/support/product-notification/security-notice-sonicwall-email-security-zero-day-vulnerabilities/kA1VN0000000Qyr0AE. Mandiant also reports activity from the other two flaws in the chain, which is not listed as an indicator of this one: the Apache Tomcat process spawning cmd.exe and the emptying of webui.json both ran through the web shell planted with CVE-2021-20022, the reading of multi_accounts.xml and multi_ldap.xml went through CVE-2021-20023, Mandiant lists the exposure of hashed administrator passwords as a result of the three flaws combined, and requests to the branding feature belong to CVE-2021-20022 and CVE-2021-20023. Where webui.json has been emptied, the Tomcat logs are the remaining record of /createou requests. The passive version-detection artifacts (a GET to /login.html, the Email Security Login page and an Apache-Coyote header) come from the ProjectDiscovery template at https://raw.githubusercontent.com/projectdiscovery/nuclei-templates/main/http/cves/2021/CVE-2021-20021.yaml. No specific actor infrastructure, file hash or command-and-control address is listed: Mandiant tracked the activity as UNC2682 but did not publish actor indicators for this flaw, and while the KEV record marks known ransomware use as Known, the Mandiant report names no ransomware family for this chain."
156
+ },
157
+ "ai_discovered": false,
158
+ "ai_discovery_notes": "Mandiant identified the flaw in March 2021 after detecting web shell activity on a customer system, and SonicWall advisory SNWLID-2021-0007 credits Josh Fleischer and Chris DiGiamo of Mandiant, an outside firm. No source claims AI tooling was used.",
159
+ "ai_discovery_source": "human_researcher",
160
+ "discovery_attribution_note": "Sourced from NVD CVE-2021-20021 (CWE-269, CVSS 9.8) + CISA KEV (added 2021-11-03, ransomware: Known) + SonicWall advisory SNWLID-2021-0007 at https://psirtapi.global.sonicwall.com/api/v1/vulndetail/?advisory_id=SNWLID-2021-0007, which credits Josh Fleischer and Chris DiGiamo of Mandiant, who reported the flaw after detecting its in-the-wild use.",
161
+ "ai_assisted_weaponization": false,
162
+ "active_exploitation_notes": "CISA added CVE-2021-20021 to its Known Exploited Vulnerabilities catalog on 2021-11-03 with a 2021-11-17 due date and records known ransomware use as Known. Mandiant documented one compromise, found in March 2021 on an internet-accessible SonicWall Email Security installation running on Windows Server 2012, and tracks the activity as UNC2682. The attacker used this flaw with CVE-2021-20022 and CVE-2021-20023 to create an administrator account, plant a web shell and read files, then dumped credentials, compressed a directory of email archives and moved laterally with Impacket's WMIEXEC. SonicWall states that the flaws were exploited in at least one known case. The KEV record marks forensic triage as No, so BOD 26-04 forensic-triage handling is not required for this entry.",
163
+ "attack_refs": [
164
+ "T1190",
165
+ "T1136",
166
+ "T1078"
167
+ ],
168
+ "atlas_refs": [],
169
+ "framework_control_gaps": {
170
+ "NIST-800-53-AC-3": "AC-3 requires the system to enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies. On Email Security builds before 10.0.9.6103 (Windows software and Hosted Email Security) and 10.0.9.6105 (appliances), the /createou form that creates a role.ouadmin administrator account processed a GET or POST without prior authentication, and an organization running the product cannot place its own AC-3 enforcement inside that vendor form, so the authorizations it had approved for administrator accounts did not govern the account the request created.",
171
+ "NIS2-Art21-network-security": "NIS2 Article 21(2)(a) requires policies on risk analysis and information system security, and Article 21(2)(e) requires security in network and information systems acquisition, development and maintenance, including vulnerability handling and disclosure, without setting a timeframe. Mandiant found this flaw exploited in March 2021, before SonicWall published the hotfix on April 9, 2021, so vulnerability handling had no vendor fix to apply during that period. For entities within Implementing Regulation (EU) 2024/2690, point 6.6.1 requires additional measures where a patch is not available, and points 6.7.2(c), (d) and (f) and 6.8.2(f) and (g) require controls that prevent access not required for operation, control remote access, deactivate unneeded connections and separate the administration network and its channels; meeting them would have kept the Email Security administration interface, which Mandiant notes the product does not require to be exposed, off the internet, where scanning cited by Mandiant found about 700 publicly reachable interfaces. For entities outside that regulation, Article 21(2)(e) names no interim measure for the period between exploitation in March 2021 and the April 9, 2021 hotfix.",
172
+ "UK-CAF-B2": "CAF principle B2.a requires that access to the systems supporting an essential function is verified, authenticated and authorized for users, devices and systems, and that all remote access is individually authenticated and authorized. The /createou form ran before any authentication, so the remote request that created the role.ouadmin account was never individually authenticated. The attacker then logged in with that account, and a B2 privileged-account review finds it in multi_accounts.xml or the perou account files only after the access has happened.",
173
+ "AU-ISM-1546": "ISM-1546 requires that users are authenticated before they are granted access to a system and its resources. On Email Security builds before 10.0.9.6103 (Windows software and Hosted Email Security) and 10.0.9.6105 (appliances), the /createou form accepted a GET or POST without prior authentication and created a role.ouadmin administrator account, and the victim Mandiant investigated was running the latest 10.0.9 build available for download, so the authentication the organization had configured on the administration interface did not apply to that form until SonicWall shipped the April 9, 2021 hotfix.",
174
+ "ISO-27001-2022-A.5.15": "A.5.15 requires rules to control physical and logical access to information and other associated assets to be established and implemented based on business and information security requirements. An organization could have rules in place that limit who administers Email Security, yet on builds before 10.0.9.6103 and 10.0.9.6105 an unauthenticated request to /createou created a role.ouadmin account that the attacker then used to log in as an administrator, so the rules did not apply to an account the product created on an outside request."
175
+ },
176
+ "patch_available": true,
177
+ "patch_required_reboot": true,
178
+ "live_patch_available": false,
179
+ "live_patch_tools": [],
180
+ "live_patch_notes": "Fixed builds exist for the supported 10.0.x line: Hotfix 10.0.9.6103 for Email Security on Windows and for Hosted Email Security, and Hotfix 10.0.9.6105 for hardware and ESXi virtual appliances, close this flaw. 10.0.9.6173 (Windows and Hosted Email Security, which SonicWall patched on April 19, 2021) and 10.0.9.6177 (hardware and ESXi virtual appliance) close the exploited chain with CVE-2021-20022 and CVE-2021-20023. Email Security 7.0.0 through 9.2.2 is also affected, is end of life and unsupported, and has no fix in that line. No live-patch path is documented. SonicWall's upgrade article, which its security notice names as the guidance for applying these updates, says the appliance reboots once the update is done and that mail flow stops during the update, so about 30 minutes of downtime should be scheduled. No source states whether installing the update on the Windows software reboots the server.",
181
+ "affected": "SonicWall Email Security, on-premises (software for Windows, hardware appliances and the virtual appliance) and Hosted (HES): builds before 10.0.9.6103 (Windows software and HES) and before 10.0.9.6105 (appliances), and the end-of-life 7.0.0 through 9.2.2 releases. An unauthenticated attacker sends a crafted request to an administrative endpoint that does not verify prior authentication, creating an administrative account and gaining administrative access to the product.",
182
+ "affected_versions": [
183
+ "SonicWall Email Security software for Windows and Hosted Email Security, builds before 10.0.9.6103 (fixed in Hotfix 10.0.9.6103; Hosted Email Security was updated automatically). The exploited chain with CVE-2021-20022 and CVE-2021-20023 stays open before 10.0.9.6173.",
184
+ "SonicWall Email Security hardware appliances (models 3300, 4300, 5000, 5050, 7000, 7050, 8300 and 9000 in the NVD record) and the virtual appliance, builds before 10.0.9.6105 (fixed in Hotfix 10.0.9.6105). The exploited chain stays open before 10.0.9.6177.",
185
+ "SonicWall Email Security 7.0.0 through 9.2.2, which is end of life, is unsupported and has no fix in that line."
186
+ ],
187
+ "vendor_update_paths": [
188
+ "Upgrade on-premises SonicWall Email Security for Windows to Hotfix 10.0.9.6103, and hardware or ESXi virtual appliance installations to Hotfix 10.0.9.6105, from MySonicWall; these builds close CVE-2021-20021. To close the exploited chain with CVE-2021-20022 and CVE-2021-20023, install 10.0.9.6173 (Windows software) or 10.0.9.6177 (hardware and ESXi virtual appliance), released on April 19, 2021.",
189
+ "Hosted Email Security is updated automatically by SonicWall, to 10.0.9.6103 for this flaw and to 10.0.9.6173 on April 19, 2021 for the full chain, and no customer action is required.",
190
+ "Email Security 7.0.0 through 9.2.2 is end of life and receives no fix in that line. Organizations with an active support license can download the latest Email Security release from MySonicWall and upgrade to a build at or above 10.0.9.6173 (Windows) or 10.0.9.6177 (appliance); without one, renew the license through a SonicWall partner before upgrading, or replace the product. When upgrading from 10.0.1 through 10.0.3 or from an end-of-life release, follow SonicWall's upgrade path without skipping any intermediate firmware version, as its upgrade article cautions.",
191
+ "Because this flaw is chained with CVE-2021-20022 and CVE-2021-20023 to reach code execution, treat any exposed instance as potentially compromised: check for unexpected administrator accounts and web shells and rotate credentials before or alongside applying the hotfix."
192
+ ],
193
+ "_auto_imported": false,
194
+ "_intake_method": "batch-curated",
195
+ "rwep_factors": {
196
+ "cisa_kev": 25,
197
+ "poc_available": 0,
198
+ "ai_factor": 0,
199
+ "active_exploitation": 20,
200
+ "blast_radius": 18,
201
+ "patch_available": -15,
202
+ "live_patch_available": 0,
203
+ "reboot_required": 5
204
+ },
205
+ "rwep_score": 53,
206
+ "rwep_notes": "RWEP 53. cisa_kev +25, active_exploitation +20, blast_radius +18, patch_available -15, reboot_required +5. Σ factors === rwep_score."
207
+ },
208
+ "CVE-2021-20016": {
209
+ "name": "SonicWall SSLVPN SMA100 SQL Injection Vulnerability",
210
+ "cvss_score": 9.8,
211
+ "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
212
+ "cwe_refs": [
213
+ "CWE-89"
214
+ ],
215
+ "cisa_kev": true,
216
+ "cisa_kev_date": "2021-11-03",
217
+ "cisa_kev_due_date": "2021-11-17",
218
+ "known_ransomware_use": true,
219
+ "active_exploitation": "confirmed",
220
+ "complexity": "low",
221
+ "vector": "A SQL-Injection vulnerability in the SonicWall SSLVPN SMA100 product allows a remote unauthenticated attacker to perform SQL query to access username password and other session related information. This vulnerability impacts SMA100 build version 10.x.",
222
+ "epss_score": 0.40038,
223
+ "epss_percentile": 0.98585,
224
+ "epss_date": "2026-09-26",
225
+ "epss_source": "https://api.first.org/data/v1/epss?cve=CVE-2021-20016",
226
+ "vendor_advisories": [
227
+ {
228
+ "vendor": "SonicWall",
229
+ "advisory_id": "SNWLID-2021-0001",
230
+ "url": "https://psirtapi.global.sonicwall.com/api/v1/vulndetail/?advisory_id=SNWLID-2021-0001",
231
+ "severity": "critical",
232
+ "published_date": "2021-01-23"
233
+ }
234
+ ],
235
+ "verification_sources": [
236
+ "https://nvd.nist.gov/vuln/detail/CVE-2021-20016",
237
+ "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
238
+ "https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2021-0001"
239
+ ],
240
+ "source_verified": "2026-09-27",
241
+ "last_updated": "2026-09-27",
242
+ "_kev_short_description": "SonicWall SSLVPN SMA100 contains a SQL injection vulnerability that allows remote exploitation for credential access by an unauthenticated attacker.",
243
+ "type": "sql-injection-credential-access",
244
+ "blast_radius": 18,
245
+ "poc_available": false,
246
+ "poc_description": "No hosted working exploit was found for CVE-2021-20016: there is no Metasploit module, no ProjectDiscovery nuclei template and no Exploit-DB entry, and a GitHub search returned no exploit repository. Mandiant and SonicWall describe the flaw as an unauthenticated SQL injection returning credentials but publish no runnable proof of concept.",
247
+ "iocs": {
248
+ "behavioral": [
249
+ "Use of SMA 100 account credentials or session tokens from a source that did not perform the interactive login, consistent with credential theft through the SQL injection",
250
+ "Successful web-interface logins to an SMA 100 appliance following the disclosure window using credentials that were valid before password resets were performed"
251
+ ],
252
+ "network": [
253
+ "Unauthenticated HTTP requests to the SMA 100 series web interface that carry SQL-injection syntax and return username, password or session information, against SMA 200, SMA 210, SMA 400, SMA 410 or the SMA 500v virtual appliance on 10.x firmware",
254
+ "Access to the SMA 100 management or Virtual Office interface from untrusted internet sources on an appliance still running 10.x below 10.2.0.5-29sv",
255
+ "Requests from external sources to /cgi-bin/management whose Referer does not contain /__api__/v1/logon, or to /cgi-bin/sslvpnclient or /cgi-bin/portal whose Referer contains neither /__api__/v1/logon nor /cgi-bin/userLogin, as matched by Emerging Threats Open rules 2033345, 2033346 and 2033347 for CVE-2021-20016. These rules match use of a session that did not come through the login pages, as when a session read through the injection is reused, and do not match the injection request itself"
256
+ ],
257
+ "host": [
258
+ "SMA 100 series appliance (SMA 200, SMA 210, SMA 400, SMA 410 or SMA 500v) running 10.x firmware below 10.2.0.5-29sv"
259
+ ],
260
+ "_ioc_source_note": "The affected product lines, the firmware boundary, the built-in WAF and MFA guidance and the credential-exposure impact were read from SonicWall's product notification (archived at http://web.archive.org/web/20210219205404/https://www.sonicwall.com/support/product-notification/additional-sma-100-series-10-x-and-9-x-firmware-updates-required-updated-feb-19-2-p-m-cst/210122173415410/), and the pre-patch, in-the-wild exploitation and its attribution to UNC2447 from Mandiant's report at https://cloud.google.com/blog/topics/threat-intelligence/unc2447-sombrat-and-fivehands-ransomware-sophisticated-financial-threat. The /cgi-bin/management, /cgi-bin/sslvpnclient and /cgi-bin/portal Referer conditions were read from Emerging Threats Open rules 2033345, 2033346 and 2033347 at https://rules.emergingthreats.net/open/suricata-5.0/rules/emerging-exploit.rules, which ET labels as potential SMA authentication bypass for CVE-2021-20016; they detect reuse of a session outside the login flow after the injection, not the injection request. Every other behavioral and network item is a general hunting heuristic drawn from the flaw's described effect (credential and session theft through an unauthenticated SQL injection), not an artifact read from a source. SonicWall wrote that it was 'not aware of any forensic data that can be viewed by the user to determine whether a device has been attacked', so the host indicator is the firmware level rather than a vendor-supplied artifact. No file hash or C2 address specific to CVE-2021-20016 is listed, because neither SonicWall's notice nor Mandiant's report ties one to this flaw; the FIVEHANDS and SOMBRAT indicators in Mandiant's report cover later intrusion stages, not this flaw."
261
+ },
262
+ "ai_discovered": false,
263
+ "ai_discovery_notes": "Reported to SonicWall by the NCC Group on January 31 and February 2, 2021, tracked under SonicWall PSIRT advisory SNWLID-2021-0001. No AI tooling is claimed by any source.",
264
+ "ai_discovery_source": "human_researcher",
265
+ "discovery_attribution_note": "Sourced from NVD CVE-2021-20016 (CWE-89, CVSS 9.8) + CISA KEV (added 2021-11-03, ransomware: Known) + SonicWall advisory SNWLID-2021-0001, with pre-patch exploitation attributed to UNC2447 (FIVEHANDS) in Mandiant's April 29, 2021 report and the fixed firmware taken from SonicWall's product notification.",
266
+ "ai_assisted_weaponization": false,
267
+ "active_exploitation_notes": "CISA added CVE-2021-20016 to KEV on 2021-11-03 with a 2021-11-17 due date and records known ransomware use. Mandiant observed UNC2447 exploiting this SMA 100 SQL injection prior to a patch being available and forensically linked the group to FIVEHANDS ransomware; Mandiant has observed evidence of UNC2447 affiliated actors previously using RAGNARLOCKER, suspects that HELLOKITTY may have been used by an overall affiliate program, and has observed the group targeting organizations in Europe and North America. SonicWall's January 22, 2021 notice reported a coordinated attack on its internal systems by threat actors exploiting probable zero-day vulnerabilities on certain of its secure remote access products, and named SMA 100 series 10.x and the NetExtender 10.x client as the impacted products; its January 23 update ruled out NetExtender. SonicWall published SNWLID-2021-0001 on January 23 and on February 1 updated it to a confirmed zero-day in SMA 100 build version 10.x, the flaw tracked as CVE-2021-20016, but it did not state explicitly that this flaw was the one used against its internal systems. The KEV record's forensicTriage flag is No.",
268
+ "attack_refs": [
269
+ "T1190",
270
+ "T1212",
271
+ "T1078"
272
+ ],
273
+ "atlas_refs": [],
274
+ "framework_control_gaps": {
275
+ "NIST-800-53-SI-2": "SI-2 requires flaws to be identified, reported and corrected, and security-relevant updates installed within an organization-defined time period of their release. SonicWall released 10.2.0.5-29sv on February 3, 2021, three days after the NCC Group's January 31 report, but it had been publishing interim measures for SMA 100 series 10.x before then (access restrictions and MFA from January 22, password resets from February 1 and the built-in WAF on February 2), and UNC2447 exploited the flaw before the update existed. SI-2 measures its period from an update's release and does not cover applying a vendor's interim measures before one exists.",
276
+ "NIS2-Art21-patch-management": "NIS2 Article 21(2)(e) requires vulnerability handling and sets no timeframe. For entities within Implementing Regulation (EU) 2024/2690, Annex point 6.6.1 requires security patches to be applied within a reasonable time after they become available and, where a patch is not available, additional measures with the residual risk accepted. SonicWall's fix for CVE-2021-20016, 10.2.0.5-29sv, shipped on February 3, 2021, the day after it published the built-in WAF as a mitigation, so the additional-measures clause governed the period from its January 22 notice to February 3. Annex point 6.6.1 does not name the measures, and SonicWall's own guidance in that period ranged from access restrictions and MFA to the WAF and shutting the appliance down.",
277
+ "UK-CAF-B4": "CAF principle B4.d asks that externally exposed vulnerabilities are mitigated promptly, for example by patching, and that temporary mitigations are in place for unsupported systems and software. The SMA 100 is the remote-access entry point itself, and this unauthenticated SQL injection returns usernames, passwords and session data, so the outcome can be met by a mitigation that leaves stolen material usable. The built-in WAF and the 10.2.0.5-29sv firmware stop further reads and MFA limits reuse of stolen passwords, but none of them changes passwords read before it was applied, and B4.d does not name the password reset SonicWall directs after patching.",
278
+ "AU-Essential-8-Patch": "The Essential Eight requires, at every maturity level, that patches, updates or other vendor mitigations for the operating systems of internet-facing network devices are applied within 48 hours of release when the vendor rates the flaw critical or a working exploit exists (ISM-1877), and within two weeks when the vendor rates it non-critical and no working exploit exists (ISM-1694); the SMA 100 series is an internet-facing network device, and SonicWall rated this flaw a critical zero-day. The window opened with SonicWall's first mitigations for SMA 100 series 10.x on January 22 and 23, 2021: allow SSL-VPN connections only from known IP addresses, or disable Virtual Office and HTTPS administrative access from the internet, and enable MFA on all SMA accounts. The access restrictions reduced who could send the request and MFA limits reuse of stolen passwords, but neither removed the SQL injection, which the built-in WAF (February 2) was observed to neutralize and 10.2.0.5-29sv (February 3) fixed. Applying those steps within 48 hours does not change credentials already read. The password reset SonicWall lists among its mitigations does, and the window covers it as a vendor mitigation, but no ISM patch control requires an assessment of whether the appliance was exploited before the mitigations were applied, and SonicWall stated that it was not aware of any forensic data a user could view to determine whether a device had been attacked.",
279
+ "ISO-27001-2022-A.8.8": "A.8.8 requires that information about technical vulnerabilities of systems in use is obtained, the organization's exposure is evaluated and appropriate measures are taken, and it sets no time by which the measures must be in place. For CVE-2021-20016 SonicWall's measures arrived over the 12 days from its January 22, 2021 notice to the 10.2.0.5-29sv firmware on February 3, and A.8.8 does not say how quickly an organization must apply each one to an internet-facing remote-access appliance that UNC2447 was exploiting before the fix."
280
+ },
281
+ "patch_available": true,
282
+ "patch_required_reboot": true,
283
+ "live_patch_available": false,
284
+ "live_patch_tools": [],
285
+ "live_patch_notes": "Remediation is a firmware upgrade on the SMA 100 series 10.x line to 10.2.0.6-32sv, which SonicWall released on February 19, 2021 with the CVE-2021-20016 fix first shipped in 10.2.0.5-29sv (February 3, 2021) plus code-hardening fixes; SonicWall directs devices already on 10.2.0.5-29sv to upgrade to 10.2.0.6-32sv as well. SonicWall published a built-in Web Application Firewall configuration as an interim mitigation but stated it does not replace the firmware. No reload-free path for the fix is documented: SonicWall's SMA 100 firmware upgrade article has the administrator upload the firmware and click Boot, and the device then reboots.",
286
+ "affected": "SonicWall Secure Mobile Access SMA 100 series remote-access appliances (SMA 200, SMA 210, SMA 400, SMA 410 and the SMA 500v virtual appliance) running 10.x firmware before 10.2.0.5-29sv. An unauthenticated attacker who can send requests to the SSL VPN web interface reads usernames, passwords and session information through SQL injection, which enables login to the appliance. SMA 100 firmware prior to 10.x is not affected.",
287
+ "affected_versions": [
288
+ "SMA 100 series firmware from 10.0.0.0 up to builds before 10.2.0.5-d-29sv are affected (NVD boundary)",
289
+ "First fixed on the 10.x line in 10.2.0.5-29sv (February 3, 2021); SonicWall's February 19, 2021 release 10.2.0.6-32sv includes that fix plus code-hardening fixes, and SonicWall directs 10.x devices, including those already on 10.2.0.5-29sv, to upgrade to 10.2.0.6-32sv",
290
+ "SMA 100 firmware prior to 10.x is not affected"
291
+ ],
292
+ "vendor_update_paths": [
293
+ "Upgrade SMA 100 series 10.x appliances to 10.2.0.6-32sv, SonicWall's February 19, 2021 release, which includes the CVE-2021-20016 fix first shipped in 10.2.0.5-29sv plus code-hardening fixes; SonicWall directs devices already on 10.2.0.5-29sv to upgrade to 10.2.0.6-32sv as well, and the firmware is available regardless of support-contract status. After upgrading, reset the passwords of any users who may have logged in to the device through the web interface and enable multifactor authentication; SonicWall states the reset after 10.2.0.6-32sv applies only if the device did not deploy 10.2.0.5-29sv.",
294
+ "SonicWall's February 19, 2021 notice also directs SMA 100 series 9.x customers to 9.0.0.10-28sv, a separate code-hardening release; 9.x firmware is not affected by CVE-2021-20016.",
295
+ "Where the firmware cannot be installed immediately, enable the built-in Web Application Firewall on 10.x devices and enable multifactor authentication as interim mitigations; SonicWall states the WAF does not replace the need to apply the patch.",
296
+ "If no fix or mitigation can be applied, block the SMA 100 at the firewall or shut it down until it is patched."
297
+ ],
298
+ "_auto_imported": false,
299
+ "_intake_method": "batch-curated",
300
+ "rwep_factors": {
301
+ "cisa_kev": 25,
302
+ "poc_available": 0,
303
+ "ai_factor": 0,
304
+ "active_exploitation": 20,
305
+ "blast_radius": 18,
306
+ "patch_available": -15,
307
+ "live_patch_available": 0,
308
+ "reboot_required": 5
309
+ },
310
+ "rwep_score": 53,
311
+ "rwep_notes": "RWEP 53. cisa_kev +25, active_exploitation +20, blast_radius +18, patch_available -15, reboot_required +5. Σ factors === rwep_score."
312
+ },
96
313
  "CVE-2026-93952": {
97
314
  "name": "Arista VeloCloud Orchestrator Improper Input Validation Vulnerability",
98
315
  "cvss_score": 9.5,
@@ -662,6 +662,7 @@
662
662
  "CVE-2020-17463",
663
663
  "CVE-2020-29574",
664
664
  "CVE-2020-5722",
665
+ "CVE-2021-20016",
665
666
  "CVE-2021-20028",
666
667
  "CVE-2021-27101",
667
668
  "CVE-2021-42258",
@@ -1095,6 +1096,7 @@
1095
1096
  "CVE-2019-3010",
1096
1097
  "CVE-2020-1938",
1097
1098
  "CVE-2020-8655",
1099
+ "CVE-2021-20021",
1098
1100
  "CVE-2021-23874",
1099
1101
  "CVE-2021-25337",
1100
1102
  "CVE-2021-31199",
@@ -1226,6 +1226,7 @@
1226
1226
  "CVE-2021-1870",
1227
1227
  "CVE-2021-1871",
1228
1228
  "CVE-2021-1879",
1229
+ "CVE-2021-20016",
1229
1230
  "CVE-2021-20028",
1230
1231
  "CVE-2021-20035",
1231
1232
  "CVE-2021-20038",
@@ -3882,6 +3883,7 @@
3882
3883
  "CVE-2021-1870",
3883
3884
  "CVE-2021-1871",
3884
3885
  "CVE-2021-1879",
3886
+ "CVE-2021-20016",
3885
3887
  "CVE-2021-20028",
3886
3888
  "CVE-2021-20035",
3887
3889
  "CVE-2021-20090",
@@ -5263,6 +5265,7 @@
5263
5265
  "CVE-2021-1789",
5264
5266
  "CVE-2021-1871",
5265
5267
  "CVE-2021-1879",
5268
+ "CVE-2021-20016",
5266
5269
  "CVE-2021-20028",
5267
5270
  "CVE-2021-21148",
5268
5271
  "CVE-2021-21193",
@@ -7272,6 +7275,7 @@
7272
7275
  "CVE-2021-1870",
7273
7276
  "CVE-2021-1871",
7274
7277
  "CVE-2021-1879",
7278
+ "CVE-2021-20016",
7275
7279
  "CVE-2021-20028",
7276
7280
  "CVE-2021-20035",
7277
7281
  "CVE-2021-20090",
@@ -9371,6 +9375,7 @@
9371
9375
  "CVE-2020-8816",
9372
9376
  "CVE-2020-9934",
9373
9377
  "CVE-2021-1871",
9378
+ "CVE-2021-20021",
9374
9379
  "CVE-2021-20124",
9375
9380
  "CVE-2021-22506",
9376
9381
  "CVE-2021-22681",
@@ -11481,6 +11486,7 @@
11481
11486
  "CVE-2020-8193",
11482
11487
  "CVE-2020-8644",
11483
11488
  "CVE-2020-9934",
11489
+ "CVE-2021-20021",
11484
11490
  "CVE-2021-20090",
11485
11491
  "CVE-2021-25337",
11486
11492
  "CVE-2021-26085",
@@ -12792,6 +12798,7 @@
12792
12798
  "CVE-2021-1789",
12793
12799
  "CVE-2021-1870",
12794
12800
  "CVE-2021-1879",
12801
+ "CVE-2021-20016",
12795
12802
  "CVE-2021-20028",
12796
12803
  "CVE-2021-20035",
12797
12804
  "CVE-2021-20090",
@@ -13685,6 +13692,7 @@
13685
13692
  "CVE-2020-2021",
13686
13693
  "CVE-2020-2555",
13687
13694
  "CVE-2020-8644",
13695
+ "CVE-2021-20021",
13688
13696
  "CVE-2021-33044",
13689
13697
  "CVE-2021-33045",
13690
13698
  "CVE-2021-34473",
@@ -14019,6 +14027,7 @@
14019
14027
  "CVE-2020-14882",
14020
14028
  "CVE-2020-2506",
14021
14029
  "CVE-2020-8644",
14030
+ "CVE-2021-20021",
14022
14031
  "CVE-2021-22506",
14023
14032
  "CVE-2021-25337",
14024
14033
  "CVE-2021-27876",
@@ -14448,6 +14457,7 @@
14448
14457
  "CVE-2020-8193",
14449
14458
  "CVE-2020-8195",
14450
14459
  "CVE-2020-8196",
14460
+ "CVE-2021-20021",
14451
14461
  "CVE-2021-20035",
14452
14462
  "CVE-2021-20123",
14453
14463
  "CVE-2021-20124",