← Vulnerability feed

Vulnerability record · CVE-2021-42071 · published 7 October 2021

CVE-2021-42071: Visual Tools DVR VX16 unauthenticated OS command injection via User-Agent header

Visual Tools · Dvr Vx16 Firmware

Visual Tools DVR VX16 firmware 4.2.28.0 passes the HTTP User-Agent header into a shell command in cgi-bin/slogin/login.py without sanitizing shell metacharacters. An unauthenticated remote attacker can inject commands that execute on the device. The flaw is a classic OS command injection (CWE-78) with a critical CVSS score of 9.8.

9.8 CVSS 3.1 Critical EPSS 70% · top 0.6% CWE-78 · OS command injection
9.8CVSS 3.1 base score, v2 10.0
70%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
6References, 4 tagged exploit
17 Jun 2026Last modified by NVD

Description

In Visual Tools DVR VX16 4.2.28.0, an unauthenticated attacker can achieve remote command execution via shell metacharacters in the cgi-bin/slogin/login.py User-Agent HTTP header.

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 19 September 2026. Confidence: high.

critical priorityUnauthenticated remote command execution with a 9.8 CVSS score and public exploit code makes this trivially exploitable against exposed DVRs.

What it is

Visual Tools DVR VX16 firmware 4.2.28.0 passes the HTTP User-Agent header into a shell command in cgi-bin/slogin/login.py without sanitizing shell metacharacters. An unauthenticated remote attacker can inject commands that execute on the device. The flaw is a classic OS command injection (CWE-78) with a critical CVSS score of 9.8.

Impact

An attacker gains remote command execution as the web service account on the DVR, allowing full compromise of the device, including access to video feeds, credentials and any connected network.

Attack surface

Reachable over the network through the DVR's web interface; no authentication or user interaction is required, as the malicious payload is carried in the User-Agent header of a request to cgi-bin/slogin/login.py.

Exploitation

Public exploit code exists (Exploit-DB 50098 and a SWASCAN advisory), and EPSS is very high at 0.699 (99.3rd percentile), though the CVE is not listed in CISA KEV.

What to do

  • Apply the vendor firmware update for Visual Tools DVR VX16 if one is available; check visual-tools.com for the latest release.
  • If no patch exists, isolate affected DVRs on a segmented VLAN with no internet exposure and restrict management access to trusted hosts.
  • Place the device behind a reverse proxy or WAF that strips or rejects shell metacharacters in HTTP headers, especially User-Agent.
  • Disable or block remote access to cgi-bin/slogin/login.py from untrusted networks.
  • Replace end-of-life or unpatched DVR units with supported hardware.

Detection

  • Monitor web server and DVR logs for requests to cgi-bin/slogin/login.py with User-Agent values containing shell metacharacters such as ;, |, $, `, or &&.
  • Alert on unexpected outbound connections or process execution from the DVR host, which may indicate injected commands.
  • Use network monitoring to detect anomalous HTTP requests to DVR management interfaces from external or unusual source addresses.
  • Audit DVR devices for signs of tampering, new accounts, or modified configuration.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2021-42071 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

8.8CVE-2026-53266Linux kernel ebtables SNAT out-of-bounds write in ARP rewriteThe ebtables SNAT target rewrites the ARP sender hardware address via skb_store_bits() without first making that range writable. When the ARP SHA byt…KEVEPSS 0.65%analysed8.8CVE-2026-87491Google Chrome V8 out-of-bounds write enables sandbox code executionChrome before 153.0.8010.36 contains an out-of-bounds write in the V8 JavaScript engine. A crafted HTML page can trigger the memory corruption, and b…KEVEPSS 3.1%analysed9.8CVE-2025-25249Fortinet FortiOS and FortiSwitchManager heap buffer overflow via crafted packetsA heap-based buffer overflow (CWE-122/CWE-787) in Fortinet FortiOS 6.4 through 7.6.3 and FortiSwitchManager 7.0 through 7.2.6 lets an unauthenticated…KEVEPSS 3.9%analysed7.8CVE-2026-83549SonicWall SMA1000 AMC OS Command InjectionThe SMA1000 Appliance Management Console contains an OS command injection flaw (CWE-78) that lets an authenticated administrator execute arbitrary op…KEVEPSS 11%analysed10.0CVE-2026-49869Kestra OSS auth bypass via path suffix match enables RCEKestra OSS AuthenticationFilter whitelists the public config endpoint using request.getPath().endsWith("/configs"), a suffix match instead of an exac…KEVEPSS 2.1%analysed7.8CVE-2026-53362Linux kernel IPv6 UDP paged allocation out-of-bounds write__ip6_append_data() in the Linux kernel mis-accounts fraggap on the paged-allocation path, leaving the linear skb area undersized while pagedlen is o…KEVEPSS 0.71%analysed7.8CVE-2022-0995Linux kernel watch_queue out-of-bounds writeThe Linux kernel's watch_queue event notification subsystem contains an out-of-bounds write (CWE-787) that can overwrite kernel state. A local user c…KEVEPSS 8.8%analysed8.9CVE-2026-73570Zimbra Collaboration SNMP notification OS command injectionZimbra Collaboration Suite before 10.1.20 contains an OS command injection flaw in SNMP notification processing when the optional zimbra-snmp package…KEVEPSS 12%analysed

Source: NIST National Vulnerability Database (record CVE-2021-42071), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.