Bug 943016 (CVE-2015-6666) - VUL-1: CVE-2015-6666: kernel: Linux x86_64 NT flag issue - Linux kernel
Summary: VUL-1: CVE-2015-6666: kernel: Linux x86_64 NT flag issue - Linux kernel
Status: RESOLVED FIXED
Alias: CVE-2015-6666
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P4 - Low : Normal
Target Milestone: ---
Assignee: Security Team bot
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/139597/
Whiteboard: CVSSv2:SUSE:CVE-2015-6666:1.9:(AV:L/A...
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-25 08:42 UTC by Sebastian Krahmer
Modified: 2016-04-27 20:22 UTC (History)
5 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Krahmer 2015-08-25 08:42:05 UTC
CVE-2015-6666

Tasks may enable the NT flag from user land.

Quoting from the git message:


This reverts commit:

  2c7577a75837 ("sched/x86_64: Don't save flags on context switch")

It was a nice speedup.  It's also not quite correct: SYSENTER
enables interrupts too early.

We can re-add this optimization once the SYSENTER code is beaten
into shape, which should happen in 4.3 or 4.4.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-6666
http://seclists.org/oss-sec/2015/q3/430
Comment 1 Marcus Meissner 2015-08-25 10:08:00 UTC
"
From: Andy Lutomirski <luto@amacapital.net>
Subject: [oss-security] CVE Request: Linux x86_64 NT flag issue

When I fixed Linux's NT flag handling, I added an optimization to
Linux 3.19 and up.  A malicious 32-bit program might be able to leak
NT into an unrelated task.  On a CONFIG_PREEMPT=y kernel, this is a
straightforward DoS.  On a CONFIG_PREEMPT=n kernel, it's probably
still exploitable for DoS with some more care.

I believe that this could be used for privilege escalation, too, but
it won't be easy.

The fix is just to revert the optimization:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=512255a2ad2c832ca7d4de9f31245f73781922d0

Mitigation: CONFIG_IA32_EMULATION=n.  Seccomp does *not* mitigate this bug.

--Andy

P.S. This is yet another x86 mis-design leading to garbage results.
"
Comment 2 Marcus Meissner 2015-08-25 10:08:26 UTC
If this is >= 3.19, then SLES 12 and older versions are not affected.
Comment 3 Swamp Workflow Management 2015-08-25 22:00:56 UTC
bugbot adjusting priority
Comment 4 Borislav Petkov 2015-08-26 09:29:08 UTC
Looks like it, 2c7577a75837 is not in SLE12.
Comment 5 Marcus Meissner 2015-08-31 07:29:13 UTC
openSUSE 13.2 also just 3.16, so is not affected.

Only Tumbleweed is and that will get the regular kernel update.