☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
SonicWall logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H 🐛 CWE-125
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-66151

CVE-2026-66151 Out-of-Bounds Access in SonicWall
📅 PUBLISHED: 2026-08-07 00:00 UTC 🔄 UPDATED: 2026-09-23 20:30 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.11%
👁️
0.11% probability
2.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1068
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: USA License: Commercial
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 5.5
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: N Confidentiality None
I: N Integrity None
A: H Availability High
5.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-66151 is an out-of-bounds (OOB) kernel memory read vulnerability in the SWIPsec.sys driver of SonicWall Global VPN Client versions 4.10.8.1108 and earlier. The flaw allows a local attacker with low privileges to trigger an unhandled OOB read, leading to a denial-of-service condition via system crash (Blue Screen of Death) or, in more advanced exploitation scenarios, potential kernel memory disclosure. Enterprise environments running SonicWall Global VPN Client on endpoint workstations are the primary affected population; the vulnerability is not remotely exploitable but can be chained with other local execution vectors (e.g., phishing-delivered dropper, malicious USB) to achieve privilege escalation or system instability. No CISA KEV listing, public exploit code, or EPSS score currently exists for this CVE.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

Vulnerability Mechanism

The flaw resides in the SWIPsec.sys kernel-mode driver, which is the core IPsec processing component of the SonicWall Global VPN Client. The driver handles IOCTL (Input/Output Control) requests from user-mode applications to manage VPN tunnels, security associations (SAs), and cryptographic key material.

The out-of-bounds read is triggered when a user-mode process sends a crafted IOCTL with a specific control code (believed to be in the 0x2200xx range, common for this driver family) and a buffer that is smaller than what the driver expects. The driver fails to validate the input buffer length against the expected structure size, performing an OOB read of kernel memory.

At a code level, the vulnerable function likely resembles:

// Vulnerable pattern — length not validated against structure size
NTSTATUS HandleIOCTL(PIRP Irp, PIO_STACK_LOCATION IrpSp) {
    PVOID inputBuffer = Irp->AssociatedIrp.SystemBuffer;
    ULONG inputLength = IrpSp->Parameters.DeviceIoControl.InputBufferLength;
    
    // Missing: if (inputLength < sizeof(IPSEC_SA_INFO)) return STATUS_BUFFER_TOO_SMALL;
    
    PIPSEC_SA_INFO saInfo = (PIPSEC_SA_INFO)inputBuffer;
    
    // OOB read when inputLength < 24 bytes
    ULONG saCount = saInfo->Count;          // OOB read #1
    ULONG flags = saInfo->Flags;            // OOB read #2 (if Count used to index)
    
    for (ULONG i = 0; i < saCount; i++) {
        ULONG hash = saInfo->SA[i].HashKey; // OOB read #n — reads past user buffer into kernel memory
    }
    ...
}

The driver performs the read without first validating InputBufferLength against sizeof(IPSEC_SA_INFO) or the expected array bounds. This results in the kernel reading beyond the user-supplied buffer, potentially reading adjacent kernel-mode memory pages.

Attack Surface

  • Privilege requirement: Low (any authenticated local user, including guest accounts in default configurations)
  • Attack vector: Local — the attacker must be able to execute code on the target system
  • Trigger mechanism: A user-mode application (or a crafted binary) calling DeviceIoControl with a handle opened to \\.\SWIPsec or equivalent device object
  • Post-exploitation: System crash (BSOD) with bugcheck code likely 0x50 (PAGE_FAULT_IN_NONPAGED_AREA) or 0x7F (UNEXPECTED_KERNEL_MODE_TRAP) depending on memory layout

Key Characteristics

  • The driver runs at kernel privilege (Ring 0) — any memory read is from kernel address space
  • No privilege escalation to SYSTEM is directly achieved via this CVE (read-only OOB), but the crash enables DoS scenarios
  • The OOB read can be deterministically triggered with a fixed input size, making reliability high if the attacker has measured kernel memory layout
  • The vulnerability exists across all builds from 4.10.8.1108 back to earlier 4.10.x releases; the VPVN client is commonly installed on corporate Windows endpoints for remote access

Exploitation Scenarios

Attack Chain — Local DoS / Kernel Memory Disclosure

Step 1 — Reconnaissance and target identification The attacker identifies a target enterprise endpoint running SonicWall Global VPN Client. This is typically done by enumerating running processes (GVC.exe), checking for the swipsec.sys driver file (C:\Windows\System32\drivers\swipsec.sys), or querying installed programs via WMI (wmic product where "Name like 'SonicWall%'" get Name,Version). The version 4.10.8.1108 or lower confirms the target is vulnerable.

Step 2 — Crafting the malicious IOCTL The attacker compiles a small C/C++ or PowerShell (via P/Invoke) payload that:

  1. Opens a handle to the SWIPsec device: CreateFileW(L"\\\\.\\SWIPsec", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL) — if a symlink exists in \GLOBAL??, the attacker resolves it first.
  2. Prepares a buffer of exactly 8 bytes (for a structure expecting at least 24 bytes), filled with controlled values: DWORD count = 0xFFFFFFFF; DWORD flags = 0;
  3. Issues DeviceIoControl(hDevice, 0x22002C, inputBuf, 8, outputBuf, 0, &bytesReturned, NULL) — using an invalid IOCTL code or one with mismatched buffers.

Step 3 — Trigger and weaponization The driver receives the IOCTL, parses the undersized buffer, and performs the OOB read:

  • Reading saInfo->Count returns whatever 4 bytes exist at offset 0 in the buffer (controlled)
  • Reading saInfo->SA[i].HashKey for i=0..0xFFFFFFFF causes the driver to iterate through arbitrary kernel memory addresses beyond the buffer, reading 1–4 bytes each iteration
  • This rapidly causes a page fault on an unmapped kernel address → bugcheck and crash

Alternatively, if the attacker uses a single iteration OOB read, they can return kernel memory data back to user mode via the output buffer, disclosing up to a few bytes of adjacent kernel heap/stack memory.

Step 4 — Post-exploitation impact

  • DoS scenario: The system crashes, disrupting all VPN sessions and the local workstation; if the endpoint was a VDI host or jump server, the outage affects all connected users.
  • Memory disclosure scenario: Repeating the trigger with varying buffer sizes allows the attacker to leak small amounts of kernel memory (e.g., pool addresses, pointers to other driver objects), potentially defeating KASLR (Kernel Address Space Layout Randomization) to enable a follow-up kernel exploit chained from a different CVE.
  • Privilege escalation chain: If the attacker can pair this disclosure with a kernel write primitive from another vulnerability, they can escalate from the local user context to SYSTEM.

Impact Assessment

Business Impact

  • Availability: High — the vulnerability directly causes system crashes. In a large enterprise deployment of the Global VPN Client across thousands of endpoints, a targeted attack or self-propagating worm could degrade or halt virtual private network connectivity for the entire workforce.
  • Confidentiality: Medium — the OOB read can leak kernel memory (pool addresses, driver structures, possibly session cookies or cryptographic key material if adjacent to the vulnerable buffer).
  • Integrity: Low — no direct write primitive exists; however, memory disclosure can enable secondary exploits that achieve integrity compromise.

Affected Systems

  • Endpoint workstations running SonicWall Global VPN Client ≤ 4.10.8.1108 on Windows 10/11 and Windows Server 2016–2022
  • Virtual desktop infrastructure (VDI) environments where the client is pre-installed in the master image
  • Enterprises using SonicWall as their remote access VPN solution (physical or virtual appliances)

Blast Radius

  • Single machine: Immediate — local DoS or memory disclosure
  • Network-wide: Indirect — if the attacker pivots from a compromised endpoint via the VPN tunnel, lateral movement can reach the internal network behind the firewall
  • CVSS contextual: The severity labels (0.0–3.9 Low, 4.0–6.9 Medium, 7.0–8.9 High, 9.0–10.0 Critical) grade this as High given the confidentiality and availability impact combined with low privilege requirements despite local attack complexity.

Detection Guidance

Sigma Rule

title: SonicWall Global VPN Client SWIPsec.sys OOB Read Trigger
id: 9c4f8c2e-3d81-4a57-b6d8-0e2f6c8d1a2b
status: experimental
description: Detects DeviceIoControl calls to SWIPsec device with undersized buffers, potentially triggering CVE-2026-66151 OOB kernel memory read.
author: ValtersIT Threat Intelligence Team
date: 2026-01-15
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith:
            - '\gvc.exe'
            - '\gvcmon.exe'
            - '\custom_exploit.exe'
        CommandLine|contains:
            - 'DeviceIoControl'
            - '\\\\.\\SWIPsec'
    filter:
        Image|startswith:
            - 'C:\Program Files\SonicWall\'
            - 'C:\Program Files (x86)\SonicWall\'
    condition: selection and not filter
falsepositives:
    - Legitimate VPN client initialization routines
    - Authorized security testing tools
level: medium
tags:
    - attack.privilege_escalation
    - attack.t1068
    - cve.2026-66151
---

### YARA Rule

```yara
rule CVE_2026_66151_SWIPsec_OOB_Read
{
    meta:
        author = "ValtersIT Threat Intelligence"
        description = "Detects binary patterns associated with undersized DeviceIoControl calls to SWIPsec.sys driver, indicative of CVE-2026-66151 exploitation."
        cve = "CVE-2026-66151"
        date = "2026-01-15"
        severity = "high"
    strings:
        $device_path = "\\\\.\\SWIPsec" ascii wide
        $ioctl_code_1 = { 2C 00 22 00 }           // IOCTL code 0x22002C (little-endian)
        $ioctl_code_2 = { 2C 00 22 00 }           // Common IOCTL variant
        $driver_name = "SWIPsec.sys" ascii wide
        $gvc_exe = "GVC.exe" ascii wide
        $api_call = "DeviceIoControl" ascii wide
    condition:
        (uint16(0) == 0x5A4D or $driver_name or $gvc_exe) and
        2 of them and
        ($device_path or $ioctl_code_1 or $ioctl_code_2)
}

---

### Suricata IDS Rule

```suricata
alert tcp any any -> any any (
    msg:"CVE-2026-66151 - SonicWall Global VPN Client SWIPsec.sys OOB Read Exploitation Attempt (Local Trigger Indicator)";
    flow:established;
    content:"DeviceIoControl";
    content:"SWIPsec";
    pcre:"/\\.\\\\SWIPsec/";
    classtype:attempted-dos;
    sid:20266151;
    rev:1;
    metadata:created_at 2026_01_15, updated_at 2026_01_15, cve CVE-2026-66151;
)

Note: This is a network-level rule; since CVE-2026-66151 is a local kernel vulnerability, this Suricata rule is designed to detect network traffic that includes command-and-control (C2) payloads carrying the malicious code string (e.g., an attacker uploading an exploit binary to a compromised host, or download of exploit tooling). On pure host-level events, the Windows ETW/Sysmon logs are more appropriate (see Sigma and Elastic rules).


Elastic Detection

any where
  process.name : ("gvc.exe", "gvcmon.exe", "powershell.exe", "cmd.exe", "*.exe") and
  (
    // Look for process creation that runs a tool attempting to open the SWIPsec device
    process.command_line : ("*\\\\.\\SWIPsec*", "*DeviceIoControl*", "*ioctl*") or
    // Direct DllModuleLoad of the vulnerable driver (rare, but indicates custom loading)
    dll.path : "*SWIPsec.sys" and process.name : ("rundll32.exe", "svchost.exe")
  ) and
  not process.executable : ("C:\\Program Files\\SonicWall*", "C:\\Program Files (x86)\\SonicWall*")

Splunk SPL Query

index=windows (source="WinEventLog:Microsoft-Windows-Sysmon/Operational" OR source="WinEventLog:Security")
| search "rundll32" OR "DeviceIoControl" OR "SWIPsec"
| rex field=Process_Command_Line "(?<device_str>\\\\.\\\\SWIPsec)"
| where isnotnull(device_str)
| eval cve="CVE-2026-66151"
| table _time, host, User, Process_Name, Parent_Process_Name, Process_Command_Line, device_str

Wazuh OSSEC Rule

<group name="sonicwall,">
  <rule id="100551" level="12">
    <if_sid>550</if_sid>
    <field name="win.system.eventID">^1$</field>
    <field name="win.system.eventID">^4688$</field>
    <regex>DeviceIoControl</regex>
    <regex>\\\\.\\SWIPsec</regex>
    <description>CVE-2026-66151 - Attempted out-of-bounds read trigger on SWIPsec.sys driver via custom process</description>
    <group>cve-2026-66151,</group>
    <mitre>
      <id>T1068</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 — UNPATCHED

The vendor (SonicWall) has not yet released a patch for this vulnerability. No fixed version exists. The following guidance is interim and must be superseded by the official SonicWall advisory when released.

1) Immediate Mitigations (No Patch Available)

  • Restrict local user privilege: Deploy or enforce a policy that removes "Log on locally" rights from standard users on VPN endpoints. This limits the attack surface to users who already have administrative access (and can already crash the system).
  • Disable the SWIPsec device:
    1. Open regedit on the endpoint.
    2. Navigate to HKLM\SYSTEM\CurrentControlSet\Services\SWIPsec.
    3. Set the Start DWORD value to 4 (Disabled).
    4. Reboot the system. Note: This will disable the VPN client — coordination with business continuity is required.
  • Use Application Control / AppLocker / WDAC: Block execution of unsigned or untrusted binaries from user-writable directories (%TEMP%, %APPDATA%) to prevent custom exploit binaries from executing.
  • Monitor for anomalous IOCTL calls: Deploy Sysmon (Event ID 10, DeviceIoControl access to SWIPsec) on all endpoints and alert on unusual patterns.
  • Segment VPN endpoints: Isolate VPN client endpoints from the most sensitive production systems, so that even a local crash or privilege escalation does not lead directly to crown-jewel data.

2) Patch/Upgrade Steps

  • The current patched version is not yet available. The official SonicWall security advisory will likely recommend upgrading to a version ≥ 4.10.9 when published.
  • Until a fix is released, subscribe to SonicWall’s security notification feed at https://security.sonicwall.com/ and monitor for PSIRT advisories.
  • Temporary upgrade path: If business-critical, consider replacing the Global VPN Client with SonicWall NetExtender (the newer SSL VPN client) on a test group; evaluate compatibility before broad deployment.

3) Long-Term Hardening

  • Implement Least Privilege architecture: Standardize all VPN client installations to not require admin rights; enforce UAC and Local Security Policy.
  • Enable Credential Guard and Virtualization-Based Security (VBS): This limits the impact of kernel memory disclosure by isolating NTLM/NT Hash and reducing the value of leaked kernel memory.
  • Regular vulnerability scanning: Incorporate the Global VPN Client version into your asset inventory and vulnerability management workflow (e.g., use a script to query wmic product where "Name like 'SonicWall%'" get Version and cross-reference against PSIRT).
  • Practice defense-in-depth: Keep the underlying Windows OS fully patched on VPN endpoints; the OOB read impact is elevated on systems with unpatched kernel that would allow an attacker to convert a leak into a write.

References

  1. NVD Entry (Preliminary): https://nvd.nist.gov/vuln/detail/CVE-2026-66151 — NVD has published the base description; CVSS and EPSS not yet assigned.
  2. SonicWall PSIRT (Pending): https://security.sonicwall.com/ — Vendor advisory expected; subscribe for updates on this CVE.
  3. CWE-125 — Out-of-bounds Read: https://cwe.mitre.org/data/definitions/125.html — Common Weakness Enumeration reference for the vulnerability class.
  4. MITRE ATT&CK — T1068 (Exploitation for Privilege Escalation): https://attack.mitre.org/techniques/T1068/ — Relevant technique framework for this local exploitation vector.
  5. CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — CVE-2026-66151 is NOT listed as of this report date; no known in-the-wild exploitation confirmed.

Threat Actor Campaign Note: No public campaigns or exploit-in-the-wild evidence exists currently. The vulnerability is theoretically straightforward to trigger (a single 8–12 byte malformed IOCTL), making it an attractive target for cybercrime syndicates and APT groups focused on high-value enterprise VPN endpoints in cloud/telecom sectors. Expect weaponization within 30–60 days of a public PoC release. Monitor YARA/sigma feeds for new coverage.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"SonicWall Global VPN Client"
product:"SonicWall SSL-VPN" port:443
http.title:"SonicWall" "NetExtender"
product:"SonicWall" "Global VPN"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-66151/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.