| Title: | Linux 2.6.x SELinux superblock_doinit denial of service |
| Description: | Failure to handle mounting of corrupt filesystem streams may lead to a local denial of service condition when SELinux hooks are enabled. This particular vulnerability is caused by a null pointer dereference in the superblock_doinit function. |
| Author/Contributor: | LMH <lmh [at] info-pull.com> |
| References: | |
| Proof of concept or exploit: |
The following HFS filesystem image can be used to reproduce the bug:
MOKB-14-11-2006.img.bz2 Use a loopback device to mount it: bunzip2 MOKB-14-11-2006.img.bz2 && mount -t hfs -o loop MOKB-14-11-2006.img /media/test
|
| Debugging information: |
The bug has been found using the Linux version of fsfuzzer on a Fedora Core 6 installation, with up to date packages as of 13-11-2006. No operation except mount itself, is necessary to trigger the bug. The architecture used to conduct the tests is IA32/x86, SMP enabled.
[root@fedoravm ~]# uname -a
Linux fedoravm 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:37:32 EDT 2006 i686 i686 i386 GNU/Linux
crash> mach
MACHINE TYPE: i686
MEMORY SIZE: 256 MB
CPUS: 1
PROCESSOR SPEED: 2799 Mhz
HZ: 250
PAGE SIZE: 4096
L1 CACHE SIZE: 64
KERNEL VIRTUAL BASE: c0000000
KERNEL VMALLOC BASE: d0800000
KERNEL STACK SIZE: 4096
loop: loaded (max 8 devices)
hfs: filesystem was not cleanly unmounted, running fsck.hfs is recommended. mounting read-only.
hfs: get root inode failed.
BUG: unable to handle kernel NULL pointer dereference at virtual address 00000018
printing eip:
c04c278f
*pde = 0b006067
Oops: 0000 [#1]
SMP
last sysfs file: /block/loop4/range
Modules linked in: hfs loop ipv6 sunrpc ip_conntrack_netbios_ns ipt_REJECT xt_state ip_conntrack nfnetlink
xt_tcpudp iptable_filter ip_tables x_tables video sbs i2c_ec button battery asus_acpi ac parport_pc lp
parport snd_ens1371 gameport snd_rawmidi snd_ac97_codec snd_ac97_bus snd_seq_dummy snd_seq_oss
snd_seq_midi_event floppy snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss sg snd_pcm i2c_piix4
snd_timer snd soundcore pcspkr snd_page_alloc i2c_core vmxnet(U) pcnet32 mii ide_cd cdrom serio_raw
dm_snapshot dm_zero dm_mirror dm_mod ext3 jbd mptspi scsi_transport_spi mptscsih sd_mod scsi_mod mptbase
CPU: 0
EIP: 0060:[
|