CVE-2021-20035: SonicWall SMA100 Appliances OS Command Injection Vulnerability
SonicWall · SMA100 Appliances · NVD published 2021-09-27 · posted 2025-04-16 · last modified 2026-06-17
What it is
Improper neutralization of special elements in the SMA100 management interface allows a remote authenticated attacker to inject arbitrary commands as a 'nobody' user which potentially leads to DoS.
| Weakness | CWE-78 |
|---|---|
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H (source: [email protected]) |
| CISA due date | 2025-05-07 (for US federal agencies under BOD; a good deadline for everyone) |
| ATT&CK tactics | Initial Access → Persistence → Privilege Escalation → Stealth → Execution |
Exploitation evidence
First exploit evidence seen: 2025-04-16 (earliest date across the sources below).
Exploited in the wild
- CISA KEV: listed since 2025-04-16. Source
Sources: CISA KEV.
Defend the Chain
The attack chain for CVE-2021-20035 laid across the MITRE ATT&CK Enterprise tactics. Solid cards come from the MITRE CTID KEV mappings; dashed cards are inferred by CVERadar from the CWE or description. Correct defences are real ATT&CK mitigations for that technique.
Pick a red technique card on the board, then choose the defence that stops it.
Defend against T1078 Valid Accounts CTID: exploitation technique
While this vulnerability was originally considered a denial-of-service issue in 2021, this improper neutralization issue has been exploited in 2025 as a remote code execution vulnerability. After authenticating (either with default credentials or via brute force, password stuffing, or dictionary attacks), an attacker can execute arbitrary commands as a "nobody" user.
How to fix it
CISA required action
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable. (source: CISA KEV)
Fixed versions
- sonicwall sma 200 firmware: upgrade to 9.0.0.11-31sv or later
- sonicwall sma 200 firmware: upgrade to 10.2.0.8-37sv or later (affected from 10.2.0.0)
- sonicwall sma 200 firmware: upgrade to 10.2.1.1-19sv or later (affected from 10.2.1.0)
- sonicwall sma 210 firmware: upgrade to 9.0.0.11-31sv or later
- sonicwall sma 210 firmware: upgrade to 10.2.0.8-37sv or later (affected from 10.2.0.0)
- sonicwall sma 210 firmware: upgrade to 10.2.1.1-19sv or later (affected from 10.2.1.0)
- sonicwall sma 400 firmware: upgrade to 9.0.0.11-31sv or later
- sonicwall sma 400 firmware: upgrade to 10.2.0.8-37sv or later (affected from 10.2.0.0)
- sonicwall sma 400 firmware: upgrade to 10.2.1.1-19sv or later (affected from 10.2.1.0)
- sonicwall sma 410 firmware: upgrade to 9.0.0.11-31sv or later
- sonicwall sma 410 firmware: upgrade to 10.2.0.8-37sv or later (affected from 10.2.0.0)
- sonicwall sma 410 firmware: upgrade to 10.2.1.1-19sv or later (affected from 10.2.1.0)
- sonicwall sma 500v: upgrade to 9.0.0.11-31sv or later
- sonicwall sma 500v: upgrade to 10.2.0.8-37sv or later (affected from 10.2.0.0)
- sonicwall sma 500v: upgrade to 10.2.1.1-19sv or later (affected from 10.2.1.0)
Derived from the NVD CPE configuration (versionEndExcluding / versionEndIncluding). Always confirm with the vendor advisory.
Vendor advisories and patches
- https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2021-0022 (CISA KEV notes)
MITRE ATT&CK mitigations for this chain
- M1027 Password Policies (for T1078) : Applications and appliances that utilize default username and password should be changed immediately after the installation, and before deployment to a production environment. When possible, applications that use SSH keys should be updated periodically and properly secured. Policies should minimize (if not eliminate)
- M1018 User Account Management (for T1078) : Regularly audit user accounts for activity and deactivate or remove any that are no longer needed.
- M1026 Privileged Account Management (for T1078, T1059) : Audit domain and local accounts as well as their permission levels routinely to look for situations that could allow an adversary to gain wide access by obtaining credentials of a privileged account. These audits should also include if default accounts have been enabled, or if new local accounts are created that have
- M1032 Multi-factor Authentication (for T1078) : Implement multi-factor authentication (MFA) across all account types, including default, local, domain, and cloud accounts, to prevent unauthorized access, even if credentials are compromised. MFA provides a critical layer of security by requiring multiple forms of verification beyond just a password. This measure sign
- M1013 Application Developer Guidance (for T1078) : Ensure that applications do not store sensitive data or credentials insecurely. (e.g. plaintext credentials in code, published credentials in repositories, or credentials in public cloud storage).
- M1017 User Training (for T1078) : Applications may send push notifications to verify a login as a form of multi-factor authentication (MFA). Train users to only accept valid push notifications and to report suspicious push notifications.
- M1015 Active Directory Configuration (for T1078) : Disable legacy authentication, which does not support MFA, and require the use of modern authentication protocols instead.
- M1036 Account Use Policies (for T1078) : Use conditional access policies to block logins from non-compliant devices or from outside defined organization IP ranges.
- M1033 Limit Software Installation (for T1059) : Prevent user installation of unrequired command and scripting interpreters.
- M1045 Code Signing (for T1059) : Where possible, only permit execution of signed scripts.
Detection Generic guidance
- Initial Access: Alert on unusual requests to the affected service (odd paths, oversized payloads, exploit strings) in WAF, reverse-proxy and application logs.
- Persistence: Look for new files in web roots, new scheduled tasks/services, and new accounts created after the exposure window.
- Privilege Escalation: Alert on processes gaining SYSTEM/root unexpectedly, and on exploitation crashes of privileged services.
- Execution: Watch for the service process spawning shells or script interpreters (cmd.exe, powershell, sh, bash, python) via EDR process-tree rules.
Response checklist Generic guidance
- Inventory: find every instance of the affected product and version (include internet-facing and forgotten ones).
- Patch or mitigate per the vendor advisory; if you cannot patch, remove internet exposure or apply the vendor workaround.
- Assume compromise if the system was exposed before patching: hunt for the indicators in the advisory and review logs back to the disclosure date.
- Rotate credentials and secrets stored on or used by the affected system if compromise cannot be ruled out.