Bug 1949 - libvirt security update: plug regression introduced in disk probe logic
Summary: libvirt security update: plug regression introduced in disk probe logic
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Security (show other bugs)
Version: 1
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL: https://bugzilla.redhat.com/show_bug....
Whiteboard:
Keywords: Security, validated_update
Depends on:
Blocks:
 
Reported: 2011-06-28 13:51 CEST by Stew Benedict
Modified: 2014-05-08 18:05 CEST (History)
8 users (show)

See Also:
Source RPM: libvirt-0.9.0-1.mga1.src.rpm
CVE:
Status comment:


Attachments
MDV2010.2 Running after installing with viviane.sh (321.57 KB, image/png)
2011-10-21 13:33 CEST, claire robinson
Details

Description Stew Benedict 2011-06-28 13:51:30 CEST
Description of problem:

A regression was introduced upstream that can be used to reopen disk probing. 

Version-Release number of selected component (if applicable):

libvirt-0.9.0-1.mga1.src.rpm

How reproducible:

N/A

Patch:
https://www.redhat.com/archives/libvir-list/2011-May/msg01935.html

Possible update text:

Eric Blake discovered that libvirt had an off-by-one error which could
be used to reopen disk probing and bypass the fix for CVE-2010-2238. A
privileged attacker in the guest could exploit this to read arbitrary files
on the host. This issue is identified at mitre.org by CVE-2011-2178. Updated packages correct this issue.
Comment 1 Stew Benedict 2011-06-28 13:54:31 CEST
Whee, and right after I push submit, another one:

It has been found that calling VirDomainGetVcpus with bogus parameters
can lead to integer overflow and subsequent heap corruption. A remote
attacker could use this flaw to crash libvirtd (DoS).

Upstream patch:
https://www.redhat.com/archives/libvir-list/2011-June/msg01278.html

I'll add an updated advisory text once the CVE indentifier has been issued
Comment 2 Stew Benedict 2011-08-28 21:47:22 CEST
no interest in this, closing

Status: NEW => RESOLVED
Resolution: (none) => OLD

Comment 3 Remco Rijnders 2011-08-29 07:50:01 CEST
Stew,

I understand your frustration in the lack of follow up given to reported security problems, but I think closing security bugs which have not been solved is not the right way to go. Let's try to keep those issues on the radar at least.

Keywords: (none) => Security
Status: RESOLVED => REOPENED
CC: (none) => remco
Resolution: OLD => (none)

Manuel Hiebel 2011-08-30 09:30:20 CEST

CC: (none) => saispo

Manuel Hiebel 2011-08-30 09:30:53 CEST

CC: (none) => boklm, misc

Comment 4 Michael Scherer 2011-08-30 15:41:57 CEST
The 2nd patch apply fine, but not the first one :/
Comment 5 Michael Scherer 2011-08-30 15:44:44 CEST
For info, the commits are 

b598ac555c8fe67ffc39ac8ef25fe7e6b28ae3f2
774b21c163845170c9ffa873f5720d318812eaf6

And the code change quite a bit, and I am not sure to understand the problem of the fix.
Comment 6 Michael Scherer 2011-08-30 16:36:49 CEST
Ok, so I have a working patch, expcet there is a missing macros in gnulib.

I guess I need to cut and past .
Comment 7 Michael Scherer 2011-08-31 23:30:42 CEST
This one go submitted, it is up to QA to test ( but I do not have test instruction nor advisory for now ).

Assignee: bugsquad => qa-bugs

Samuel Verschelde 2011-09-02 14:50:19 CEST

Depends on: (none) => 2594

Samuel Verschelde 2011-09-02 14:50:46 CEST

CC: (none) => stormi
Depends on: 2594 => (none)

Comment 8 claire robinson 2011-09-05 20:01:53 CEST
Can somebody supply testing procedures please.

CC: (none) => eeeemail

Comment 9 Samuel Verschelde 2011-09-10 01:33:55 CEST
We can't check that the fix is ok, but we can check that the package works.

Misc told me that if I can make the following work, it should be ok : https://kashyapc.wordpress.com/2011/08/18/unattended-guest-install-with-a-local-kickstart/
Samuel Verschelde 2011-09-19 10:58:58 CEST

Summary: plug regression introduced in disk probe logic => libvirt security update: plug regression introduced in disk probe logic

Comment 10 Samuel Verschelde 2011-09-19 11:05:31 CEST
The following test day page from fedora can help find testing procedures: 
https://fedoraproject.org/wiki/Test_Day:2011-09-15_Virtualization
Comment 11 claire robinson 2011-09-19 17:42:30 CEST
x86_64

Followed the kickstart thing from comment 9.

After starting libvirtd, it created a virtual disk image and downloaded stuff and booted and sat using 144% CPU for a couple of hours after "Trying to unpack rootfs image as initramfs..." until I killed "qemu kvm" so, although the installation might not have been 100% functional, the process of installation appears to have completed.

If this is sufficient testing then I'm happy to call this one cooked.
Comment 12 claire robinson 2011-09-20 14:38:08 CEST
Misc can you confirm whether the above testing validates the update please. Thanks.
Comment 13 claire robinson 2011-09-23 09:46:08 CEST
This is hard to validate, other than following the procedure above - which we were unable to do i586 previously for python-virtinst, which was validated. The installation process appeared to complete by downloading some bits and attempting to boot as it did for python-virtinst. Without fully understanding, I consider the process to have worked, mostly, and what didnt work is most likely not down to disk probing and more to do with me not using libvirt/qemu properly.

Is it safe to validate this update?? Some dev input would be appreciated.

Thankyou.
Comment 14 claire robinson 2011-09-27 11:38:02 CEST
Assigning to misc to check last few comments so we can validate this.

Please reassign back to QA when you've had a look. Thanks.

CC: (none) => qa-bugs
Hardware: i586 => All
Assignee: qa-bugs => misc

Comment 15 Michael Scherer 2011-10-05 23:44:23 CEST
I think using the script I posted ( viviane.sh , http://www.mail-archive.com/mageia-dev@mageia.org/msg07340.html ) could be used to validate everything. It requires a good internet connexion ( ie, enough to do a network installation do not attempt to do it if there is quota ), and enough disk space.

Now, the question is "what did you try exactly", and to what point did the installation went ? Ie, it started to download some stuff do not tell if it worked enough to install a distribution or if it didn't even start the installation :/
Comment 16 claire robinson 2011-10-07 11:22:16 CEST
Please see comment 11.

The original website about kickstart gave a bad link, the F15 media it was using wouldn't work so I tried with a different distro. I can't remember which it was now :\

I'll try viviane. Does it require network bridging again?

I have 7.1G free space in / partition x86_64.. will this be enough?
Comment 17 Samuel Verschelde 2011-10-07 11:35:46 CEST
(In reply to comment #16)
> I'll try viviane. Does it require network bridging again?
> 
> I have 7.1G free space in / partition x86_64.. will this be enough?

I think so

Assignee: misc => qa-bugs

Comment 18 claire robinson 2011-10-21 11:26:39 CEST
I'm trying viviane.sh

So far, I installed qemu, python-virtinst, libvirt0, set up the network bridge, started libvirtd service

# ./viviane.sh
Name "main::o" used only once: possible typo at /tmp/viviane_DWjpS/auto_inst.cfg.pl line 3.
/tmp/viviane_DWjpS/auto_inst.cfg.pl syntax OK
setfacl: Option -m: Invalid argument near character 3

It is sat doing something/nothing with no signs of action. It doesn't appear to be eating into the disk space either.
Comment 19 claire robinson 2011-10-21 11:34:33 CEST
Oh, I tell a lie, it is slowly eating disk space.
Patience is a 'virt'ue I guess!
Comment 20 claire robinson 2011-10-21 13:33:42 CEST
Created attachment 988 [details]
MDV2010.2 Running after installing with viviane.sh

It took over an hour to install but finally did. It shut down rather than rebooting but using virt-manager I was able to watch it install and then take the screenshot attached when I started it manually.

I don't have the disk space to test this i586, not sure if Stormi or Dave have, so if nobody objects I will validate?
Comment 21 Samuel Verschelde 2011-10-21 14:07:54 CEST
no objection from me
Comment 22 claire robinson 2011-10-21 14:19:35 CEST
I seem to remember Dave had problems with libvirt on his computer anyway so I'll validate.

Advisory
------------------
Eric Blake discovered that libvirt had an off-by-one error which could
be used to reopen disk probing and bypass the fix for CVE-2010-2238. A
privileged attacker in the guest could exploit this to read arbitrary files
on the host. This issue is identified at mitre.org by CVE-2011-2178. Updated
packages correct this issue.

Also, it was found that calling VirDomainGetVcpus with bogus parameters
can lead to integer overflow and subsequent heap corruption. A remote
attacker could use this flaw to crash libvirtd (DoS).
------------------

SRPM:  libvirt-0.9.0-1.1.mga1.src.rpm   


Could sysadmin push this from core/updates_testing to core/updates

Thankyou!

Keywords: (none) => validated_update
CC: (none) => sysadmin-bugs

Comment 23 Thomas Backlund 2011-10-21 14:31:41 CEST
Update pushed.

Status: REOPENED => RESOLVED
CC: (none) => tmb
Resolution: (none) => FIXED

Nicolas Vigier 2014-05-08 18:05:45 CEST

CC: boklm => (none)


Note You need to log in before you can comment on or make changes to this bug.