CVE-2009-4537: Input Validation

Published Dec 28, 2009
·
Updated

Description of problem: This was disclosed at 26c3.

Fabian also mentioned the fix for CVE-2009-1389 regarding the r8169 driver introduces a similar security problem as this: http://git.kernel.org/linus/fdd7b4c3302c93f6833e338903ea77245eb510b4

- RTLW16(RxMaxSize, 16383); + RTLW16(RxMaxSize, rxbufsz);

is actually a revert of this: http://git.kernel.org/linus/126fa4b9ca5d9d7cb7d46f779ad3bd3631ca387c

- / For gigabit rtl8169, MTU + header + CRC + VLAN / - RTLW16(RxMaxSize, tp->rxbufsz); + / Low hurts. Let's disable the filtering. / + RTLW16(RxMaxSize, 16383);

The accompanying comment for the original commit (126fa):

The size of the incoming frame is not correctly checked.

The RxMaxSize register (0xDA) does not work as expected and incoming frames whose size exceeds the MTU actually end spanning multiple descriptors. The first Rx descriptor contains the size of the whole frame (or some garbage in its place). The driver does not expect something above the space allocated to the current skb and crashes loudly when it issues a skbput.

The fix contains two parts: - disable hardware Rx size filtering: so far it only proved to be able to trigger some new fancy errors; [...]

warned of issues when using hardware Rx size filtering and Fabian claimed to be able to trigger something similar to the e1000 bug when using a specific packet size.

References: http://events.ccc.de/congress/2009/Fahrplan//events/3596.en.html http://blog.c22.cc/2009/12/27/26c3-cat-procsysnetipv4fuckups/ http://twitter.com/dakami/statuses/7104238406 https://bugzilla.redhat.com/CVE-2009-1389 http://www.securityfocus.com/bid/37521

Other sources

drivers/net/r8169.c in the r8169 driver in the Linux kernel 2.6.32.3 and earlier does not properly check the size of an Ethernet frame that exceeds the MTU, which allows remote attackers to (1) cause a denial of service (temporary network outage) via a packet with a crafted size, in conjunction with certain packets containing A characters and certain packets containing E characters; or (2) cause a denial of service (system crash) via a packet with a crafted size, in conjunction with certain packets containing '\0' characters, related to the value of the status register and erroneous behavior associated with the RxMaxSize register. NOTE: this vulnerability exists because of an incorrect fix for CVE-2009-1389.

Red Hat

Affected Software

7 affected componentsFixes available
redhat/kernel-rt<0:2.6.24.7-146.el5
0:2.6.24.7-146.el5
redhat/kernel<0:2.6.18-164.10.1.el5
0:2.6.18-164.10.1.el5
redhat/kernel<0:2.6.18-92.1.35.el5
0:2.6.18-92.1.35.el5
redhat/kernel<0:2.6.18-128.12.1.el5
0:2.6.18-128.12.1.el5
redhat/rhev-hypervisor<0:5.4-2.1.8.el5_4
0:5.4-2.1.8.el5_4
Linux Linux kernel<=2.6.32.3
Debian Debian Linux=5.0

Event History

Dec 28, 2009
CVE Published
via Red Hat·12:00 AM
Data Sourced
via Red Hat·03:30 AM
DescriptionSeverityAffected Software
Jan 12, 2010
CVE Published
via MITRE·05:00 PM
Data Sourced
via MITRE·05:00 PM
Description

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the severity of CVE-2009-4537?

CVE-2009-4537 has a severity rating that indicates it can lead to a denial of service due to improper handling of Ethernet frames.

2

How do I fix CVE-2009-4537?

To fix CVE-2009-4537, update your kernel to versions above 2.6.32.3 or apply the specific patches available from your Linux distribution.

3

What systems are affected by CVE-2009-4537?

CVE-2009-4537 affects Linux kernel versions 2.6.32.3 and earlier, impacting various distributions including Red Hat and Debian.

4

What type of attack does CVE-2009-4537 facilitate?

CVE-2009-4537 facilitates denial of service attacks through crafted packets that exceed the maximum transmission unit (MTU).

5

Can CVE-2009-4537 be exploited remotely?

Yes, CVE-2009-4537 can be exploited by remote attackers sending specially crafted Ethernet frames to the vulnerable system.

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