CVE-2017-16227
High · 7.5CVSS
7.5
EPSS
18.8%
Published
Oct 29, 2017
CISA due date
—
Cloudanix analysis
A bug in routing software lets attackers send special messages that knock network connections offline until the software is updated.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The aspath_put function miscalculates AS_PATH length for extended paths by double-counting bytes, producing an invalid BGP UPDATE message that forces session termination.
Why it matters to the business
Disrupts BGP peering sessions and routing stability across affected network infrastructure with 98 downstream dependents, leading to potential outages and requiring urgent patching.
How an attack unfolds
An attacker establishes or hijacks a BGP session and transmits a crafted UPDATE containing a long AS_PATH; the double-counted size produces an invalid message that drops the session. No named threat actors or ransomware campaigns are associated.
How to fix it
Upgrade tensorflow (Bitnami) to version 2.1.4 or later; apply vendor patches that correct the AS_PATH length calculation before constructing UPDATE messages.
How to confirm the fix worked
Confirm the installed package version meets or exceeds the fixed release, review bgpd source for corrected length logic, and test BGP session stability with long-path UPDATE messages.
Typical attack path
- Obtain network adjacency or intercept capability to a BGP speaker
- Craft a BGP UPDATE message with an extended AS_PATH attribute
- Transmit the message to trigger double byte counting in aspath_put
- Cause the peer to reject the malformed message and drop the session
How to detect it
Review BGP daemon logs for repeated session drops correlated with incoming UPDATE messages containing unusually long AS_PATH attributes; inspect packet captures for malformed path attributes.
What your security team should do
- Immediately upgrade all instances to the fixed release
- Restrict BGP peering to trusted neighbors with authentication
- Monitor for anomalous session resets in router logs
- Validate patch deployment across the 98 dependent packages
The record
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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.3 | quagga | 0 | 0.99.24.1-r6 |
| Alpine:v3.4 | quagga | 0 | 1.0.20161017-r1 |
| Alpine:v3.5 | quagga | 0 | 1.1.1-r1 |
| Alpine:v3.6 | quagga | 0 | 1.2.2-r0 |
| Debian:7 | quagga | 0 | 0.99.22.4-1+wheezy3+deb7u2 |
| Debian:8 | quagga | 0 | 0.99.23.1-1+deb8u4 |
| Debian:9 | quagga | 0 | 1.1.1-3+deb9u1 |
| Mageia:5 | quagga | 0 | 0.99.22.4-4.5.mga5 |
| Mageia:6 | quagga | 0 | 0.99.24.1-6.1.mga6 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | quagga | 0 | 0.99.15-0.30.3.1 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | quagga | 0 | 0.99.15-0.30.3.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | quagga | 0 | 0.99.15-0.30.3.1 |
| SUSE:Linux Enterprise Server 11 SP4 | quagga | 0 | 0.99.15-0.30.3.1 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | quagga | 0 | 0.99.22.1-16.4.1 |
| SUSE:Linux Enterprise Server 12 SP2 | quagga | 0 | 1.1.1-17.7.1 |
| SUSE:Linux Enterprise Server 12 SP3 | quagga | 0 | 1.1.1-17.7.1 |
| SUSE:Linux Enterprise Server 12-LTSS | quagga | 0 | 0.99.22.1-16.4.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | quagga | 0 | 1.1.1-17.7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | quagga | 0 | 0.99.15-0.30.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | quagga | 0 | 0.99.22.1-16.4.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | quagga | 0 | 1.1.1-17.7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | quagga | 0 | 1.1.1-17.7.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | quagga | 0 | 0.99.15-0.30.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | quagga | 0 | 1.1.1-17.7.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | quagga | 0 | 1.1.1-17.7.1 |
| SUSE:OpenStack Cloud 6 | quagga | 0 | 0.99.22.1-16.4.1 |
| Ubuntu:14.04:LTS | quagga | 0 | 0.99.22.4-3ubuntu1.4 |
| Ubuntu:16.04:LTS | quagga | 0 | 0.99.24.1-2ubuntu1.3 |
| openSUSE:Tumbleweed | quagga | 0 | 1.2.4-2.14 |
Related vulnerabilities
- CVE-2017-5495 All versions of Quagga, 0.93 through 1.1.0, are vulnerable to an unbounded memory… Also affects quagga
- CVE-2018-5380 The Quagga BGP daemon (bgpd) prior to version 1.2.3 can overrun internal BGP… Also affects quagga
- CVE-2018-5379 The Quagga BGP daemon (bgpd) prior to version 1.2.3 can double-free memory when… Also affects quagga
- CVE-2018-5381 The Quagga BGP daemon (bgpd) prior to version 1.2.3 has a bug in its parsing of… Also affects quagga
- CVE-2016-1245 It was discovered that the zebra daemon in Quagga before 1.0.20161017 suffered from a… Also affects quagga
- CVE-2016-4036 The quagga package before 0.99.23-2.6.1 in openSUSE and SUSE Linux Enterprise Server 11… Also affects quagga
- CVE-2016-2342 The bgp_nlri_parse_vpnv4 function in bgp_mplsvpn.c in the VPNv4 NLRI parser in bgpd in… Also affects quagga
- CVE-2013-2236 Stack-based buffer overflow in the new_msg_lsa_change_notify function in the OSPFD API… Also affects quagga