CVE-2009-3620: Input Validation

Published Oct 19, 2009
·
Updated

Quoting from the upstream commit: Almost all r128's private ioctls require that the CCE state has already been initialised. However, most do not test that this has been done, and will proceed to dereference a null pointer. This may result in a security vulnerability, since some ioctls are unprivileged.

This adds a macro for the common initialisation test and changes all ioctl implementations that require prior initialisation to use that macro.

Also, r128doinitcce() does not test that the CCE state has not been initialised already. Repeated initialisation may lead to a crash or resource leak. This adds that test.

http://git.kernel.org/linus/7dc482dfeeeefcfd000d4271c4626937406756d7

Other references: http://secunia.com/advisories/36707/

Other sources

The ATI Rage 128 (aka r128) driver in the Linux kernel before 2.6.31-git11 does not properly verify Concurrent Command Engine (CCE) state initialization, which allows local users to cause a denial of service (NULL pointer dereference and system crash) or possibly gain privileges via unspecified ioctl calls.

MITRE

Affected Software

353 affected components
Linux Linux kernel=2.6.27.29
Linux Linux kernel=2.6.27.12
Linux Linux kernel=2.6.20.6
Linux Linux kernel=2.6.20.9
Linux Linux kernel=2.6.18-rc3
Linux Linux kernel=2.6.11
Linux Linux kernel=2.6.23.4
Linux Linux kernel=2.6.22.15
Linux Linux kernel=2.6.16.16
Linux Linux kernel=2.6.18.7
Linux Linux kernel=2.6.17.12
Linux Linux kernel=2.6.16.39
Linux Linux kernel=2.6.27.3
Linux Linux kernel=2.6.31
Linux Linux kernel=2.6.29.3
Linux Linux kernel=2.6.21
Linux Linux kernel=2.6.16.9
Linux Linux kernel=2.6.17.9
Linux Linux kernel=2.6.11.2
Linux Linux kernel=2.6.27.1
Linux Linux kernel=2.6.5
Linux Linux kernel=2.6.15.3
Linux Linux kernel=2.6.27.30
Linux Linux kernel=2.6.11.10
Linux Linux kernel=2.6.24.7
Linux Linux kernel=2.6.1
Linux Linux kernel=2.6.16.43
Linux Linux kernel=2.6.16.6
Linux Linux kernel=2.6.16.8
Linux Linux kernel=2.6.20.13
Linux Linux kernel=2.6.22.4
Linux Linux kernel=2.6.27.34
Linux Linux kernel=2.6.14.7
Linux Linux kernel=2.6.18-rc2
Linux Linux kernel=2.6.27.18
Linux Linux kernel=2.6.13
Linux Linux kernel=2.6.17.2
Linux Linux kernel=2.6.13.3
Linux Linux kernel=2.6.23.13
Linux Linux kernel=2.6.11.8
Linux Linux kernel=2.6.24.2
Linux Linux kernel=2.6.18-rc5
Linux Linux kernel=2.6.26.5
Linux Linux kernel=2.6.16.34
Linux Linux kernel=2.6.25.20
Linux Linux kernel=2.6.27.37
Linux Linux kernel=2.6.27.21
Linux Linux kernel=2.6.18-rc4
Linux Linux kernel=2.6.23.7
Linux Linux kernel=2.6.17.8
Linux Linux kernel=2.6.14.4
Linux Linux kernel=2.6.14
Linux Linux kernel=2.6.25.5
Linux Linux kernel=2.6.17.4
Linux Linux kernel=2.6.16.18
Linux Linux kernel=2.6.27.27
Linux Linux kernel=2.6.17.14
Linux Linux kernel=2.6.10
Linux Linux kernel=2.6.23.8
Linux Linux kernel=2.6.16.45
Linux Linux kernel=2.6.22.12
Linux Linux kernel=2.6.25.18
Linux Linux kernel=2.6.14.3
Linux Linux kernel=2.6.29
Linux Linux kernel=2.6.24-rc3
Linux Linux kernel=2.6.18.3
Linux Linux kernel=2.6.16.37
Linux Linux kernel=2.6.11.6
Linux Linux kernel=2.6.16.48
Linux Linux kernel=2.6.11.11
Linux Linux kernel=2.6.16.13
Linux Linux kernel=2.6.27.10
Linux Linux kernel=2.6.3
Linux Linux kernel=2.6.21.6
Linux Linux kernel=2.6.26.6
Linux Linux kernel=2.6.22.1
Linux Linux kernel=2.6.27.17
Linux Linux kernel=2.6.16.4
Linux Linux kernel=2.6.23.16
Linux Linux kernel=2.6.17.3
Linux Linux kernel=2.6.24.1
Linux Linux kernel=2.6.20.5
Linux Linux kernel=2.6.22
Linux Linux kernel=2.6.28.4
Linux Linux kernel=2.6.4
Linux Linux kernel=2.6.27.16
Linux Linux kernel=2.6.26
Linux Linux kernel=2.6.16.15
Linux Linux kernel=2.6.27.20
Linux Linux kernel=2.6.15.6
Linux Linux kernel=2.6.24-rc5
Linux Linux kernel=2.6.26.3
Linux Linux kernel=2.6.20.16
Linux Linux kernel=2.6.15.1
Linux Linux kernel=2.6.11.5
Linux Linux kernel=2.6.28.2
Linux Linux kernel=2.6.25.9
Linux Linux kernel=2.6.19.3
Linux Linux kernel=2.6.27.4
Linux Linux kernel=2.6.27
Linux Linux kernel=2.6.19.4
Linux Linux kernel=2.6.25.13
Linux Linux kernel=2.6.28.5
Linux Linux kernel=2.6.19.1
Linux Linux kernel=2.6.18.4
Linux Linux kernel=2.6.16.1
Linux Linux kernel=2.6.18.1
Linux Linux kernel=2.6.20.21
Linux Linux kernel=2.6.27.33
Linux Linux kernel=2.6.27.13
Linux Linux kernel=2.6.23.1
Linux Linux kernel=2.6.2
Linux Linux kernel=2.6.14.5
Linux Linux kernel=2.6.13.2
Linux Linux kernel=2.6.17.5
Linux Linux kernel=2.6.24-rc4
Linux Linux kernel=2.6.18.5
Linux Linux kernel=2.6.21.1
Linux Linux kernel=2.6.16.32
Linux Linux kernel=2.6.13.5
Linux Linux kernel=2.6.16.57
Linux Linux kernel=2.6.16.49
Linux Linux kernel=2.6.25.3
Linux Linux kernel=2.6.27.36
Linux Linux kernel=2.6.17
Linux Linux kernel=2.6.24
Linux Linux kernel=2.6.19.2
Linux Linux kernel=2.6.26.2
Linux Linux kernel=2.6.21.4
Linux Linux kernel=2.6.16.11
Linux Linux kernel=2.6.20.17
Linux Linux kernel=2.6.16.14
Linux Linux kernel=2.6.20.12
Linux Linux kernel=2.6.16.25
Linux Linux kernel=2.6.27.15
Linux Linux kernel=2.6.16.21
Linux Linux kernel=2.6.16.33
Linux Linux kernel=2.6.30.7
Linux Linux kernel=2.6.8
Linux Linux kernel=2.6.16.28
Linux Linux kernel=2.6.17.10
Linux Linux kernel=2.6.21.5
Linux Linux kernel=2.6.25.15
Linux Linux kernel=2.6.14.1
Linux Linux kernel=2.6.23.15
Linux Linux kernel=2.6.16.23
Linux Linux kernel=2.6.29.4
Linux Linux kernel=2.6.12.5
Linux Linux kernel=2.6.15.7
Linux Linux kernel=2.6.20
Linux Linux kernel=2.6.23.10
Linux Linux kernel=2.6.22.7
Linux Linux kernel=2.6.27.26
Linux Linux kernel=2.6.16.3
Linux Linux kernel=2.6.27.8
Linux Linux kernel=2.6.24-rc1
Linux Linux kernel=2.6.26.1
Linux Linux kernel=2.6.25.19
Linux Linux kernel=2.6.20.20
Linux Linux kernel=2.6.16.36
Linux Linux kernel=2.6.30.8
Linux Linux kernel=2.6.14.6
Linux Linux kernel=2.6.12.1
Linux Linux kernel=2.6.27.9
Linux Linux kernel=2.6.11.9
Linux Linux kernel=2.6.16.46
Linux Linux kernel=2.6.17.1
Linux Linux kernel=2.6.20.8
Linux Linux kernel=2.6.27.25
Linux Linux kernel=2.6.30.9
Linux Linux kernel=2.6.20.15
Linux Linux kernel=2.6.22.18
Linux Linux kernel=2.6.0
Linux Linux kernel<=2.6.31.1
Linux Linux kernel=2.6.25.8
Linux Linux kernel=2.6.16.54
Linux Linux kernel=2.6.13.4
Linux Linux kernel=2.6.23-rc2
Linux Linux kernel=2.6.20.18
Linux Linux kernel=2.6.23.9
Linux Linux kernel=2.6.22.6
Linux Linux kernel=2.6.23.3
Linux Linux kernel=2.6.18.8
Linux Linux kernel=2.6.22.3
Linux Linux kernel=2.6.12.2
Linux Linux kernel=2.6.16.31
Linux Linux kernel=2.6.16.26
Linux Linux kernel=2.6.16.62
Linux Linux kernel=2.6.18.2
Linux Linux kernel=2.6.28.8
Linux Linux kernel=2.6.16.29
Linux Linux kernel=2.6.29.1
Linux Linux kernel=2.6.23-rc1
Linux Linux kernel=2.6.24.4
Linux Linux kernel=2.6.27.19
Linux Linux kernel=2.6.25.16
Linux Linux kernel=2.6.22.9
Linux Linux kernel=2.6.25.17
Linux Linux kernel=2.6.20.11
Linux Linux kernel=2.6.19
Linux Linux kernel=2.6.20.3
Linux Linux kernel=2.6.16
Linux Linux kernel=2.6.30.4
Linux Linux kernel=2.6.28.3
Linux Linux kernel=2.6.22.13
Linux Linux kernel=2.6.19.7
Linux Linux kernel=2.6.21.3
Linux Linux kernel=2.6.27.28
Linux Linux kernel=2.6.24.5
Linux Linux kernel=2.6.16.51
Linux Linux kernel=2.6.15.2
Linux Linux kernel=2.6.20.19
Linux Linux kernel=2.6.16.22
Linux Linux kernel=2.6.22.17
Linux Linux kernel=2.6.16.58
Linux Linux kernel=2.6.16.40
Linux Linux kernel=2.6.27.35
Linux Linux kernel=2.6.16.47
Linux Linux kernel=2.6.16.42
Linux Linux kernel=2.6.27.22
Linux Linux kernel=2.6.23.14
Linux Linux kernel=2.6.17.11
Linux Linux kernel=2.6.16.10
Linux Linux kernel=2.6.12.4
Linux Linux kernel=2.6.16.41
Linux Linux kernel=2.6.16.52
Linux Linux kernel=2.6.11.3
Linux Linux kernel=2.6.20.10
Linux Linux kernel=2.6.16.24
Linux Linux kernel=2.6.25.10
Linux Linux kernel=2.6.22.11
Linux Linux kernel=2.6.16.55
Linux Linux kernel=2.6.23
Linux Linux kernel=2.6.12.3
Linux Linux kernel=2.6.22.10
Linux Linux kernel=2.6.29.6
Linux Linux kernel=2.6.23.17
Linux Linux kernel=2.6.27.5
Linux Linux kernel=2.6.23.2
Linux Linux kernel=2.6.25.1
Linux Linux kernel=2.6.25.4
Linux Linux kernel=2.6.28.9
Linux Linux kernel=2.6.30.2
Linux Linux kernel=2.6.7
Linux Linux kernel=2.6.21.7
Linux Linux kernel=2.6.30.6
Linux Linux kernel=2.6.16.30
Linux Linux kernel=2.6.21.2
Linux Linux kernel=2.6.15.4
Linux Linux kernel=2.6.27.7
Linux Linux kernel=2.6.16.59
Linux Linux kernel=2.6.30.1
Linux Linux kernel=2.6.16.38
Linux Linux kernel=2.6.24-rc2
Linux Linux kernel=2.6.16.17
Linux Linux kernel=2.6.26.8
Linux Linux kernel=2.6.20.2
Linux Linux kernel=2.6.28.6
Linux Linux kernel=2.6.16.12
Linux Linux kernel=2.6.16.27
Linux Linux kernel=2.6.16.53
Linux Linux kernel=2.6.28.7
Linux Linux kernel=2.6.18-rc7
Linux Linux kernel=2.6.12.6
Linux Linux kernel=2.6.17.7
Linux Linux kernel=2.6.20.1
Linux Linux kernel=2.6.11.7
Linux Linux kernel=2.6.16.2
Linux Linux kernel=2.6.24.6
Linux Linux kernel=2.6.18.6
Linux Linux kernel=2.6.15
Linux Linux kernel=2.6.27.32
Linux Linux kernel=2.6.16.44
Linux Linux kernel=2.6.23.12
Linux Linux kernel=2.6.16.35
Linux Linux kernel=2.6.19.6
Linux Linux kernel=2.6.16.50
Linux Linux kernel=2.6.25.11
Linux Linux kernel=2.6.27.31
Linux Linux kernel=2.6.18-rc6
Linux Linux kernel=2.6.29.2
Linux Linux kernel=2.6.23.5
Linux Linux kernel=2.6.22.8
Linux Linux kernel=2.6.14.2
Linux Linux kernel=2.6.16.61
Linux Linux kernel=2.6.19.5
Linux Linux kernel=2.6.18
Linux Linux kernel=2.6.27.24
Linux Linux kernel=2.6.20.4
Linux Linux kernel=2.6.17.6
Linux Linux kernel=2.6.23.6
Linux Linux kernel=2.6.27.2
Linux Linux kernel=2.6.16.7
Linux Linux kernel=2.6.17.13
Linux Linux kernel=2.6.16.60
Linux Linux kernel=2.6.22.2
Linux Linux kernel=2.6.8.1
Linux Linux kernel=2.6.27.11
Linux Linux kernel=2.6.16.56
Linux Linux kernel=2.6.22.19
Linux Linux kernel=2.6.24.3
Linux Linux kernel=2.6.25
Linux Linux kernel=2.6.20.14
Linux Linux kernel=2.6.25.2
Linux Linux kernel=2.6.22.5
Linux Linux kernel=2.6.25.7
Linux Linux kernel=2.6.30.5
Linux Linux kernel=2.6.25.14
Linux Linux kernel=2.6.20.7
Linux Linux kernel=2.6.28.1
Linux Linux kernel=2.6.16.5
Linux Linux kernel=2.6.30
Linux Linux kernel=2.6.11.4
Linux Linux kernel=2.6.26.4
Linux Linux kernel=2.6.25.12
Linux Linux kernel=2.6.16.19
Linux Linux kernel=2.6.27.6
Linux Linux kernel=2.6.26.7
Linux Linux kernel=2.6.25.6
Linux Linux kernel=2.6.11.12
Linux Linux kernel=2.6.16.20
Linux Linux kernel=2.6.15.5
Linux Linux kernel=2.6.28.10
Linux Linux kernel=2.6.22.16
Linux Linux kernel=2.6.11.1
Linux Linux kernel=2.6.30.3
Linux Linux kernel=2.6.18-rc1
Linux Linux kernel=2.6.9
Linux Linux kernel=2.6.27.23
Linux Linux kernel=2.6.13.1
Linux Linux kernel=2.6.23.11
Linux Linux kernel=2.6.27.14
Linux Linux kernel=2.6.28
Linux Linux kernel=2.6.29.5
Linux Linux kernel=2.6.22.14
Linux Linux kernel=2.6.6
Linux Linux kernel=2.6.12
Linux Linux kernel<2.6.31.1
Fedoraproject Fedora=10
Canonical Ubuntu Linux=6.06
Canonical Ubuntu Linux=8.04
Canonical Ubuntu Linux=8.10
Canonical Ubuntu Linux=9.04
Canonical Ubuntu Linux=9.10
redhat Mrg Realtime=1.0
SUSE Linux Enterprise Debuginfo=10-sp2
SUSE Linux Enterprise Debuginfo=10-sp3
openSUSE openSUSE=11.0
SUSE Linux Enterprise Desktop=10-sp2
SUSE Linux Enterprise Desktop=10-sp3
SUSE Linux Enterprise Server=8
SUSE Linux Enterprise Server=10-sp2
SUSE Linux Enterprise Server=10-sp3

Event History

Oct 19, 2009
Data Sourced
via Red Hat·04:52 AM
DescriptionSeverityAffected Software
Oct 22, 2009
CVE Published
via MITRE·03:26 PM
Data Sourced
via MITRE·03:26 PM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2009-3620?

CVE-2009-3620 has been rated as high severity due to the potential for privilege escalation.

2

How do I fix CVE-2009-3620?

To fix CVE-2009-3620, you should update the Linux kernel to a version that incorporates the necessary patches.

3

Which systems are affected by CVE-2009-3620?

CVE-2009-3620 affects various versions of the Linux kernel, including those prior to 2.6.31.1.

4

What are the symptoms of exploitation of CVE-2009-3620?

Exploitation of CVE-2009-3620 may lead to system crashes, unexpected behavior, or unauthorized access to system resources.

5

Is there a workaround for CVE-2009-3620?

Currently, the best workaround for CVE-2009-3620 is to restrict access to the affected ioctl calls until a patch can be applied.

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