CVE-2014-3619
NoneCVSS
—
EPSS
2.7%
Published
Mar 27, 2015
CISA due date
—
Cloudanix analysis
Attackers can send a special network message that makes a storage service stop responding, interrupting access to files until the service is restarted.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Remote attacker can send a crafted 00000000 fragment header that triggers an infinite loop inside the __socket_proto_state_machine function, consuming CPU and preventing further request processing.
Why it matters to the business
GlusterFS storage nodes become unresponsive, causing file-service outages and potential data-access disruption for any dependent applications until the affected process is restarted.
How an attack unfolds
An unauthenticated attacker sends a single specially crafted network fragment containing the 00000000 header to a GlusterFS server; the state machine enters an infinite loop and stops servicing legitimate clients.
How to fix it
Upgrade GlusterFS to a release that resolves the infinite-loop condition in __socket_proto_state_machine; if no fixed package is available, isolate or firewall the service until an update can be applied.
How to confirm the fix worked
Confirm GlusterFS version is newer than 3.5 and test that a 00000000 fragment no longer produces an infinite loop; monitor CPU and request-handling behavior under crafted traffic.
Typical attack path
- Locate exposed GlusterFS TCP ports
- Craft and transmit a fragment header containing 00000000
- Trigger infinite loop in the protocol state machine
- Observe sustained high CPU and loss of service
How to detect it
Review GlusterFS process logs and system logs for repeated state-machine entries or sustained high CPU on the glusterfsd process; inspect network captures for fragments carrying the literal 00000000 header.
- 00000000 fragment header in GlusterFS protocol traffic
- sustained high CPU utilization on glusterfsd process
- repeated __socket_proto_state_machine log entries without progress
What your security team should do
- Apply the latest GlusterFS package as soon as it becomes available
- Restrict network access to GlusterFS ports to trusted clients only
- Add network-level filtering to drop fragments containing the 00000000 header pattern
- Monitor process CPU usage for sudden sustained spikes on GlusterFS nodes
The record
The __socket_proto_state_machine function in GlusterFS 3.5 allows remote attackers to cause a denial of service (infinite loop) via a "00000000" fragment header.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | glusterfs | 0 | 3.5.2-2 |
| Debian:12 | glusterfs | 0 | 3.5.2-2 |
| Debian:13 | glusterfs | 0 | 3.5.2-2 |
| Mageia:4 | glusterfs | 0 | 3.4.1-1.2.mga4 |
| Red Hat:rhel_common:7::el7 | glusterfs | 0 | 0:3.6.0.42-1.el7 |
| Red Hat:rhel_common:7::el7 | glusterfs-api | 0 | 0:3.6.0.42-1.el7 |
| Red Hat:rhel_common:7::el7 | glusterfs-api-devel | 0 | 0:3.6.0.42-1.el7 |
| Red Hat:rhel_common:7::el7 | glusterfs-debuginfo | 0 | 0:3.6.0.42-1.el7 |
| Red Hat:rhel_common:7::el7 | glusterfs-devel | 0 | 0:3.6.0.42-1.el7 |
| Red Hat:rhel_common:7::el7 | glusterfs-fuse | 0 | 0:3.6.0.42-1.el7 |
| Red Hat:rhel_common:7::el7 | glusterfs-libs | 0 | 0:3.6.0.42-1.el7 |
| Red Hat:rhel_common:7::el7 | glusterfs-rdma | 0 | 0:3.6.0.42-1.el7 |
| Red Hat:storage:2:client:el5 | glusterfs | 0 | 0:3.6.0.42-1.el5 |
| Red Hat:storage:2:client:el5 | glusterfs-api | 0 | 0:3.6.0.42-1.el5 |
| Red Hat:storage:2:client:el5 | glusterfs-api-devel | 0 | 0:3.6.0.42-1.el5 |
| Red Hat:storage:2:client:el5 | glusterfs-debuginfo | 0 | 0:3.6.0.42-1.el5 |
| Red Hat:storage:2:client:el5 | glusterfs-devel | 0 | 0:3.6.0.42-1.el5 |
| Red Hat:storage:2:client:el5 | glusterfs-fuse | 0 | 0:3.6.0.42-1.el5 |
| Red Hat:storage:2:client:el5 | glusterfs-libs | 0 | 0:3.6.0.42-1.el5 |
| Red Hat:storage:2:client:el5 | glusterfs-rdma | 0 | 0:3.6.0.42-1.el5 |
| Red Hat:storage:3:client:el6 | glusterfs | 0 | 0:3.6.0.42-1.el6 |
| Red Hat:storage:3:client:el6 | glusterfs-api | 0 | 0:3.6.0.42-1.el6 |
| Red Hat:storage:3:client:el6 | glusterfs-api-devel | 0 | 0:3.6.0.42-1.el6 |
| Red Hat:storage:3:client:el6 | glusterfs-debuginfo | 0 | 0:3.6.0.42-1.el6 |
| Red Hat:storage:3:client:el6 | glusterfs-devel | 0 | 0:3.6.0.42-1.el6 |
| Red Hat:storage:3:client:el6 | glusterfs-fuse | 0 | 0:3.6.0.42-1.el6 |
| Red Hat:storage:3:client:el6 | glusterfs-libs | 0 | 0:3.6.0.42-1.el6 |
| Red Hat:storage:3:client:el6 | glusterfs-rdma | 0 | 0:3.6.0.42-1.el6 |
| Red Hat:storage:3:nagios:el6 | gluster-nagios-common | 0 | 0:0.1.4-1.el6rhs |
| Red Hat:storage:3:server:el6 | gluster-nagios-addons | 0 | 0:0.1.14-1.el6rhs |
| Red Hat:storage:3:server:el6 | gluster-nagios-addons-debuginfo | 0 | 0:0.1.14-1.el6rhs |
| Red Hat:storage:3:server:el6 | gluster-nagios-common | 0 | 0:0.1.4-1.el6rhs |
| Red Hat:storage:3:server:el6 | glusterfs | 0 | 0:3.6.0.42-1.el6rhs |
| Red Hat:storage:3:server:el6 | glusterfs-api | 0 | 0:3.6.0.42-1.el6rhs |
| Red Hat:storage:3:server:el6 | glusterfs-api-devel | 0 | 0:3.6.0.42-1.el6rhs |
| Red Hat:storage:3:server:el6 | glusterfs-cli | 0 | 0:3.6.0.42-1.el6rhs |
| Red Hat:storage:3:server:el6 | glusterfs-debuginfo | 0 | 0:3.6.0.42-1.el6rhs |
| Red Hat:storage:3:server:el6 | glusterfs-devel | 0 | 0:3.6.0.42-1.el6rhs |
| Red Hat:storage:3:server:el6 | glusterfs-fuse | 0 | 0:3.6.0.42-1.el6rhs |
| Red Hat:storage:3:server:el6 | glusterfs-geo-replication | 0 | 0:3.6.0.42-1.el6rhs |
| Red Hat:storage:3:server:el6 | glusterfs-libs | 0 | 0:3.6.0.42-1.el6rhs |
| Red Hat:storage:3:server:el6 | glusterfs-rdma | 0 | 0:3.6.0.42-1.el6rhs |
| Red Hat:storage:3:server:el6 | glusterfs-server | 0 | 0:3.6.0.42-1.el6rhs |
| Red Hat:storage:3:server:el6 | gstatus | 0 | 0:0.62-1.el6rhs |
| Red Hat:storage:3:server:el6 | gstatus-debuginfo | 0 | 0:0.62-1.el6rhs |
| Red Hat:storage:3:server:el6 | libsmbclient | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | libsmbclient-devel | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | openstack-swift | 0 | 0:1.13.1-2.el6ost |
| Red Hat:storage:3:server:el6 | openstack-swift-account | 0 | 0:1.13.1-2.el6ost |
| Red Hat:storage:3:server:el6 | openstack-swift-container | 0 | 0:1.13.1-2.el6ost |
| Red Hat:storage:3:server:el6 | openstack-swift-doc | 0 | 0:1.13.1-2.el6ost |
| Red Hat:storage:3:server:el6 | openstack-swift-object | 0 | 0:1.13.1-2.el6ost |
| Red Hat:storage:3:server:el6 | openstack-swift-plugin-swift3 | 0 | 0:1.7-3.el6ost |
| Red Hat:storage:3:server:el6 | openstack-swift-proxy | 0 | 0:1.13.1-2.el6ost |
| Red Hat:storage:3:server:el6 | python-paste-deploy | 0 | 0:1.5.0-10.el6ost |
| Red Hat:storage:3:server:el6 | python-swiftclient | 0 | 0:2.1.0-2.el6ost |
| Red Hat:storage:3:server:el6 | python-swiftclient-doc | 0 | 0:2.1.0-2.el6ost |
| Red Hat:storage:3:server:el6 | redhat-storage-server | 0 | 0:3.0.3.4-1.el6rhs |
| Red Hat:storage:3:server:el6 | samba | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | samba-client | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | samba-common | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | samba-debuginfo | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | samba-doc | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | samba-domainjoin-gui | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | samba-glusterfs | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | samba-swat | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | samba-winbind | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | samba-winbind-clients | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | samba-winbind-devel | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | samba-winbind-krb5-locator | 0 | 0:3.6.509-169.4.el6rhs |
| Red Hat:storage:3:server:el6 | swiftonfile | 0 | 0:1.13.1-2.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-api | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-cli | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-debug-plugin | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-debuginfo | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-gluster | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-hook-faqemu | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-hook-openstacknet | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-hook-qemucmdline | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-jsonrpc | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-python | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-python-zombiereaper | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-reg | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-tests | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-xmlrpc | 0 | 0:4.14.7.3-1.el6rhs |
| Red Hat:storage:3:server:el6 | vdsm-yajsonrpc | 0 | 0:4.14.7.3-1.el6rhs |
| Ubuntu:Pro:14.04:LTS | glusterfs | 0 | 3.4.2-1ubuntu1+esm1 |
| Ubuntu:Pro:16.04:LTS | glusterfs | 0 | 3.7.6-1ubuntu1+esm1 |
| Ubuntu:Pro:18.04:LTS | glusterfs | 0 | 3.13.2-1ubuntu1+esm1 |
Related vulnerabilities
- CVE-2014-7960 OpenStack Object Storage (Swift) before 2.2.0 allows remote authenticated users to bypass… Also affects glusterfs
- CVE-2026-41983 Null pointer dereference vulnerability in the browser module. Impact: Successful… CWE-399
- CVE-2015-9252 An issue was discovered in QPDF before 7.0.0. CWE-399
- CVE-2012-0881 Apache Xerces2 Java Parser before 2.12.0 allows remote attackers to cause a denial of… CWE-399
- CVE-2015-7944 The RESTful control interface (aka RAPI or ganeti-rapi) in Ganeti before 2.9.7, 2.10.x… CWE-399
- CVE-2015-8855 The semver package before 4.3.2 for Node.js allows attackers to cause a denial of service… CWE-399
- CVE-2015-8858 The uglify-js package before 2.6.0 for Node.js allows attackers to cause a denial of… CWE-399
- CVE-2016-9312 ntpd in NTP before 4.2.8p9, when running on Windows, allows remote attackers to cause a… CWE-399