CVE-2017-16227
The aspath_put function in bgpd/bgp_aspath.c in Quagga before 1.2.2 allows remote attackers to...
The aspath_put function in bgpd/bgp_aspath.c in Quagga before 1.2.2 allows remote attackers to cause a denial of service (session drop) via BGP UPDATE messages, because AS_PATH size calculation for long paths counts certain bytes twice and consequently constructs an invalid message.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.5
The aspath_put function in bgpd/bgp_aspath.c in Quagga before 1.2.2 allows remote attackers to cause a denial of service (session drop) via BGP UPDATE messages, because AS_PATH size calculation for long paths counts certain bytes twice and consequently constructs an invalid message.
- Record
CVE-2017-16227- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-20
- Updated
- 2026-11-02
CVE List No score
The aspath_put function in bgpd/bgp_aspath.c in Quagga before 1.2.2 allows remote attackers to cause a denial of service (session drop) via BGP UPDATE messages, because AS_PATH size calculation for long paths counts certain bytes twice and consequently constructs an invalid message.
- Record
CVE-2017-16227- Updated
- 2026-11-02
EUVDEUVD-2017-7426 No score
The aspath_put function in bgpd/bgp_aspath.c in Quagga before 1.2.2 allows remote attackers to cause a denial of service (session drop) via BGP UPDATE messages, because AS_PATH size calculation for long paths counts certain bytes twice and consequently constructs an invalid message.
- Record
EUVD-2017-7426- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-8c9w-x87p-jr8v
7.5
The aspath_put function in bgpd/bgp_aspath.c in Quagga before 1.2.2 allows remote attackers to...
The aspath_put function in bgpd/bgp_aspath.c in Quagga before 1.2.2 allows remote attackers to cause a denial of service (session drop) via BGP UPDATE messages, because AS_PATH size calculation for long paths counts certain bytes twice and consequently constructs an invalid message.
- Record
GHSA-8c9w-x87p-jr8v- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVALPINE-CVE-2017-16227
7.5
The aspath_put function in bgpd/bgp_aspath.c in Quagga before 1.2.2 allows remote attackers to cause a denial of service (session drop) via BGP UPDATE messages, because AS_PATH size calculation for long paths counts certain bytes twice and consequently constructs an invalid message.
- Record
ALPINE-CVE-2017-16227- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSV
7.5
The aspath_put function in bgpd/bgp_aspath.c in Quagga before 1.2.2 allows remote attackers to cause a denial of service (session drop) via BGP UPDATE messages, because AS_PATH size calculation for long paths counts certain bytes twice and consequently constructs an invalid message.
- Record
CVE-2017-16227- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 7 moreShow less
OSVUBUNTU-CVE-2017-16227
7.5
The aspath_put function in bgpd/bgp_aspath.c in Quagga before 1.2.2 allows remote attackers to cause a denial of service (session drop) via BGP UPDATE messages, because AS_PATH size calculation for long paths counts certain bytes twice and consequently constructs an invalid message.
- Record
UBUNTU-CVE-2017-16227- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVMGASA-2017-0416 No score
Updated quagga packages fix security vulnerability
The bgpd daemon in the Quagga routing suite does not properly calculate the length of multi-segment AS_PATH UPDATE messages, causing bgpd to drop a session and potentially resulting in loss of network connectivity (CVE-2017-16227).
- Record
MGASA-2017-0416- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11290-1 No score
libfpm_pb0-1.2.4-2.14 on GA media
These are all security issues fixed in the libfpm_pb0-1.2.4-2.14 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11290-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:0455-1 No score
Security update for quagga
This update for quagga fixes the following security issues:
-
The Quagga BGP daemon contained a bug in the AS_PATH size calculation that could have been exploited to facilitate a remote denial-of-service attack via specially crafted BGP UPDATE messages. [CVE-2017-16227, bsc#1065641]
-
The Quagga BGP daemon did not check whether data sent to peers via NOTIFY had an invalid attribute length. It was possible to exploit this issue and cause the bgpd process to leak sensitive information over the network to a configured peer. [CVE-2018-5378, bsc#1079798]
-
The Quagga BGP daemon used to double-free memory when processing certain forms of UPDATE messages. This issue could be exploited by sending an optional/transitive UPDATE attribute that all conforming eBGP speakers should pass along. Consequently, a single UPDATE message could have affected many bgpd processes across a wide area of a network. Through this vulnerability, attackers could potentially have taken over control of affected bgpd processes remotely. [CVE-2018-5379, bsc#1079799]
-
It was possible to overrun internal BGP code-to-string conversion tables in the Quagga BGP daemon. Configured peers could have exploited this issue and cause bgpd to emit debug and warning messages into the logs that would contained arbitrary bytes. [CVE-2018-5380, bsc#1079800]
-
The Quagga BGP daemon could have entered an infinite loop if sent an invalid OPEN message by a configured peer. If this issue was exploited, then bgpd would cease to respond to any other events. BGP sessions would have been dropped and not be reestablished. The CLI interface would have been unresponsive. The bgpd daemon would have stayed in this state until restarted. [CVE-2018-5381, bsc#1079801]
-
The Quagga daemon's telnet 'vty' CLI contains an unbounded memory allocation bug that could be exploited for a denial-of-service attack on the daemon. This issue has been fixed. [CVE-2017-5495, bsc#1021669]
-
The telnet 'vty' CLI of the Quagga daemon is no longer enabled by default, because the passwords in the default 'zebra.conf' config file are now disabled. The vty interface is available via 'vtysh' utility using pam authentication to permit management access for root without password. [bsc#1021669]
- Record
SUSE-SU-2018:0455-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:0456-1 No score
Security update for quagga
This update for quagga fixes the security following issues:
-
The Quagga BGP daemon contained a bug in the AS_PATH size calculation that could have been exploited to facilitate a remote denial-of-service attack via specially crafted BGP UPDATE messages. [CVE-2017-16227, bsc#1065641]
-
The Quagga BGP daemon did not check whether data sent to peers via NOTIFY had an invalid attribute length. It was possible to exploit this issue and cause the bgpd process to leak sensitive information over the network to a configured peer. [CVE-2018-5378, bsc#1079798]
-
The Quagga BGP daemon used to double-free memory when processing certain forms of UPDATE messages. This issue could be exploited by sending an optional/transitive UPDATE attribute that all conforming eBGP speakers should pass along. Consequently, a single UPDATE message could have affected many bgpd processes across a wide area of a network. Through this vulnerability, attackers could potentially have taken over control of affected bgpd processes remotely. [CVE-2018-5379, bsc#1079799]
-
It was possible to overrun internal BGP code-to-string conversion tables in the Quagga BGP daemon. Configured peers could have exploited this issue and cause bgpd to emit debug and warning messages into the logs that would contained arbitrary bytes. [CVE-2018-5380, bsc#1079800]
-
The Quagga BGP daemon could have entered an infinite loop if sent an invalid OPEN message by a configured peer. If this issue was exploited, then bgpd would cease to respond to any other events. BGP sessions would have been dropped and not be reestablished. The CLI interface would have been unresponsive. The bgpd daemon would have stayed in this state until restarted. [CVE-2018-5381, bsc#1079801]
- Record
SUSE-SU-2018:0456-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:0457-1 No score
Security update for quagga
This update for quagga fixes the following issues:
-
The Quagga BGP daemon contained a bug in the AS_PATH size calculation that could have been exploited to facilitate a remote denial-of-service attack via specially crafted BGP UPDATE messages. [CVE-2017-16227, bsc#1065641]
-
The Quagga BGP daemon did not check whether data sent to peers via NOTIFY had an invalid attribute length. It was possible to exploit this issue and cause the bgpd process to leak sensitive information over the network to a configured peer. [CVE-2018-5378, bsc#1079798]
-
The Quagga BGP daemon used to double-free memory when processing certain forms of UPDATE messages. This issue could be exploited by sending an optional/transitive UPDATE attribute that all conforming eBGP speakers should pass along. Consequently, a single UPDATE message could have affected many bgpd processes across a wide area of a network. Through this vulnerability, attackers could potentially have taken over control of affected bgpd processes remotely. [CVE-2018-5379, bsc#1079799]
-
It was possible to overrun internal BGP code-to-string conversion tables in the Quagga BGP daemon. Configured peers could have exploited this issue and cause bgpd to emit debug and warning messages into the logs that would contained arbitrary bytes. [CVE-2018-5380, bsc#1079800]
-
The Quagga BGP daemon could have entered an infinite loop if sent an invalid OPEN message by a configured peer. If this issue was exploited, then bgpd would cease to respond to any other events. BGP sessions would have been dropped and not be reestablished. The CLI interface would have been unresponsive. The bgpd daemon would have stayed in this state until restarted. [CVE-2018-5381, bsc#1079801]
-
The Quagga daemon's telnet 'vty' CLI contains an unbounded memory allocation bug that could be exploited for a denial-of-service attack on the daemon. This issue has been fixed. [CVE-2017-5495, bsc#1021669]
-
The telnet 'vty' CLI of the Quagga daemon is no longer enabled by default, because the passwords in the default 'zebra.conf' config file are now disabled. The vty interface is available via 'vtysh' utility using pam authentication to permit management access for root without password. [bsc#1021669]
- Record
SUSE-SU-2018:0457-1- Updated
- 2026-11-02
OSVUSN-3471-1 No score
quagga vulnerabilities
Andreas Jaggi discovered that Quagga incorrectly handled certain BGP UPDATE messages. A remote attacker could possibly use this issue to cause Quagga to crash, resulting in a denial of service. (CVE-2017-16227)
Quentin Young discovered that Quagga incorrectly handled memory in the telnet vty CLI. An attacker able to connect to the telnet interface could possibly use this issue to cause Quagga to consume memory, resulting in a denial of service. This issue only affected Ubuntu 14.04 LTS and Ubuntu 16.04 LTS. (CVE-2017-5495)
- Record
USN-3471-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
quaggaAlpine:v3.3 |
before 0.99.24.1-r6 | 0.99.24.1-r6 |
quaggaAlpine:v3.4 |
before 1.0.20161017-r1 | 1.0.20161017-r1 |
quaggaAlpine:v3.5 |
before 1.1.1-r1 | 1.1.1-r1 |
quaggaAlpine:v3.6 |
before 1.2.2-r0 | 1.2.2-r0 |
quaggaDebian:7 |
before 0.99.22.4-1+wheezy3+deb7u2, plus listed versions 0.99.21-4+wheezy10.99.21-4+wheezy20.99.22-10.99.22.1-10.99.22.1-2 Show 5 moreShow less0.99.22.4-10.99.22.4-1+wheezy10.99.22.4-1+wheezy20.99.22.4-1+wheezy30.99.22.4-1+wheezy3+deb7u1 |
0.99.22.4-1+wheezy3+deb7u2 |
quaggaDebian:8 |
before 0.99.23.1-1+deb8u4, plus listed versions 0.99.23.1-10.99.23.1-1+deb8u10.99.23.1-1+deb8u20.99.23.1-1+deb8u3 |
0.99.23.1-1+deb8u4 |
quaggaDebian:9 |
before 1.1.1-3+deb9u1, plus listed versions 1.1.1-3 |
1.1.1-3+deb9u1 |
quaggaMageia:5 |
before 0.99.22.4-4.5.mga5 | 0.99.22.4-4.5.mga5 |
quaggaMageia:6 |
before 0.99.24.1-6.1.mga6 | 0.99.24.1-6.1.mga6 |
quaggaSUSE:OpenStack Cloud 6 From an advisory covering 6 CVEs |
before 0.99.22.1-16.4.1 | 0.99.22.1-16.4.1 |
Show 21 moreShow less
| Package | Affected | Fixed |
|---|---|---|
quaggaSUSE:Linux Enterprise Server for SAP Applications 12 SP1 From an advisory covering 6 CVEs |
before 0.99.22.1-16.4.1 | 0.99.22.1-16.4.1 |
quaggaSUSE:Linux Enterprise Server 12-LTSS From an advisory covering 6 CVEs |
before 0.99.22.1-16.4.1 | 0.99.22.1-16.4.1 |
quaggaSUSE:Linux Enterprise Server 12 SP1-LTSS From an advisory covering 6 CVEs |
before 0.99.22.1-16.4.1 | 0.99.22.1-16.4.1 |
quaggaSUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 From an advisory covering 5 CVEs |
before 1.1.1-17.7.1 | 1.1.1-17.7.1 |
quaggaSUSE:Linux Enterprise Software Development Kit 12 SP2 From an advisory covering 5 CVEs |
before 1.1.1-17.7.1 | 1.1.1-17.7.1 |
quaggaSUSE:Linux Enterprise Software Development Kit 12 SP3 From an advisory covering 5 CVEs |
before 1.1.1-17.7.1 | 1.1.1-17.7.1 |
quaggaSUSE:Linux Enterprise Server 12 SP2 From an advisory covering 5 CVEs |
before 1.1.1-17.7.1 | 1.1.1-17.7.1 |
quaggaSUSE:Linux Enterprise Server for SAP Applications 12 SP2 From an advisory covering 5 CVEs |
before 1.1.1-17.7.1 | 1.1.1-17.7.1 |
quaggaSUSE:Linux Enterprise Server 12 SP3 From an advisory covering 5 CVEs |
before 1.1.1-17.7.1 | 1.1.1-17.7.1 |
quaggaSUSE:Linux Enterprise Server for SAP Applications 12 SP3 From an advisory covering 5 CVEs |
before 1.1.1-17.7.1 | 1.1.1-17.7.1 |
quaggaSUSE:Linux Enterprise Software Development Kit 11 SP4 From an advisory covering 6 CVEs |
before 0.99.15-0.30.3.1 | 0.99.15-0.30.3.1 |
quaggaSUSE:Linux Enterprise Point of Sale 11 SP3 From an advisory covering 6 CVEs |
before 0.99.15-0.30.3.1 | 0.99.15-0.30.3.1 |
quaggaSUSE:Linux Enterprise Server 11 SP3-LTSS From an advisory covering 6 CVEs |
before 0.99.15-0.30.3.1 | 0.99.15-0.30.3.1 |
quaggaSUSE:Linux Enterprise Server 11 SP3-TERADATA From an advisory covering 6 CVEs |
before 0.99.15-0.30.3.1 | 0.99.15-0.30.3.1 |
quaggaSUSE:Linux Enterprise Server 11 SP4 From an advisory covering 6 CVEs |
before 0.99.15-0.30.3.1 | 0.99.15-0.30.3.1 |
quaggaSUSE:Linux Enterprise Server for SAP Applications 11 SP4 From an advisory covering 6 CVEs |
before 0.99.15-0.30.3.1 | 0.99.15-0.30.3.1 |
quaggaUbuntu:14.04:LTS |
before 0.99.22.4-3ubuntu1.4, plus listed versions 0.99.22.1-20.99.22.4-10.99.22.4-20.99.22.4-30.99.22.4-3ubuntu10.99.22.4-3ubuntu1.10.99.22.4-3ubuntu1.20.99.22.4-3ubuntu1.3 |
0.99.22.4-3ubuntu1.4 |
quaggaUbuntu:16.04:LTS |
before 0.99.24.1-2ubuntu1.3, plus listed versions 0.99.24.1-20.99.24.1-2ubuntu10.99.24.1-2ubuntu1.10.99.24.1-2ubuntu1.2 |
0.99.24.1-2ubuntu1.3 |
quaggaUbuntu:14.04:LTS From an advisory covering 2 CVEs |
before 0.99.22.4-3ubuntu1.4, plus listed versions 0.99.22.1-20.99.22.4-10.99.22.4-20.99.22.4-30.99.22.4-3ubuntu10.99.22.4-3ubuntu1.10.99.22.4-3ubuntu1.20.99.22.4-3ubuntu1.3 |
0.99.22.4-3ubuntu1.4 |
quaggaUbuntu:16.04:LTS From an advisory covering 2 CVEs |
before 0.99.24.1-2ubuntu1.3, plus listed versions 0.99.24.1-20.99.24.1-2ubuntu10.99.24.1-2ubuntu1.10.99.24.1-2ubuntu1.2 |
0.99.24.1-2ubuntu1.3 |
quaggaopenSUSE:Tumbleweed From an advisory covering 12 CVEs |
before 1.2.4-2.14 | 1.2.4-2.14 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2017-16227 is a high vulnerability (CVSS 7.5) in Quagga, published October 29, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 46.0%, the 98th percentile. Fixed in quagga 0.99.24.1-r6.
References
bugs.debian.org/879474
download.savannah.gnu.org/releases/quagga/quagga-1.2.2.changelog.txt
debian.org/security/2017/dsa-4011
git.savannah.gnu.org/cgit/quagga.git/commit?id=7a42b78be9a4108d98833069a88e6fddb9285008
lists.quagga.net/pipermail/quagga-dev/2017-September/033284.html
nvd.nist.gov/vuln/detail/CVE-2017-16227
Show 30 moreShow less
github.com/advisories/GHSA-8c9w-x87p-jr8v
security.alpinelinux.org/vuln/CVE-2017-16227
advisories.mageia.org/MGASA-2017-0416.html
bugs.mageia.org/show_bug.cgi?id=21967
openwall.com/lists/oss-security/2017/10/30/4
suse.com/support/update/announcement/2018/suse-su-20180455-1
bugzilla.suse.com/1021669
bugzilla.suse.com/1065641
bugzilla.suse.com/1079798
bugzilla.suse.com/1079799
bugzilla.suse.com/1079800
bugzilla.suse.com/1079801
suse.com/security/cve/CVE-2017-16227
suse.com/security/cve/CVE-2017-5495
suse.com/security/cve/CVE-2018-5378
suse.com/security/cve/CVE-2018-5379
suse.com/security/cve/CVE-2018-5380
suse.com/security/cve/CVE-2018-5381
suse.com/support/update/announcement/2018/suse-su-20180456-1
suse.com/support/update/announcement/2018/suse-su-20180457-1
ubuntu.com/security/CVE-2017-16227
ubuntu.com/security/notices/USN-3471-1
cve.org/CVERecord?id=CVE-2017-16227
ubuntu.com/security/CVE-2017-5495
suse.com/security/cve/CVE-2006-2223
suse.com/security/cve/CVE-2007-1995
suse.com/security/cve/CVE-2018-5278
suse.com/security/cve/CVE-2018-5279
suse.com/security/cve/CVE-2018-5280
suse.com/security/cve/CVE-2018-5281