CVE/vulnerability

Critical Vivotek Flaw Enables Remote Arbitrary Code Execution

Akamai’s Security Intelligence and Response Team (SIRT) uncovered a serious command injection vulnerability in legacy Vivotek IoT camera firmware.

Tracked as CVE-2026-22755, the flaw lets remote attackers inject and run arbitrary code as root without authentication.

Researchers used AI-driven reverse engineering to find it, confirming impact on dozens of older camera models. This boosts botnet risks, like DDoS attacks from compromised IoT devices.

The issue stems from unsafe handling of user input in the upload_map.cgi script. Disassembled code shows snprintf() building a string like “mv %s %s” with attacker-controlled filenames, then passing it to system().

Crafted names like “test_firmware.bin;id;” execute shell commands.

Attackers must meet five conditions: file under 5MB, pass firmware checks (magic bytes FF V FF FF at start, FF K FF FF at end), intact /usr/sbin/confclient returning “capability_remotecamctrl_master=1”, customized Boa web server with nonstandard env vars, and call via upload_map.cgi (not file_manager.cgi).

To exploit, researchers emulated the ARM environment. They created dummy firmware with a Bash script:

#!/bin/bash
TEMP_DIR=/tmp
FIRMWARE_FILE="$TEMP_DIR/firmware.bin"
printf '\xFF\x56\xFF\xFF' > "$FIRMWARE_FILE"
dd if=/dev/zero bs=1 count=1000 >> "$FIRMWARE_FILE" 2>/dev/null
printf '\xFF\x4B\xFF\xFF' >> "$FIRMWARE_FILE"

Set env vars like REQUEST_METHOD=POST, CONTENT_LENGTH=55123, QUERY_STRING=camid=1, POST_FILE_NAME="test_firmware.bin;id;".

Running /usr/share/www/cgi-bin/upload_map.cgi outputs root details: “uid=0(root) gid=0(root)”. Strace confirms shell parsing of the semicolon, executing id after mv fails.

Disassembled code showing user-supplied input being passed to system()

Affected Models and IOCs

Dozens of Vivotek models run vulnerable firmware. Update immediately.

ModelsFirmware Versions
FD8365, FD8365v2, FD9165, FD9171, FD9187, FD9189, FD9365, FD9371, FD9381, FD9387, FD9389, FD9391, FE9180, FE9181, FE9191, FE9381, FE9382, FE9391, FE9582, IB9365, IB93587LPR, IB9371, IB9381, IB9387, IB9389, IB9391, IP9165, IP9171, IP9172, IP9181, IP9191, IT9389, MA9321, MA9322, MS9321, MS9390, TB93300100a, 0106a, 0106b, 0107a, 0107b_1, 0109a, 0112a, 0113a, 0113d, 0117b, 0119e, 0120b, 0121, 0121d, 0121d_48573_1, 0122e, 0124d_48573_1, 012501, 012502, 0125c

Key IOCs:

IOC TypeValue
Path/cgi-bin/admin/upload_map.cgi
Parametercamid=
Env VarPOST_FILE_NAME with ; (e.g., test_firmware.bin;id;)
Magic BytesHeader: \xFF\x56\xFF\xFF; Footer: \xFF\x4B\xFF\xFF
YARA Rulerule CVE_2026_22755_Vivotek_upload { strings: $path = "/cgi-bin/admin/upload_map.cgi"; $param = "camid="; condition: all of them }

Patch firmware ASAP vendors must release updates. Sanitize filenames server-side, restrict uploads, and monitor IOCs with the YARA rule. Emulate exploits in safe environments for testing.

This flaw underscores IoT risks: legacy devices fuel botnets. Root access enables full compromise, data theft, or DDoS recruitment.

Users, segment networks and disable unused CGI endpoints. Security teams, hunt for anomalous uploads.

Akamai urges vendors to patch, users to update, and researchers to collaborate. Proactive IoT security demands input validation, regular audits, and AI tools to spot flaws early.

Follow us on Google News, LinkedIn, and X to Get Instant Updates and Set GBH as a Preferred Source in Google.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

Hackers Use ConnectWise SkyKick Credentials to Access Microsoft 365, Halting Cloud Backups

Attackers abused compromised ConnectWise Cloud Backup credentials to access Microsoft 365 customer environments, prompting ConnectWise…

1 day ago

Anthropic’s Claude AI Uncovers Origins of NSA-Provided Cryptographic Keys After 25 Years

Anthropic says an internal Claude research model reconstructed how the National Security Agency generated seeds…

1 day ago

Critical WordPress Flaws Allow Attackers to Execute Remote Code Without Authentication

Two WordPress Core vulnerabilities can be chained to execute remote code without authentication, according to…

1 day ago

OpenBSD Kernel Flaw Dating Back 37 Years Enables Local Privilege Escalation to Root

A newly disclosed OpenBSD kernel exploitation chain combines a shared memory accounting flaw with a…

1 day ago

GhostAction Hackers Hide Credential-Stealing Malware in Fake Font Files Across 94 GitHub Repositories

GhostAction attackers have expanded their GitHub credential theft campaign with a second stage that disguises…

1 day ago

SideCopy Hackers Target Indian Organizations With ReverseRAT Malware to Steal Data

Indian authorities have warned that SideCopy hackers are targeting Indian organizations, including academic institutions, with…

1 day ago