FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Ubuntu Kernel Team

 
 
LinkBack Thread Tools
 
Old 03-18-2011, 12:32 AM
Tim Gardner
 
Default sound: Prevent buffer overflow in OSS load_mixer_volumes, CVE-2010-4527

On 03/17/2011 03:58 PM, Leann Ogasawara wrote:

The following changes since commit 7fec2f29a52bd5c07921df6e0dc443de7ef5c9f4:
Brad Figg (1):
UBUNTU: Ubuntu-2.6.24-29.88

are available in the git repository at:

git://kernel.ubuntu.com/ogasawara/ubuntu-hardy.git CVE-2010-4527

Dan Rosenberg (1):
sound: Prevent buffer overflow in OSS load_mixer_volumes, CVE-2010-4527

sound/oss/soundcard.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

From 757fccef9f476beb37e1571a193c309c4c71f6b1 Mon Sep 17 00:00:00 2001
From: Dan Rosenberg<drosenberg@vsecurity.com>
Date: Sat, 25 Dec 2010 16:23:40 -0500
Subject: [PATCH] sound: Prevent buffer overflow in OSS load_mixer_volumes, CVE-2010-4527

CVE-2010-4527

BugLink: http://bugs.launchpad.net/bugs/737073

The load_mixer_volumes() function, which can be triggered by
unprivileged users via the SOUND_MIXER_SETLEVELS ioctl, is vulnerable to
a buffer overflow. Because the provided "name" argument isn't
guaranteed to be NULL terminated at the expected 32 bytes, it's possible
to overflow past the end of the last element in the mixer_vols array.
Further exploitation can result in an arbitrary kernel write (via
subsequent calls to load_mixer_volumes()) leading to privilege
escalation, or arbitrary kernel reads via get_mixer_levels(). In
addition, the strcmp() may leak bytes beyond the mixer_vols array.

Signed-off-by: Dan Rosenberg<drosenberg@vsecurity.com>
Cc: stable<stable@kernel.org>
Signed-off-by: Takashi Iwai<tiwai@suse.de>
(cherry picked from commit d81a12bc29ae4038770e05dce4ab7f26fd5880fb)

Signed-off-by: Leann Ogasawara<leann.ogasawara@canonical.com>
---
sound/oss/soundcard.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/oss/soundcard.c b/sound/oss/soundcard.c
index a9c23b2..eac3c00 100644
--- a/sound/oss/soundcard.c
+++ b/sound/oss/soundcard.c
@@ -87,7 +87,7 @@ int *load_mixer_volumes(char *name, int *levels, int present)
int i, n;

for (i = 0; i< num_mixer_volumes; i++) {
- if (strcmp(name, mixer_vols[i].name) == 0) {
+ if (strncmp(name, mixer_vols[i].name, 32) == 0) {
if (present)
mixer_vols[i].num = i;
return mixer_vols[i].levels;
@@ -99,7 +99,7 @@ int *load_mixer_volumes(char *name, int *levels, int present)
}
n = num_mixer_volumes++;

- strcpy(mixer_vols[n].name, name);
+ strncpy(mixer_vols[n].name, name, 32);

if (present)
mixer_vols[n].num = n;


Acked-by: Tim Gardner <tim.gardner@canonical.com>

--
Tim Gardner tim.gardner@canonical.com

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 
Old 03-21-2011, 08:27 AM
Stefan Bader
 
Default sound: Prevent buffer overflow in OSS load_mixer_volumes, CVE-2010-4527

On 03/17/2011 10:58 PM, Leann Ogasawara wrote:
> The following changes since commit 7fec2f29a52bd5c07921df6e0dc443de7ef5c9f4:
> Brad Figg (1):
> UBUNTU: Ubuntu-2.6.24-29.88
>
> are available in the git repository at:
>
> git://kernel.ubuntu.com/ogasawara/ubuntu-hardy.git CVE-2010-4527
>
> Dan Rosenberg (1):
> sound: Prevent buffer overflow in OSS load_mixer_volumes, CVE-2010-4527
>
> sound/oss/soundcard.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> From 757fccef9f476beb37e1571a193c309c4c71f6b1 Mon Sep 17 00:00:00 2001
> From: Dan Rosenberg <drosenberg@vsecurity.com>
> Date: Sat, 25 Dec 2010 16:23:40 -0500
> Subject: [PATCH] sound: Prevent buffer overflow in OSS load_mixer_volumes, CVE-2010-4527
>
> CVE-2010-4527
>
> BugLink: http://bugs.launchpad.net/bugs/737073
>
> The load_mixer_volumes() function, which can be triggered by
> unprivileged users via the SOUND_MIXER_SETLEVELS ioctl, is vulnerable to
> a buffer overflow. Because the provided "name" argument isn't
> guaranteed to be NULL terminated at the expected 32 bytes, it's possible
> to overflow past the end of the last element in the mixer_vols array.
> Further exploitation can result in an arbitrary kernel write (via
> subsequent calls to load_mixer_volumes()) leading to privilege
> escalation, or arbitrary kernel reads via get_mixer_levels(). In
> addition, the strcmp() may leak bytes beyond the mixer_vols array.
>
> Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com>
> Cc: stable <stable@kernel.org>
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
> (cherry picked from commit d81a12bc29ae4038770e05dce4ab7f26fd5880fb)
>
> Signed-off-by: Leann Ogasawara <leann.ogasawara@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
> ---
> sound/oss/soundcard.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sound/oss/soundcard.c b/sound/oss/soundcard.c
> index a9c23b2..eac3c00 100644
> --- a/sound/oss/soundcard.c
> +++ b/sound/oss/soundcard.c
> @@ -87,7 +87,7 @@ int *load_mixer_volumes(char *name, int *levels, int present)
> int i, n;
>
> for (i = 0; i < num_mixer_volumes; i++) {
> - if (strcmp(name, mixer_vols[i].name) == 0) {
> + if (strncmp(name, mixer_vols[i].name, 32) == 0) {
> if (present)
> mixer_vols[i].num = i;
> return mixer_vols[i].levels;
> @@ -99,7 +99,7 @@ int *load_mixer_volumes(char *name, int *levels, int present)
> }
> n = num_mixer_volumes++;
>
> - strcpy(mixer_vols[n].name, name);
> + strncpy(mixer_vols[n].name, name, 32);
>
> if (present)
> mixer_vols[n].num = n;


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 
Old 03-21-2011, 08:29 AM
Stefan Bader
 
Default sound: Prevent buffer overflow in OSS load_mixer_volumes, CVE-2010-4527

Applied and pushed to Hardy master-next

Note: Does not apply here, just a note that audio changes may need to go into
l-u-m as well as that is where Hardy's alsa driver comes from.

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 

Thread Tools




All times are GMT. The time now is 09:11 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org