Description
The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the v6k and v7 ARM platforms do not validate certain addresses, which allows attackers to read or modify the contents of arbitrary kernel memory locations via a crafted application, as exploited in the wild against Android devices in October and November 2013.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 3.6.4-1~experimental.1 | — |
| Debian 13 | linux | 3.6.4-1~experimental.1 | — |
| Debian 12 | linux | 3.6.4-1~experimental.1 | — |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Metasploit 1 module
-
Android get_user/put_user Exploit
exploit/android/local/put_user_vroot
Exploit-DB 2
- Google Android - get_user/put_user (Metasploit) EDB-40975 · local · Dec 29, 2016 · verified
- Linux Kernel < 3.4.5 (Android 4.2.2/4.4 ARM) - Local Privilege Escalation EDB-31574 · local · Feb 11, 2014
GitHub 4 repositories
-
fi01/libput_user_exploit ★ 28 · Nov 18, 2013
CVE-2013-6282 exploit
-
timwr/CVE-2013-6282 ★ 21 · Dec 19, 2016
CVE-2013-6282 proof of concept for Android
-
jeboo/bypasslkm ★ 12 · Dec 21, 2013
Using CVE-2013-6282 to bypass Samsung kernel module authentication
-
fi01/libget_user_exploit ★ 8 · Nov 28, 2013
CVE-2013-6282 exploit
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
References
- http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.5.5
- 40975 exploit
- http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git%3Ba=commit%3Bh=8404663f81d212918ff85f493649a7991209fa04
- http://www.codeaurora.org/projects/security-advisories/missing-access-checks-putusergetuser-kernel-api-cve-2013-6282
- 63734 vdb-entry
- [oss-security] 20131114 CVE-2013-6282 - linux kernel: missing access checks in get_user/put_user on ARM mailing-list
- https://github.com/torvalds/linux/commit/8404663f81d212918ff85f493649a7991209fa04
- USN-2067-1 vendor-advisory