VirtualBox

Opened 6 years ago

Last modified 6 years ago

#17847 new defect

vboxdrv failed to build - Virtualbox 5.2.12 r122591 Linux Fedora 28 x86_64

Reported by: Max E Owned by:
Component: other Version: VirtualBox 5.2.12
Keywords: Cc:
Guest type: Windows Host type: other

Description

Kernel module vboxdrv is VERY broken on Fedora 28 Cannot build on Fedora 28 - 4.17.3-200.fc28.x86_64

Please see dmesg log and output from /var/log/vbox-install.log

Attachments (2)

dmesg.log.gz (672 bytes ) - added by Max E 6 years ago.
dmesg-failure-log
vbox-install.log.gz (15.3 KB ) - added by Max E 6 years ago.
vbox-install log file failure - Fedora 28

Download all attachments as: .zip

Change History (6)

by Max E, 6 years ago

Attachment: dmesg.log.gz added

dmesg-failure-log

by Max E, 6 years ago

Attachment: vbox-install.log.gz added

vbox-install log file failure - Fedora 28

comment:1 by Max E, 6 years ago

Failure on command line:

vboxconfig vboxdrv.sh: Stopping VirtualBox services. vboxdrv.sh: Building VirtualBox kernel modules. vboxdrv.sh: Starting VirtualBox services. vboxdrv.sh: Building VirtualBox kernel modules. vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.

There were problems setting up VirtualBox. To re-start the set-up process, run

/sbin/vboxconfig

as root.

comment:2 by Max E, 6 years ago

As a workaround, this came down to the fact that I was using UEFI and Secure Boot. What I've done - is temporarily disabled Secure Boot (not ideal).

There is a workaround, but it is a hack. The basic premise of the problem is that the vboxdrv needs to be signed - with a x509 key and it isn't. Therefore, you have to go through the following processes to get it work. My laptop (its a Dell Latitude) did't like even signing the module - until I had disabled Secure Boot first, then it went through the process of installing the signing to the module on the next boot.

All very odd.

Workaround can be found here (its a Debian page, so some of the kernel references need changing, but the basic premise is sound).

https://askubuntu.com/questions/760671/could-not-load-vboxdrv-after-upgrade-to-ubuntu-16-04-and-i-want-to-keep-secur

comment:3 by Max E, 6 years ago

Choices are:

Disabled Secure Boot - and build kernel modules correctly

or

Sign the module as part of the .sh script - if the detected kernel is shown as secure boot (Oracle Dev types to the rescue).

or

Sign the kernel module yourself (see URL above).

comment:4 by Michael Thayer, 6 years ago

Option 2) is not simple, and requires some user interaction. A fully automatic module signing does not make much sense, as then whatever we are trying to protect against can also make use of it (working out where VirtualBox finds the signing key is probably not a great challenge for a theoretical malware author).

Something which I have in mind is that we switch to building modules when needed when VirtualBox is started up, and asking the user for a signing key which they could point to on USB storage or on the hard drive but also providing a password. We would need to provide a similar command line interface.

I have to point out that this would be quite an investment of limited developer time resources, so nothing scheduled for the immediate future. And the user would still have to create and register a key themself. A further difficulty is telling whether signing is actually needed. On my Ubuntu system the only way I could find was looking for a message in dmesg after the first attempt to load an unsigned module (but I think that Ubuntu is doing something its own way there).

I will also point out that secure boot and module signing are actually two separate things, even if people are throwing them together. Once the kernel has booted to user-space all sorts of attacks are possible, of which loading modules is just one. As far as I know (corrections welcome), secure boot is actually mainly aimed at protecting against boot-time trojans, and once the system has loaded it has done its job. And as far as I can see, on Ubuntu at least "disabling" secure boot in the Shim does not actually disable it, it just allows loading of unsigned modules after (secure) boot. Again, if someone knows better I would love to be told.

Sorry, somewhat long answer there as this is still very unclear to me.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use