CVE-2017-8779
High · 7.5CVSS
7.5
EPSS
81.2%
Published
May 4, 2017
CISA due date
—
Cloudanix analysis
Attackers can send specially crafted network messages that make certain server software use up all available memory and stop working, causing outages.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw permits remote attackers to send a crafted UDP packet to port 111 that triggers unbounded memory allocation for XDR strings with no subsequent free, resulting in memory exhaustion and denial of service.
Why it matters to the business
Successful exploitation leads to service outages and degraded availability across affected systems and their 455 downstream dependents; the weaponized exploit and stable high EPSS indicate persistent remote DoS risk even years after disclosure.
How an attack unfolds
An attacker crafts a malicious UDP packet targeting the rpcbind service on port 111; the packet causes the server to allocate excessive memory for XDR strings without releasing it, exhausting resources and crashing the service. The maturity of available weaponized code lowers the barrier for widespread exploitation.
How to fix it
Upgrade rpcbind to a version beyond 0.2.4, LIBTIRPC beyond 1.0.1, NTIRPC beyond 1.4.3, and any affected downstream packages such as redis (Bitnami) to 5.0.14. Block or restrict UDP traffic to port 111 from untrusted networks where possible.
How to confirm the fix worked
Verify installed versions of rpcbind, LIBTIRPC, and NTIRPC against fixed releases; test that crafted UDP packets no longer produce unbounded memory growth; confirm service remains responsive under simulated load.
Typical attack path
- Scan for exposed rpcbind services on UDP port 111
- Send a single specially crafted UDP packet containing an oversized XDR string request
- Trigger repeated or oversized memory allocations without deallocation
- Observe resource exhaustion leading to denial of service
How to detect it
Inspect network logs for high volumes or anomalous patterns of UDP traffic destined to port 111; correlate with sudden spikes in memory consumption or process restarts of rpcbind or dependent services.
What your security team should do
- Prioritize patching all instances of affected rpc libraries and redis (Bitnami) to the listed fixed versions
- Implement network controls to limit exposure of port 111
- Monitor memory usage of rpcbind processes for anomalous growth
- Review downstream dependents for inherited exposure
The record
rpcbind through 0.2.4, LIBTIRPC through 1.0.1 and 1.0.2-rc through 1.0.2-rc3, and NTIRPC through 1.4.3 do not consider the maximum RPC data size during memory allocation for XDR strings, which allows remote attackers to cause a denial of service (memory consumption with no subsequent free) via a crafted UDP packet to port 111, aka rpcbomb.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.11 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.12 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.13 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.14 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.15 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.16 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.17 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.18 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.19 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.20 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.21 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.22 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.7 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.8 | rpcbind | 0 | 0.2.4-r0 |
| Alpine:v3.9 | rpcbind | 0 | 0.2.4-r0 |
| Debian:11 | libtirpc | 0 | 0.2.5-1.2 |
| Debian:11 | ntirpc | 0 | 1.4.4-1 |
| Debian:11 | rpcbind | 0 | 0.2.3-0.6 |
| Debian:12 | libtirpc | 0 | 0.2.5-1.2 |
| Debian:12 | ntirpc | 0 | 1.4.4-1 |
| Debian:12 | rpcbind | 0 | 0.2.3-0.6 |
| Debian:13 | libtirpc | 0 | 0.2.5-1.2 |
| Debian:13 | ntirpc | 0 | 1.4.4-1 |
| Debian:13 | rpcbind | 0 | 0.2.3-0.6 |
| Debian:7 | libtirpc | 0 | 0.2.2-5+deb7u1 |
| Debian:7 | rpcbind | 0 | 0.2.0-8+deb7u2 |
| Debian:8 | libtirpc | 0 | 0.2.5-1+deb8u1 |
| Debian:8 | rpcbind | 0 | 0.2.1-6+deb8u2 |
| Mageia:5 | libtirpc | 0 | 0.2.5-3.2.mga5 |
| Mageia:5 | rpcbind | 0 | 0.2.2-1.2.mga5 |
| Red Hat:ceph_storage:2::el7 | calamari-server | 0 | 0:1.5.6-2.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-base | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-common | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-fuse | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-iscsi-cli | 0 | 0:2.0-5.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-iscsi-config | 0 | 0:2.0-4.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-iscsi-tools | 0 | 0:2.0-3.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-mds | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-mon | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-osd | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-radosgw | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-selinux | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | ceph-test | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | libcephfs1 | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | libcephfs1-devel | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | libntirpc | 0 | 0:1.4.3-2.el7 |
| Red Hat:ceph_storage:2::el7 | libntirpc-debuginfo | 0 | 0:1.4.3-2.el7 |
| Red Hat:ceph_storage:2::el7 | librados2 | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | librados2-devel | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | librbd1 | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | librbd1-devel | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | librgw2 | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | librgw2-devel | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | libtcmu | 0 | 0:1.2.1-0.2.20170104.git3d33566.el7cp |
| Red Hat:ceph_storage:2::el7 | nfs-ganesha | 0 | 0:2.4.5-7.el7cp |
| Red Hat:ceph_storage:2::el7 | nfs-ganesha-debuginfo | 0 | 0:2.4.5-7.el7cp |
| Red Hat:ceph_storage:2::el7 | nfs-ganesha-rgw | 0 | 0:2.4.5-7.el7cp |
| Red Hat:ceph_storage:2::el7 | pcp-pmda-lio | 0 | 0:1.0-2.el7cp |
| Red Hat:ceph_storage:2::el7 | python-cephfs | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | python-crypto | 0 | 0:2.6.1-1.2.el7cp |
| Red Hat:ceph_storage:2::el7 | python-crypto-debuginfo | 0 | 0:2.6.1-1.2.el7cp |
| Red Hat:ceph_storage:2::el7 | python-flask | 0 | 1:0.10.1-5.el7 |
| Red Hat:ceph_storage:2::el7 | python-itsdangerous | 0 | 0:0.23-1.el7 |
| Red Hat:ceph_storage:2::el7 | python-jinja2 | 0 | 0:2.7.2-2.el7cp |
| Red Hat:ceph_storage:2::el7 | python-rados | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | python-rbd | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | python-rtslib | 0 | 0:2.1.fb64-0.1.20170301.git3637171.el7cp |
| Red Hat:ceph_storage:2::el7 | python-werkzeug | 0 | 0:0.9.1-1.el7 |
| Red Hat:ceph_storage:2::el7 | rbd-mirror | 0 | 1:10.2.7-27.el7cp |
| Red Hat:ceph_storage:2::el7 | targetcli | 0 | 0:2.1.fb47-0.1.20170301.gitf632f38.el7cp |
| Red Hat:ceph_storage:2::el7 | tcmu-runner | 0 | 0:1.2.1-0.2.20170104.git3d33566.el7cp |
| Red Hat:ceph_storage:2::el7 | tcmu-runner-debuginfo | 0 | 0:1.2.1-0.2.20170104.git3d33566.el7cp |
| Red Hat:ceph_storage:2::el7 | userspace-rcu | 0 | 0:0.7.16-1.el7cp |
| Red Hat:ceph_storage:2::el7 | userspace-rcu-debuginfo | 0 | 0:0.7.16-1.el7cp |
| Red Hat:enterprise_linux:6::client | libtirpc | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::client | libtirpc-debuginfo | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::client | libtirpc-devel | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::client | rpcbind | 0 | 0:0.2.0-13.el6_9 |
| Red Hat:enterprise_linux:6::client | rpcbind-debuginfo | 0 | 0:0.2.0-13.el6_9 |
| Red Hat:enterprise_linux:6::computenode | libtirpc | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::computenode | libtirpc-debuginfo | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::computenode | libtirpc-devel | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::computenode | rpcbind | 0 | 0:0.2.0-13.el6_9 |
| Red Hat:enterprise_linux:6::computenode | rpcbind-debuginfo | 0 | 0:0.2.0-13.el6_9 |
| Red Hat:enterprise_linux:6::server | libtirpc | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::server | libtirpc-debuginfo | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::server | libtirpc-devel | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::server | rpcbind | 0 | 0:0.2.0-13.el6_9 |
| Red Hat:enterprise_linux:6::server | rpcbind-debuginfo | 0 | 0:0.2.0-13.el6_9 |
| Red Hat:enterprise_linux:6::workstation | libtirpc | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::workstation | libtirpc-debuginfo | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::workstation | libtirpc-devel | 0 | 0:0.2.1-13.el6_9 |
| Red Hat:enterprise_linux:6::workstation | rpcbind | 0 | 0:0.2.0-13.el6_9 |
| Red Hat:enterprise_linux:6::workstation | rpcbind-debuginfo | 0 | 0:0.2.0-13.el6_9 |
| Red Hat:enterprise_linux:7::client | libtirpc | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::client | libtirpc-debuginfo | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::client | libtirpc-devel | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::client | rpcbind | 0 | 0:0.2.0-38.el7_3 |
| Red Hat:enterprise_linux:7::client | rpcbind-debuginfo | 0 | 0:0.2.0-38.el7_3 |
| Red Hat:enterprise_linux:7::computenode | libtirpc | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::computenode | libtirpc-debuginfo | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::computenode | libtirpc-devel | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::computenode | rpcbind | 0 | 0:0.2.0-38.el7_3 |
| Red Hat:enterprise_linux:7::computenode | rpcbind-debuginfo | 0 | 0:0.2.0-38.el7_3 |
| Red Hat:enterprise_linux:7::server | libtirpc | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::server | libtirpc-debuginfo | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::server | libtirpc-devel | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::server | rpcbind | 0 | 0:0.2.0-38.el7_3 |
| Red Hat:enterprise_linux:7::server | rpcbind-debuginfo | 0 | 0:0.2.0-38.el7_3 |
| Red Hat:enterprise_linux:7::workstation | libtirpc | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::workstation | libtirpc-debuginfo | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::workstation | libtirpc-devel | 0 | 0:0.2.4-0.8.el7_3 |
| Red Hat:enterprise_linux:7::workstation | rpcbind | 0 | 0:0.2.0-38.el7_3 |
| Red Hat:enterprise_linux:7::workstation | rpcbind-debuginfo | 0 | 0:0.2.0-38.el7_3 |
| Red Hat:storage:3.2:nfs:el6 | libntirpc | 0 | 0:1.4.3-4.el6rhs |
| Red Hat:storage:3.2:nfs:el6 | libntirpc-debuginfo | 0 | 0:1.4.3-4.el6rhs |
| Red Hat:storage:3.2:nfs:el6 | libntirpc-devel | 0 | 0:1.4.3-4.el6rhs |
| Red Hat:storage:3.2:nfs:el7 | libntirpc | 0 | 0:1.4.3-4.el7rhgs |
| Red Hat:storage:3.2:nfs:el7 | libntirpc-debuginfo | 0 | 0:1.4.3-4.el7rhgs |
| Red Hat:storage:3.2:nfs:el7 | libntirpc-devel | 0 | 0:1.4.3-4.el7rhgs |
| SUSE:Linux Enterprise Desktop 12 SP1 | libtirpc | 0 | 0.2.3-13.3.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | rpcbind | 0 | 0.2.1_rc4-17.3.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libtirpc | 0 | 1.0.1-16.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | rpcbind | 0 | 0.2.3-23.1 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | libtirpc | 0 | 0.2.1-1.12.3 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | rpcbind | 0 | 0.1.6+git20080930-6.27.2 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | libtirpc | 0 | 0.2.1-1.12.3 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | rpcbind | 0 | 0.1.6+git20080930-6.27.2 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | libtirpc | 0 | 0.2.1-1.12.3 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | rpcbind | 0 | 0.1.6+git20080930-6.27.2 |
| SUSE:Linux Enterprise Server 11 SP4 | libtirpc | 0 | 0.2.1-1.12.3 |
| SUSE:Linux Enterprise Server 11 SP4 | rpcbind | 0 | 0.1.6+git20080930-6.27.2 |
| SUSE:Linux Enterprise Server 12 SP1 | libtirpc | 0 | 0.2.3-13.3.1 |
| SUSE:Linux Enterprise Server 12 SP1 | rpcbind | 0 | 0.2.1_rc4-17.3.1 |
| SUSE:Linux Enterprise Server 12 SP2 | libtirpc | 0 | 1.0.1-16.1 |
| SUSE:Linux Enterprise Server 12 SP2 | rpcbind | 0 | 0.2.3-23.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | libtirpc | 0 | 1.0.1-16.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | rpcbind | 0 | 0.2.3-23.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | libtirpc | 0 | 0.2.1-1.12.3 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | rpcbind | 0 | 0.1.6+git20080930-6.27.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | libtirpc | 0 | 0.2.3-13.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | rpcbind | 0 | 0.2.1_rc4-17.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | libtirpc | 0 | 1.0.1-16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | rpcbind | 0 | 0.2.3-23.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | libtirpc | 0 | 0.2.1-1.12.3 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | libtirpc | 0 | 0.2.3-13.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libtirpc | 0 | 1.0.1-16.1 |
| Ubuntu:14.04:LTS | libtirpc | 0 | 0.2.2-5ubuntu2.1 |
| Ubuntu:16.04:LTS | libtirpc | 0 | 0.2.5-1ubuntu0.1 |
| Ubuntu:16.04:LTS | ntirpc | 0 | No fix |
| Ubuntu:18.04:LTS | libtirpc | 0 | 0.2.5-1.2 |
| Ubuntu:18.04:LTS | libtirpc | 0 | 0.2.5-1.2ubuntu0.1 |
| Ubuntu:18.04:LTS | ntirpc | 0 | 1.6.1-1 |
| Ubuntu:18.04:LTS | rpcbind | 0 | 0.2.3-0.6ubuntu0.18.04.2 |
| Ubuntu:20.04:LTS | rpcbind | 0 | 1.2.5-8 |
| Ubuntu:Pro:14.04:LTS | rpcbind | 0 | 0.2.1-2ubuntu2.2+esm1 |
| Ubuntu:Pro:16.04:LTS | ntirpc | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | rpcbind | 0 | 0.2.3-0.2ubuntu0.16.04.1+esm1 |
| openSUSE:Tumbleweed | rpcbind | 0 | 1.2.6-2.2 |
Related vulnerabilities
- CVE-2016-4429 Stack-based buffer overflow in the clntudp_call function in sunrpc/clnt_udp.c in the GNU… Also affects libtirpc
- CVE-2015-7236 Use-after-free vulnerability in xprt_set_caller in rpcb_svc_com.c in rpcbind 0.2.1 and… Also affects rpcbind
- CVE-2017-12133 Use-after-free vulnerability in the clntudp_call function in sunrpc/clnt_udp.c in the GNU… Also affects libtirpc
- CVE-2018-14649 It was found that ceph-isci-cli package as shipped by Red Hat Ceph Storage 2 and 3 is… Also affects ceph-iscsi-cli
- CVE-2026-114731 Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5 is affected by an uncontrolled… CWE-770
- CVE-2026-96377 Allocation of Resources Without Limits or Throttling vulnerability in Drupal Combined… CWE-770
- CVE-2026-96365 Allocation of Resources Without Limits or Throttling vulnerability in Drupal Webform… CWE-770
- CVE-2026-114723 Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5 allows the ImageMagick resource… CWE-770