Linux Kernel 3.2 VFAT slab-based buffer overflow

2013.02.27
Risk: Low
Local: Yes
Remote: No
CWE: CWE-119


CVSS Base Score: 6.2/10
Impact Subscore: 10/10
Exploitability Subscore: 1.9/10
Exploit range: Local
Attack complexity: High
Authentication: No required
Confidentiality impact: Complete
Integrity impact: Complete
Availability impact: Complete

I'd like to request a CVE for an issue leading to a buffer overflow of a slab allocated buffer in the VFAT file system code. The issue manifests when converting UTF8 characters to UTF16 inside the "utf8s_to_utf16s" function. Reaching this code requires writing to a VFAT partition that has been mounted with the "utf8" option. Ubuntu 10.04 mounts USB sticks with this option by default. Most Android devices mount eMMC/SD cards/etc with this option. The issue affects kernels prior to 3.2. Many Android devices remain affected today. I'm not entirely sure when the issue was introduced at this moment. It appears to have been introduced here: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=74675a58507e769beee7d949dbed788af3c4139d The issue was fixed here: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=0720a06a7518c9d0c0125bd5d1f3b6264c55c3dd The issue was partially disclosed here (this spurred my investigation): http://www.exploit-db.com/exploits/23248/ Props to G13 for finding it. It's pretty disappointing that Google/Android security teams (and of course Linux maintainers) didn't responsibly disclose the issue so other Linux kernel packagers could package a fix. If anyone wishes to contact me off-list with questions or concerns, feel free. Thanks, Joshua J. Drake jduck

References:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=74675a58507e769beee7d949dbed788af3c4139d
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=0720a06a7518c9d0c0125bd5d1f3b6264c55c3dd


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top