8.6 CVE-2025-20115
Buffer Overflow
A vulnerability in confederation implementation for the Border Gateway Protocol (BGP) in Cisco IOS XR Software could allow an unauthenticated, remote attacker to cause a denial of service (DoS) condition.
This vulnerability is due to a memory corruption that occurs when a BGP update is created with an AS_CONFED_SEQUENCE attribute that has 255 autonomous system numbers (AS numbers). An attacker could exploit this vulnerability by sending a crafted BGP update message, or the network could be designed in such a manner that the AS_CONFED_SEQUENCE attribute grows to 255 AS numbers or more. A successful exploit could allow the attacker to cause memory corruption, which may cause the BGP process to restart, resulting in a DoS condition. To exploit this vulnerability, an attacker must control a BGP confederation speaker within the same autonomous system as the victim, or the network must be designed in such a manner that the AS_CONFED_SEQUENCE attribute grows to 255 AS numbers or more.
https://nvd.nist.gov/vuln/detail/CVE-2025-20115
Categories
CWE-120 : Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
The product copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer. This term was frequently used by vulnerability researchers during approximately 1995 to 2005 to differentiate buffer copies without length checks (which had been known about for decades) from other emerging weaknesses that still involved invalid accesses of buffers, as vulnerability researchers began to develop advanced exploitation techniques. This weakness can be detected using dynamic tools and techniques that interact with the software using large test suites with many diverse inputs, such as fuzz testing (fuzzing), robustness testing, and fault injection. The software's operation may slow down, but it should not become unstable, crash, or generate incorrect results. Manual analysis can be useful for finding this weakness, but it might not achieve desired code coverage within limited time constraints. This becomes difficult for weaknesses that must be considered for all inputs, since the attack surface can be too large. Use tools that are integrated duringcompilation to insert runtime error-checking mechanismsrelated to memory safety errors, such as AddressSanitizer(ASan) for C/C++ [REF-1518]. For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server. Most mitigating technologies at the compiler or OS level to date address only a subset of buffer overflow problems and rarely provide complete protection against even that subset. It is good practice to implement strategies to increase the workload of an attacker, such as leaving the attacker to guess an unknown value that changes every program execution. Replace unbounded copy functions with analogous functions that support length arguments, such as strcpy with strncpy. Create these if they are not available. When the set of acceptable objects, such as filenames or URLs, is limited or known, create a mapping from a set of fixed input values (such as numeric IDs) to the actual filenames or URLs, and reject all other inputs. Run your code using the lowest privileges that are required to accomplish the necessary tasks [REF-76]. If possible, create isolated accounts with limited privileges that are only used for a single task. That way, a successful attack will not immediately give the attacker access to the rest of the software or its environment. For example, database applications rarely need to run as the database administrator, especially in day-to-day operations. buffer overflow using command with long argument buffer overflow in local program using long environment variable buffer overflow in comment characters, when product increments a counter for a ">" but does not decrement for "<" By replacing a valid cookie value with an extremely long string of characters, an attacker may overflow the application's buffers. By replacing a valid cookie value with an extremely long string of characters, an attacker may overflow the application's buffers.
References
psirt@cisco.com
CPE
| cpe | start | end |
|---|---|---|
| Configuration 1 | ||
| cpe:2.3:o:cisco:ios_xr:6.5.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.3:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.15:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.25:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.26:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.28:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.29:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.31:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.32:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.33:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.35:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.90:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.92:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.5.93:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.6.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.6.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.6.3:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.6.4:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.6.11:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.6.12:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.6.25:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.7.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.7.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.7.3:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.7.4:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.7.35:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.8.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.8.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.9.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:6.9.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.0.0:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.0.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.0.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.0.11:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.0.12:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.0.14:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.0.90:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.1.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.1.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.1.3:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.1.15:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.1.25:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.2.0:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.2.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.2.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.2.12:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.3.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.3.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.3.3:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.3.4:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.3.5:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.3.6:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.3.15:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.3.16:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.3.27:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.4.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.4.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.4.15:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.4.16:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.5.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.5.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.5.3:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.5.4:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.5.5:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.5.12:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.5.52:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.6.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.6.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.6.3:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.6.15:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.7.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.7.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.7.21:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.8.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.8.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.8.12:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.8.22:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.8.23:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.9.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.9.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.9.21:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.10.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.10.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.11.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.11.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:7.11.21:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:24.1.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:24.1.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:24.2.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:24.2.2:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:24.2.11:*:*:*:*:*:*:* | ||
| cpe:2.3:o:cisco:ios_xr:24.2.20:*:*:*:*:*:*:* | ||
REMEDIATION
EXPLOITS
Exploit-db.com
| id | description | date | |
|---|---|---|---|
| No known exploits | |||
POC Github
| Url |
|---|
| No known exploits |
Other Nist (github, ...)
| Url |
|---|
| No known exploits |
CAPEC
Common Attack Pattern Enumerations and Classifications
| id | description | severity |
|---|---|---|
| 10 | Buffer Overflow via Environment Variables |
High |
| 100 | Overflow Buffers |
Very High |
| 14 | Client-side Injection-induced Buffer Overflow |
High |
| 24 | Filter Failure through Buffer Overflow |
High |
| 42 | MIME Conversion |
High |
| 44 | Overflow Binary Resource File |
Very High |
| 45 | Buffer Overflow via Symbolic Links |
High |
| 46 | Overflow Variables and Tags |
High |
| 47 | Buffer Overflow via Parameter Expansion |
High |
| 67 | String Format Overflow in syslog() |
Very High |
| 8 | Buffer Overflow in an API Call |
High |
| 9 | Buffer Overflow in Local Command-Line Utilities |
High |
| 92 | Forced Integer Overflow |
High |
Cybersecurity needs ?
Strengthen software security from the outset with our DevSecOps expertise
Integrate security right from the start of the software development cycle for more robust applications and greater customer confidence.
Our team of DevSecOps experts can help you secure your APIs, data pipelines, CI/CD chains, Docker containers and Kubernetes deployments.
