CVE Vulnerabilities

CVE-2025-20352

Stack-based Buffer Overflow

Published: Sep 24, 2025 | Modified: Oct 01, 2025
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
RedHat/V2
RedHat/V3
Ubuntu

A vulnerability in the Simple Network Management Protocol (SNMP) subsystem of Cisco IOS Software and Cisco IOS XE Software could allow the following: An authenticated, remote attacker with low privileges could cause a denial of service (DoS) condition on an affected device that is running Cisco IOS Software or Cisco IOS XE Software. To cause the DoS, the attacker must have the SNMPv2c or earlier read-only community string or valid SNMPv3 user credentials. An authenticated, remote attacker with high privileges could execute code as the root user on an affected device that is running Cisco IOS XE Software. To execute code as the root user, the attacker must have the SNMPv1 or v2c read-only community string or valid SNMPv3 user credentials and administrative or privilege 15 credentials on the affected device. An attacker could exploit this vulnerability by sending a crafted SNMP packet to an affected device over IPv4 or IPv6 networks. This vulnerability is due to a stack overflow condition in the SNMP subsystem of the affected software. A successful exploit could allow a low-privileged attacker to cause the affected system to reload, resulting in a DoS condition, or allow a high-privileged attacker to execute arbitrary code as the root user and obtain full control of the affected system. Note: This vulnerability affects all versions of SNMP.

Weakness

A stack-based buffer overflow condition is a condition where the buffer being overwritten is allocated on the stack (i.e., is a local variable or, rarely, a parameter to a function).

Affected Software

Name Vendor Start Version End Version
Ios_xe_sd-wan Cisco 16.9.1 (including) 16.9.1 (including)
Ios_xe_sd-wan Cisco 16.9.2 (including) 16.9.2 (including)
Ios_xe_sd-wan Cisco 16.9.3 (including) 16.9.3 (including)
Ios_xe_sd-wan Cisco 16.9.4 (including) 16.9.4 (including)
Ios_xe_sd-wan Cisco 16.10.1 (including) 16.10.1 (including)
Ios_xe_sd-wan Cisco 16.10.2 (including) 16.10.2 (including)
Ios_xe_sd-wan Cisco 16.10.3 (including) 16.10.3 (including)
Ios_xe_sd-wan Cisco 16.10.3a (including) 16.10.3a (including)
Ios_xe_sd-wan Cisco 16.10.3b (including) 16.10.3b (including)
Ios_xe_sd-wan Cisco 16.10.4 (including) 16.10.4 (including)
Ios_xe_sd-wan Cisco 16.10.5 (including) 16.10.5 (including)
Ios_xe_sd-wan Cisco 16.10.6 (including) 16.10.6 (including)
Ios_xe_sd-wan Cisco 16.11.1a (including) 16.11.1a (including)
Ios_xe_sd-wan Cisco 16.12.1b (including) 16.12.1b (including)
Ios_xe_sd-wan Cisco 16.12.1d (including) 16.12.1d (including)
Ios_xe_sd-wan Cisco 16.12.1e (including) 16.12.1e (including)
Ios_xe_sd-wan Cisco 16.12.2r (including) 16.12.2r (including)
Ios_xe_sd-wan Cisco 16.12.3 (including) 16.12.3 (including)
Ios_xe_sd-wan Cisco 16.12.4 (including) 16.12.4 (including)
Ios_xe_sd-wan Cisco 16.12.4a (including) 16.12.4a (including)
Ios_xe_sd-wan Cisco 16.12.5 (including) 16.12.5 (including)

Potential Mitigations

  • Use automatic buffer overflow detection mechanisms that are offered by certain compilers or compiler extensions. Examples include: the Microsoft Visual Studio /GS flag, Fedora/Red Hat FORTIFY_SOURCE GCC flag, StackGuard, and ProPolice, which provide various mechanisms including canary-based detection and range/index checking.
  • D3-SFCV (Stack Frame Canary Validation) from D3FEND [REF-1334] discusses canary-based detection in detail.
  • Run or compile the software using features or extensions that randomly arrange the positions of a program’s executable and libraries in memory. Because this makes the addresses unpredictable, it can prevent an attacker from reliably jumping to exploitable code.
  • Examples include Address Space Layout Randomization (ASLR) [REF-58] [REF-60] and Position-Independent Executables (PIE) [REF-64]. Imported modules may be similarly realigned if their default memory addresses conflict with other modules, in a process known as “rebasing” (for Windows) and “prelinking” (for Linux) [REF-1332] using randomly generated addresses. ASLR for libraries cannot be used in conjunction with prelink since it would require relocating the libraries at run-time, defeating the whole purpose of prelinking.
  • For more information on these techniques see D3-SAOR (Segment Address Offset Randomization) from D3FEND [REF-1335].

References