---
title: "CVE-2010-2240\n    | Ubuntu"
description: Ubuntu is an open source software operating system that runs from the
  desktop, to the cloud, to all your internet connected things.
url: https://ubuntu.com/security/CVE-2010-2240?format=md
keywords: index, follow
---

# CVE-2010-2240

Publication date 17 August 2010

Last updated 24 July 2024

---

Ubuntu priority

**Medium**

[Why this priority?](https://ubuntu.com/security/cves/about#priority )

Toggle side navigation

## Description

The do\_anonymous\_page function in mm/memory.c in the Linux kernel before
2.6.27.52, 2.6.32.x before 2.6.32.19, 2.6.34.x before 2.6.34.4, and
2.6.35.x before 2.6.35.2 does not properly separate the stack and the heap,
which allows context-dependent attackers to execute arbitrary code by
writing to the bottom page of a shared memory segment, as demonstrated by a
memory-exhaustion attack against the X.Org X server.

### From the Ubuntu Security Team

Gael Delalleu, Rafal Wojtczuk, and Brad Spengler discovered that the memory
manager did not properly handle when applications grow stacks into adjacent
memory regions. A local attacker could exploit this to gain control of
certain applications, potentially leading to privilege escalation, as
demonstrated in attacks against the X server.

[Read the notes from the security team](https://ubuntu.com/security/CVE-2010-2240?format=md#notes)

## Status

Show unmaintained releases

| Package | Ubuntu Release | Status |
| --- | --- | --- |
| linux | 10.10 maverick | Fixed 2.6.35-16.22 |
| 10.04 LTS lucid | Fixed 2.6.32-24.41 |
| 9.10 karmic | Fixed 2.6.31-22.63 |
| 9.04 jaunty | Fixed 2.6.28-19.64 |
| 8.04 LTS hardy | Fixed 2.6.24-28.75 |
| 6.06 LTS dapper | Not in release |
| linux-ec2 | 10.10 maverick | Ignored end of life |
| 10.04 LTS lucid | Fixed 2.6.32-308.15 |
| 9.10 karmic | Fixed 2.6.31-307.17 |
| 8.04 LTS hardy | Not in release |
| 6.06 LTS dapper | Not in release |
| linux-fsl-imx51 | 10.10 maverick | Not in release |
| 10.04 LTS lucid | Fixed 2.6.31-608.19 |
| 9.10 karmic | Fixed 2.6.31-112.30 |
| 8.04 LTS hardy | Not in release |
| 6.06 LTS dapper | Not in release |
| linux-mvl-dove | 10.10 maverick | Not affected |
| 10.04 LTS lucid | Fixed 2.6.32-208.24 |
| 9.10 karmic | Fixed 2.6.31-214.30 |
| 8.04 LTS hardy | Not in release |
| 6.06 LTS dapper | Not in release |
| linux-source-2.6.15 | 10.10 maverick | Not in release |
| 10.04 LTS lucid | Not in release |
| 9.10 karmic | Not in release |
| 9.04 jaunty | Not in release |
| 8.04 LTS hardy | Not in release |
| 6.06 LTS dapper | Fixed 2.6.15-55.87 |

---

* [How can I get the fixes?](https://ubuntu.com/security/cves/about#security)
* [What do statuses mean?](https://ubuntu.com/security/cves/about#statuses)
* [Patch details](https://ubuntu.com/security/CVE-2010-2240?format=md#patch-details)

## Notes

---

### [smb](https://launchpad.net/~smb)

There seem to be three follow-up patches upstream (one of them is not
CCed to stable, but should be (gets fixed up actually)).

---

### [jdstrand](https://launchpad.net/~jdstrand)

caused regression in Xen on hardy

### Patch details

For informational purposes only. We recommend not to cherry-pick updates. [How can I get the fixes?](https://ubuntu.com/security/cves/about#security)

| Package | Patch details |
| --- | --- |
| linux | * Upstream:   <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=320b2b8de12698082609ebbc1a17165727f4c893> * Upstream:   <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5528f9132cf65d4d892bcbc5684c61e7822b21e9> * Upstream:   <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=11ac552477e32835cb6970bf0a70c210807f5673> * Upstream:   <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d7824370e26325c881b665350ce64fb0a4fde24a> * Upstream:   <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=96054569190bdec375fe824e48ca1f4e3b53dd36> * Hardy:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/hardy/linux/0001-mm-keep-a-guard-page-below-a-grow-down-stack-segment.txt> * Hardy:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/hardy/linux/0002-mm-fix-missing-page-table-unmap-for-stack-guard-page-f.txt> * Hardy:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/hardy/linux/0003-mm-fix-page-table-unmap-for-stack-guard-page-properly.txt> * Hardy:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/hardy/linux/0004-mm-fix-up-some-user-visible-effects-of-the-stack-guard.txt> * Hardy:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/hardy/linux/0005-x86-don-t-send-SIGBUS-for-kernel-page-faults.txt> * Hardy:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/hardy/linux/0006-mm-pass-correct-mm-when-growing-stack.txt> * Hardy:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/hardy/linux/0007-OPENVZ-Fixup-patches-to-memory.c-and-mlock.c.txt> * Jaunty:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/jaunty/linux/0001-mm-keep-a-guard-page-below-a-grow-down-stack-segment.txt> * Jaunty:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/jaunty/linux/0002-mm-fix-missing-page-table-unmap-for-stack-guard-page-f.txt> * Jaunty:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/jaunty/linux/0003-mm-fix-page-table-unmap-for-stack-guard-page-properly.txt> * Jaunty:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/jaunty/linux/0004-mm-fix-up-some-user-visible-effects-of-the-stack-guard.txt> * Jaunty:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/jaunty/linux/0005-x86-don-t-send-SIGBUS-for-kernel-page-faults.txt> * Karmic:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/karmic/linux/0001-mm-keep-a-guard-page-below-a-grow-down-stack-segment.txt> * Karmic:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/karmic/linux/0002-mm-fix-missing-page-table-unmap-for-stack-guard-page-f.txt> * Karmic:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/karmic/linux/0003-mm-fix-page-table-unmap-for-stack-guard-page-properly.txt> * Karmic:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/karmic/linux/0004-mm-fix-up-some-user-visible-effects-of-the-stack-guard.txt> * Karmic:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/karmic/linux/0005-x86-don-t-send-SIGBUS-for-kernel-page-faults.txt> * Lucid:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/lucid/linux/0001-mm-keep-a-guard-page-below-a-grow-down-stack-segment.txt> * Lucid:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/lucid/linux/0002-mm-fix-missing-page-table-unmap-for-stack-guard-page-f.txt> * Lucid:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/lucid/linux/0003-mm-fix-page-table-unmap-for-stack-guard-page-properly.txt> * Lucid:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/lucid/linux/0004-mm-fix-up-some-user-visible-effects-of-the-stack-guard.txt> * Lucid:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/lucid/linux/0005-x86-don-t-send-SIGBUS-for-kernel-page-faults.txt> |
| linux-source-2.6.15 | * Dapper:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/dapper/linux/0001-mm-keep-a-guard-page-below-a-grow-down-stack-segment.txt> * Dapper:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/dapper/linux/0002-mm-fix-missing-page-table-unmap-for-stack-guard-page-f.txt> * Dapper:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/dapper/linux/0003-mm-fix-page-table-unmap-for-stack-guard-page-properly.txt> * Dapper:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/dapper/linux/0004-mm-fix-up-some-user-visible-effects-of-the-stack-guard.txt> * Dapper:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/dapper/linux/0005-x86-don-t-send-SIGBUS-for-kernel-page-faults.txt> * Dapper:   <http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-2240/patches/dapper/linux/0006-mm-pass-correct-mm-when-growing-stack.txt> |

## References

* [MITRE](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2240)
* [NVD](https://nvd.nist.gov/vuln/detail/CVE-2010-2240)
* [Launchpad](https://launchpad.net/bugs/cve/CVE-2010-2240)
* [Debian](https://security-tracker.debian.org/tracker/CVE-2010-2240)

### Related Ubuntu Security Notices (USN)

+ [USN-974-1](https://usn.ubuntu.com/USN-974-1)
+ Linux kernel vulnerabilities
+ 19 August 2010

+ [USN-1074-1](https://usn.ubuntu.com/USN-1074-1)
+ Linux kernel vulnerabilities
+ 25 February 2011

### Other references

* <http://www.invisiblethingslab.com/resources/misc-2010/xorg-large-memory-attacks.pdf>
* <https://www.cve.org/CVERecord?id=CVE-2010-2240>
