0-day Maverick Kernel Upload
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Canonical Kernel Team | ||
Maverick |
Fix Released
|
High
|
Canonical Kernel Team |
Bug Description
The Ubuntu Kernel Team would like to propose the following fixes which would warrant a 0-day Maverick kernel upload. All of the fixes are security related in nature:
http://
ALSA: seq/oss - Fix double-free at error path of snd_seq_oss_open()
CVE-2010-3080
The error handling in snd_seq_oss_open() has several bad codes that
do dereferecing released pointers and double-free of kmalloc'ed
data. The object dp is release in free_devinfo() that is called via
private_free callback. The rest shouldn't touch this object any
more.
The patch changes delete_port() to call kfree() in any case, and
gets rid of unnecessary calls of destructors in snd_seq_oss_open().
Reported-
Cc: <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>
(cherry picked from commit 27f7ad53829f79e
=====
http://
KEYS: Fix bug in keyctl_
keyring
CVE-2010-2960
Fix a bug in keyctl_
the ownership of the parent process's session keyring whether or
not the parent has a session keyring [CVE-2010-2960].
This results in the following oops:
BUG: unable to handle kernel NULL pointer dereference at 00000000000000a0
IP: [<ffffffff811ae
...
Call Trace:
if the parent process has no session keyring.
If the system is using pam_keyinit then it mostly protected against
this as all processes derived from a login will have inherited the
session keyring created by pam_keyinit during the log in procedure.
To test this, pam_keyinit calls need to be commented out in
/etc/pam.d/.
Reported-by: Tavis Ormandy <email address hidden>
Signed-off-by: David Howells <email address hidden>
Acked-by: Tavis Ormandy <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
(cherry picked from commit 3d96406c7da1ed5
=====
http://
KEYS: Fix RCU no-lock warning in keyctl_
CVE-2010-2960
There's an protected access to the parent process's credentials in
the middle of keyctl_
following RCU warning:
=
[ INFO: suspicious rcu_dereference
-
security/
other info that might help us debug this:
rcu_
1 lock held by keyctl-
#0: (tasklist_
stack backtrace:
Pid: 2137, comm: keyctl-session- Not tainted 2.6.36-rc2-cachefs+ #1
Call Trace:
The code should take the RCU read lock to make sure the parents
credentials don't go away, even though it's holding a spinlock
and has IRQ disabled.
Signed-off-by: David Howells <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
(cherry picked from commit 9d1ac65a9698513
=====
http://
wireless extensions: fix kernel heap content leak
CVE-2010-2955
Wireless extensions have an unfortunate, undocumented
requirement which requires drivers to always fill
iwp->length when returning a successful status. When
a driver doesn't do this, it leads to a kernel heap
content leak when userspace offers a larger buffer
than would have been necessary.
Arguably, this is a driver bug, as it should, if it
returns 0, fill iwp->length, even if it separately
indicated that the buffer contents was not valid.
However, we can also at least avoid the memory content
leak if the driver doesn't do this by setting the iwp
length to max_tokens, which then reflects how big the
buffer is that the driver may fill, regardless of how
big the userspace buffer is.
To illustrate the point, this patch also fixes a
corresponding cfg80211 bug (since this requirement
isn't documented nor was ever pointed out by anyone
during code review, I don't trust all drivers nor
all cfg80211 handlers to implement it correctly).
Cc: <email address hidden> [all the way back]
Signed-off-by: Johannes Berg <email address hidden>
Signed-off-by: John W. Linville <email address hidden>
(cherry picked from commit 42da2f948d949ef
=====
http://
irda: Correctly clean up self->ias_obj on irda_bind() failure.
CVE-2010-2954
If irda_open_tsap() fails, the irda_bind() code tries to destroy
the ->ias_obj object by hand, but does so wrongly.
In particular, it fails to a) release the hashbin attached to the
object and b) reset the self->ias_obj pointer to NULL.
Fix both problems by using irias_delete_
setting self->ias_obj to NULL, just as irda_release() does.
Reported-by: Tavis Ormandy <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 628e300cccaa628
=====
https:/
AppArmor: Initialize sa.aad.error within audit_net()
sa.aad.error is always 0 and therefore aa_net_perm() will always
return 0 (rather than -EACCESS) no matter how "net_allowed_af"
is specified.
=====
http://
intel_idle: PCI quirk to prevent Lenovo Ideapad s10-3 boot hang
When the Lenovo Ideapad S10-3 is booted with HT enabled,
it hits a boot hang in the intel_idle driver.
This occurs when entering ATM-C4 for the first time,
unless BM_STS is first cleared.
acpi_idle doesn't see this because it first checks
and clears BM_STS, but it would hit the same hang
if that check were disabled.
http://
BugLink: http://
Signed-off-by: Len Brown <email address hidden>
Signed-off-by: Ike Panhc <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Acked-by: Colin King <email address hidden>
Signed-off-by: Leann Ogasawara <email address hidden>
=====
http://
drm/i915: Rephrase pwrite bounds checking to avoid any potential
overflow
CVE-2010-2962
... and do the same for pread.
=====
http://
drm/i915: Skip pread/pwrite if size to copy is 0.
CVE-2010-2962
=====
http://
drm/i915: Sanity check pread/pwrite
CVE-2010-2962
Move the access control up from the fast paths which are no longer
universally taken first up into the caller. This then duplicates
some sanity checking along the slow paths, but is much simpler.
=====
http://
Fix pktcdvd ioctl dev_minor range check
CVE-2010-3437
The PKT_CTRL_CMD_STATUS device ioctl retrieves a pointer to a
pktcdvd_device from the global pkt_devs array. The index into this
array is provided directly by the user and is a signed integer, so
the comparison to ensure that it falls within the bounds of this
array will fail when provided with a negative index.
This can be used to read arbitrary kernel memory or cause a crash
due to an invalid pointer dereference. This can be exploited by
users with permission to open /dev/pktcdvd/
distributions, this is readable by group "cdrom").
Signed-off-by: Dan Rosenberg <email address hidden>
[ Rather than add a cast, just make the function take the right type -Linus ]
Signed-off-by: Linus Torvalds <email address hidden>
(cherry picked from commit 252a52aa4fa22a6
=====
http://
CVE-2010-3705
The sctp_asoc_
array and attempts to ensure that only a supported hmac entry is
returned. The current code fails to do this properly - if the last
id in the array is out of range (greater than
SCTP_
loop, and the address of an out-of-bounds entry will be returned and
subsequently used in the parent function, causing potentially ugly
memory corruption. This patch resets the id integer to 0 on
encountering an invalid id so that NULL will be returned after
finishing the loop if no valid ids are found.
Signed-off-by: Dan Rosenberg <email address hidden>
(cherry-picked from http://
=====
http://
ocfs2: Don't walk off the end of fast symlinks.
CVE-2010-NNN2
(Official CVE # not yet assigned)
ocfs2 fast symlinks are NUL terminated strings stored inline in the
inode data area. However, disk corruption or a local attacker
could, in theory, remove that NUL. Because we're using strlen() (my
fault, introduced in a731d1 when removing vfs_follow_link()), we
could walk off the end of that string.
Signed-off-by: Joel Becker <email address hidden>
Cc: <email address hidden>
(cherry picked from commit 1fc8a117865b545
description: | updated |
Changed in linux (Ubuntu Maverick): | |
milestone: | none → maverick-updates |
description: | updated |
Changed in linux (Ubuntu Maverick): | |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
importance: | Undecided → High |
milestone: | maverick-updates → none |
status: | New → Triaged |
Changed in linux (Ubuntu Maverick): | |
status: | Triaged → Confirmed |
description: | updated |
Changed in linux (Ubuntu Maverick): | |
status: | Fix Committed → Fix Released |
update to pick this up as part of maverick-updates