cbcvebase.
CVE-2024-34921
published 2024-05-14

CVE-2024-34921: TOTOLINK X5000R v9.1.0cu.2350_B20230313 was discovered to contain a command injection via the disconnectVPN function.

PriorityP261high8.8CVSS 3.1
AVAACLPRNUINSUCHIHAH
EPSS
9.25%
94.7th percentile
TOTOLINK X5000R v9.1.0cu.2350_B20230313 was discovered to contain a command injection via the disconnectVPN function.

Affected

1 ranges
VendorProductVersion rangeFixed in
totolinkx5000r_firmware

Detection & IOCsextracted from sources · hover to see the quote

url/cgi-bin/cstecgi.cgi
versionTOTOLINK X5000R v9.1.0cu.2350_B20230313
snort
alert http any any -> $HOME_NET any (msg:"ET WEB_SPECIFIC_APPS Totolink disconnectVPN pid Parameter Command Injection Attempt (CVE-2024-34921, CVE-2023-29803)"; flow:established,to_server; http.method; content:"POST"; http.uri; bsize:20; content:"/cgi-bin/cstecgi.cgi"; http.request_body; content:"|22|topicurl|22|"; content:"|22|disconnectVPN|22|"; fast_pattern; within:20; content:"|22|pid|22|"; pcre:"/^(?:\x3a(?:\x20\x22|\x22))?[^\x2c\x7d$]*?(?:(?:\x3b|%3[Bb])|(?:\x0a|%0[Aa])|(?:\x60|%60)|(?:\x7c|%7[Cc])|(?:\x24|%24))+/R"; reference:url,github.com/jinhao118/cve/blob/main/TOTOLINK%20X18%20Router.md; reference:cve,2024-34921; reference:cve,2023-29803; classtype:attempted-admin; sid:2068159; rev:1; metadata:affected_product TOTOLINK, attack_target Networking_Equipment, tls_state plaintext, created_at 2026_03_11, cve CVE_2024_34921, deployment Perimeter, deployment Internal, performance_impact Low, confidence High, signature_severity Major, tag Exploit, tag Description_Generated_By_Proofpoint_Nexus, updated_at 2026_03_11, mitre_tactic_id TA0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public_Facing_Application; target:dest_ip;)
  • Exploit traffic is HTTP POST only; filter to POST requests targeting /cgi-bin/cstecgi.cgi.
  • Request body must contain both 'topicurl' and 'disconnectVPN' JSON keys, indicating the targeted API action.
  • The injected payload is delivered via the 'pid' parameter; look for shell metacharacters (;, newline, backtick, pipe, $) in its value — including URL-encoded variants (%3B, %0A, %60, %7C, %24).
  • Traffic is expected in plaintext (no TLS); deploy detection at perimeter and internal network boundaries.
  • MITRE mapping: Initial Access (TA0001) via Exploit Public-Facing Application (T1190); treat alerts as high-severity attempted admin compromise.
  • ·The Snort/Suricata rule (sid:2068159) uses a PCRE with the /R (relative) flag anchored after the 'pid' content match; ensure your IDS engine supports PCRE relative matching or the rule will not fire correctly.
  • ·The URI content match uses bsize:20, meaning the rule only fires when the exact URI is exactly 20 bytes (/cgi-bin/cstecgi.cgi); any path prefix or suffix will bypass this check.
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.