CVE-2015-5156: Buffer Overflow

Published Jul 16, 2015
·
Updated

Last updated 24 July 2024

Other sources

The virtnetprobe function in drivers/net/virtionet.c in the Linux kernel before 4.2 attempts to support a FRAGLIST feature without proper memory allocation, which allows guest OS users to cause a denial of service (buffer overflow and memory corruption) via a crafted sequence of fragmented packets.

— Launchpad

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 NETIFFFRAGLIST and assumes that there are at most MAXSKBFRAGS + 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 skbtosgvec 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: http://marc.info/?l=linux-netdev&m=143868216724068&w=2

References: http://www.openwall.com/lists/oss-security/2015/08/06/1

Acknowledgements:

This issue was discovered by Jason Wang of Red Hat.

— Red Hat

Affected Software

25 affected componentsFixes available
Linux Linux kernel<=4.1.10
debian/linux
5.10.223-15.10.234-16.1.129-16.1.135-16.12.25-16.12.27-1
ubuntu/linux<3.13.0-66.108
3.13.0-66.108
ubuntu/linux-lts-utopic<3.16.0-51.69~14.04.1
3.16.0-51.69~14.04.1
ubuntu/linux-lts-vivid<3.19.0-31.36~14.04.1
3.19.0-31.36~14.04.1
ubuntu/linux-azure*
ubuntu/linux-gcp*
ubuntu/linux-hwe*
ubuntu/linux-hwe-edge*
ubuntu/linux-azure-fde*
ubuntu/linux-azure-fde-5.15*
ubuntu/linux-gke*
ubuntu/linux-gkeop*
ubuntu/linux-raspi2*
ubuntu/linux-riscv*
ubuntu/linux-intel-iot-realtime*
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-azure-6.11*
ubuntu/linux-gcp-6.11*
ubuntu/linux-hwe-6.11*
ubuntu/linux-lowlatency-hwe-6.11*
ubuntu/linux-raspi-realtime*
ubuntu/linux-realtime*
ubuntu/linux-riscv*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.223-1Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.25-1Fixed in 6.12.27-1
  2. Upgrade

    Upgrade ubuntu/linux to a version that resolves this vulnerability.

    Fixed in 3.13.0-66.108
  3. Upgrade

    Upgrade ubuntu/linux-lts-utopic to a version that resolves this vulnerability.

    Fixed in 3.16.0-51.69~14.04.1
  4. Upgrade

    Upgrade ubuntu/linux-lts-vivid to a version that resolves this vulnerability.

    Fixed in 3.19.0-31.36~14.04.1
  5. Upgrade

    Upgrade Linux kernel to a version that resolves this vulnerability.

    Fixed in 4.2

Event History

Jul 16, 2015
Data Sourced
via Red Hat·01:14 PM
DescriptionSeverityAffected Software
Aug 6, 2015
CVE Published
via OSV·12:00 AM
Data Sourced
via OSV·12:00 AM
DescriptionSeverityAffected Software
Oct 19, 2015
CVE Published
via MITRE·10:00 AM
Data Sourced
via MITRE·10:00 AM
Description

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203