First published: Thu Jul 16 2015(Updated: )
When a guests KVM network devices is in a bridge configuration the kernel can create a situation in which packets are fragmented in an unexpected fashion. The GRO functionality can create a situation in which multiple SKB's are chained together in a single packets fraglist (by design). The virtio module declares support for NETIF_F_FRAGLIST and assumes that there are at most MAX_SKB_FRAGS + 2 fragments which isn't always true with a fraglist, when GRO is enabled on the incoming driver it can create more fragments than expected. A longer than expected fragment list in the socket buffer will make the call to skb_to_sgvec overflow the sg array, leading to memory corruption. It is unlikely that an attacker can use this as controlled memory corruption to execute arbitrary code. Upstream patch: <a href="http://marc.info/?l=linux-netdev&m=143868216724068&w=2">http://marc.info/?l=linux-netdev&m=143868216724068&w=2</a> References: <a href="http://www.openwall.com/lists/oss-security/2015/08/06/1">http://www.openwall.com/lists/oss-security/2015/08/06/1</a> Acknowledgements: This issue was discovered by Jason Wang of Red Hat.
Affected Software | Affected Version | How to fix |
---|---|---|
Red Hat Linux |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
REDHAT-BUG-1243852 has been categorized as a moderate severity vulnerability.
To fix REDHAT-BUG-1243852, ensure you update the Red Hat Linux Kernel to the latest version that addresses this issue.
REDHAT-BUG-1243852 affects systems running the Red Hat Linux Kernel with KVM network devices in a bridge configuration.
REDHAT-BUG-1243852 can lead to unexpected packet fragmentation, potentially degrading network performance.
While a definitive workaround is not available, limiting the use of the GRO functionality in bridge configurations may mitigate some effects.