CVE-2012-4508: Race Condition

Published Oct 25, 2012
·
Updated

A race condition flaw has been found in the way asynchronous I/O and fallocate interacted which can lead to exposure of stale data -- that is, an extent which should have had the "uninitialized" bit set indicating that its blocks have not yet been written and thus contain data from a deleted file. An unprivileged local user could use this flaw to cause an information leak.

Acknowledgements:

Red Hat would like to thank Theodore Ts'o for reporting this issue. Upstream acknowledges Dmitry Monakhov as the original reporter.

References:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=dee1f973ca341c266229faa5a1a5bb268bed3531

Other sources

Race condition in fs/ext4/extents.c in the Linux kernel before 3.4.16 allows local users to obtain sensitive information from a deleted file by reading an extent that was not properly marked as uninitialized.

— Launchpad

Affected Software

154 affected componentsFixes available
Linux Linux kernel<=3.4.15
Linux Linux kernel=3.0-rc1
Linux Linux kernel=3.0-rc2
Linux Linux kernel=3.0-rc3
Linux Linux kernel=3.0-rc4
Linux Linux kernel=3.0-rc5
Linux Linux kernel=3.0-rc6
Linux Linux kernel=3.0-rc7
Linux Linux kernel=3.0.1
Linux Linux kernel=3.0.2
Linux Linux kernel=3.0.3
Linux Linux kernel=3.0.4
Linux Linux kernel=3.0.5
Linux Linux kernel=3.0.6
Linux Linux kernel=3.0.7
Linux Linux kernel=3.0.8
Linux Linux kernel=3.0.9
Linux Linux kernel=3.0.10
Linux Linux kernel=3.0.11
Linux Linux kernel=3.0.12
Linux Linux kernel=3.0.13
Linux Linux kernel=3.0.14
Linux Linux kernel=3.0.15
Linux Linux kernel=3.0.16
Linux Linux kernel=3.0.17
Linux Linux kernel=3.0.18
Linux Linux kernel=3.0.19
Linux Linux kernel=3.0.20
Linux Linux kernel=3.0.21
Linux Linux kernel=3.0.22
Linux Linux kernel=3.0.23
Linux Linux kernel=3.0.24
Linux Linux kernel=3.0.25
Linux Linux kernel=3.0.26
Linux Linux kernel=3.0.27
Linux Linux kernel=3.0.28
Linux Linux kernel=3.0.29
Linux Linux kernel=3.0.30
Linux Linux kernel=3.0.31
Linux Linux kernel=3.0.32
Linux Linux kernel=3.0.33
Linux Linux kernel=3.0.34
Linux Linux kernel=3.0.35
Linux Linux kernel=3.0.36
Linux Linux kernel=3.0.37
Linux Linux kernel=3.0.38
Linux Linux kernel=3.0.39
Linux Linux kernel=3.0.40
Linux Linux kernel=3.0.41
Linux Linux kernel=3.0.42
Linux Linux kernel=3.0.43
Linux Linux kernel=3.0.44
Linux Linux kernel=3.1
Linux Linux kernel=3.1-rc1
Linux Linux kernel=3.1-rc2
Linux Linux kernel=3.1-rc3
Linux Linux kernel=3.1-rc4
Linux Linux kernel=3.1.1
Linux Linux kernel=3.1.2
Linux Linux kernel=3.1.3
Linux Linux kernel=3.1.4
Linux Linux kernel=3.1.5
Linux Linux kernel=3.1.6
Linux Linux kernel=3.1.7
Linux Linux kernel=3.1.8
Linux Linux kernel=3.1.9
Linux Linux kernel=3.1.10
Linux Linux kernel=3.2
Linux Linux kernel=3.2
Linux Linux kernel=3.2-rc2
Linux Linux kernel=3.2-rc3
Linux Linux kernel=3.2-rc4
Linux Linux kernel=3.2-rc5
Linux Linux kernel=3.2-rc6
Linux Linux kernel=3.2-rc7
Linux Linux kernel=3.2.1
Linux Linux kernel=3.2.1
Linux Linux kernel=3.2.2
Linux Linux kernel=3.2.3
Linux Linux kernel=3.2.4
Linux Linux kernel=3.2.5
Linux Linux kernel=3.2.6
Linux Linux kernel=3.2.7
Linux Linux kernel=3.2.8
Linux Linux kernel=3.2.9
Linux Linux kernel=3.2.10
Linux Linux kernel=3.2.11
Linux Linux kernel=3.2.12
Linux Linux kernel=3.2.13
Linux Linux kernel=3.2.14
Linux Linux kernel=3.2.15
Linux Linux kernel=3.2.16
Linux Linux kernel=3.2.17
Linux Linux kernel=3.2.18
Linux Linux kernel=3.2.19
Linux Linux kernel=3.2.20
Linux Linux kernel=3.2.21
Linux Linux kernel=3.2.22
Linux Linux kernel=3.2.23
Linux Linux kernel=3.2.24
Linux Linux kernel=3.2.25
Linux Linux kernel=3.2.26
Linux Linux kernel=3.2.27
Linux Linux kernel=3.2.28
Linux Linux kernel=3.2.29
Linux Linux kernel=3.2.30
Linux Linux kernel=3.3
Linux Linux kernel=3.3-rc1
Linux Linux kernel=3.3-rc2
Linux Linux kernel=3.3-rc3
Linux Linux kernel=3.3-rc4
Linux Linux kernel=3.3-rc5
Linux Linux kernel=3.3-rc6
Linux Linux kernel=3.3-rc7
Linux Linux kernel=3.3.1
Linux Linux kernel=3.3.2
Linux Linux kernel=3.3.3
Linux Linux kernel=3.3.4
Linux Linux kernel=3.3.5
Linux Linux kernel=3.3.6
Linux Linux kernel=3.3.7
Linux Linux kernel=3.3.8
Linux Linux kernel=3.4
Linux Linux kernel=3.4
Linux Linux kernel=3.4-rc1
Linux Linux kernel=3.4-rc1
Linux Linux kernel=3.4-rc2
Linux Linux kernel=3.4-rc2
Linux Linux kernel=3.4-rc3
Linux Linux kernel=3.4-rc3
Linux Linux kernel=3.4-rc4
Linux Linux kernel=3.4-rc4
Linux Linux kernel=3.4-rc5
Linux Linux kernel=3.4-rc5
Linux Linux kernel=3.4-rc6
Linux Linux kernel=3.4-rc6
Linux Linux kernel=3.4-rc7
Linux Linux kernel=3.4-rc7
Linux Linux kernel=3.4.1
Linux Linux kernel=3.4.1
Linux Linux kernel=3.4.2
Linux Linux kernel=3.4.2
Linux Linux kernel=3.4.3
Linux Linux kernel=3.4.3
Linux Linux kernel=3.4.4
Linux Linux kernel=3.4.4
Linux Linux kernel=3.4.5
Linux Linux kernel=3.4.5
Linux Linux kernel=3.4.10
Linux Linux kernel=3.4.11
Linux Linux kernel=3.4.12
Linux Linux kernel=3.4.13
Linux Linux kernel=3.4.14
debian/linux
6.1.176-16.1.190-16.12.107-16.12.116-17.2.15-17.3.3-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

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

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.116-1Fixed in 7.2.15-1Fixed in 7.3.3-1
  2. Upgrade

    Upgrade Linux kernel to a version that resolves this vulnerability.

    Fixed in 3.4.16

Event History

Oct 25, 2012
Data Sourced
via Red Hat·06:21 AM
DescriptionSeverityAffected Software
Dec 21, 2012
CVE Published
via MITRE·11:00 AM
Data Sourced
via MITRE·11:00 AM
Description

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the severity of CVE-2012-4508?

CVE-2012-4508 is classified as a medium severity vulnerability due to its potential to expose stale data.

2

How do I fix CVE-2012-4508?

To fix CVE-2012-4508, update to a Linux kernel version 5.10.223-1 or newer, or 6.1.123-1 or newer.

3

What are the affected versions for CVE-2012-4508?

CVE-2012-4508 affects Linux kernel versions up to 3.4.15 and specific release candidate versions of 3.0 and 3.1.

4

What type of vulnerability is CVE-2012-4508?

CVE-2012-4508 is a race condition vulnerability involving asynchronous I/O and fallocate operations.

5

Can CVE-2012-4508 lead to data exposure?

Yes, CVE-2012-4508 can lead to exposure of stale data from deleted files.

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