Summary: | sys-kernel/hardened-sources-2.6.20-r6 causing kernel Oopses with audit_bprm | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Eric Brown <eric.brown> |
Component: | [OLD] Core system | Assignee: | The Gentoo Linux Hardened Team <hardened> |
Status: | RESOLVED NEEDINFO | ||
Severity: | major | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Eric Brown
2007-09-21 01:02:43 UTC
The audit package provides userspace only. punting to the kernel folk. (In reply to comment #0) > Not sure if this is a sys-process/audit, or a > sys-kernel/hardened-sources-2.6.20-r6 problem, linux-audit patches are applied > to the kernel (i'm pretty sure, since it works). > > I started playing with sys-process/audit today, and I noticed that it created > the following reproducible problem: > > 1) start auditd > /etc/init.d/auditd start > > 2) add these rules (to trace all exits from NICE, GETPRIO, SETPRIO syscalls) > autitctl -a exit,always -S 34 > auditctl -a exit,always -S 96 > auditctl -a exit,always -S 97 > > 3) run revdep-rebuild, see weird error output like this: > Checking dynamic linking consistency... > /usr/bin/revdep-rebuild: line 494: 22480 Done ldd "$FILE" 2> > /dev/null > 22482 Broken pipe | grep -v "$LD_MASK" > 22483 Segmentation fault | $SONAME_GREP -q "$SONAME_SEARCH" > > 4) this is a hardened-pax system, so I check the system logs (not auditd's > logs) to see what's segfaulting and to my surprise, I see tons of kernel Oops > logs: > > Sep 20 20:52:50 satellite Oops: 0000 [#34] > Sep 20 20:52:50 satellite SMP > Sep 20 20:52:50 satellite Modules linked in: snd_seq snd_seq_device r8101 > ndiswrapper snd_hda_intel snd_pcm snd_timer snd_page_alloc snd_hwdep snd > uvcvideo > Sep 20 20:52:50 satellite CPU: 0 > Sep 20 20:52:50 satellite EIP: 0060:[<c0156008>] Tainted: P VLI > Sep 20 20:52:50 satellite EFLAGS: 00210246 (2.6.20-hardened-r6 #8) > Sep 20 20:52:50 satellite EIP is at kmap+0x8/0x40 > Sep 20 20:52:50 satellite eax: 00000000 ebx: 00000000 ecx: c1292d20 edx: > dd206000 > Sep 20 20:52:50 satellite esi: 00020000 edi: e0075000 ebp: c1977800 esp: > dd207eb0 > Sep 20 20:52:50 satellite ds: 0068 es: 0068 gs: 00d8 ss: 0068 > Sep 20 20:52:50 satellite Process revdep-rebuild (pid: 26293, ti=dd206000 > task=d950b560 task.ti=dd206000) > Sep 20 20:52:50 satellite Stack: 00021000 c01894d1 e0075000 c1292d20 00000000 > dd5c2000 dd5c2959 e0075000 > Sep 20 20:52:50 satellite dd0dbc00 e0075000 dd207fb8 c01b0d59 e0075000 1440fe68 > ffffffff e0075000 > Sep 20 20:52:50 satellite dd0dbc00 dd207f8c 00000000 c01b1173 00000001 00000000 > f2e13600 f127fc00 > Sep 20 20:52:50 satellite Call Trace: > Sep 20 20:52:50 satellite [<c01894d1>] audit_bprm+0xd1/0x130 > Sep 20 20:52:50 satellite [<c01b0d59>] search_binary_handler+0x49/0x210 > Sep 20 20:52:50 satellite [<c01b1173>] do_execve+0x253/0x3c0 > Sep 20 20:52:50 satellite [<c0188a35>] __audit_getname+0x85/0xe0 > Sep 20 20:52:50 satellite [<c013fa9f>] sys_execve+0x2f/0x80 > Sep 20 20:52:50 satellite [<c0140fdc>] syscall_call+0x7/0xb > Sep 20 20:52:50 satellite [<c0460033>] ieee80211_wx_set_encode+0xc3/0x5c0 > Sep 20 20:52:50 satellite ======================= > Sep 20 20:52:50 satellite Code: ff ff e8 3c f8 18 00 89 c1 81 e1 ff ff 0f 00 e9 > 45 ff ff ff 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 53 89 c3 e8 98 17 31 > 00 <8b> 03 c1 e8 1e 8d 14 80 8d 14 50 c1 e2 06 81 c2 80 f4 54 c0 8b > Sep 20 20:52:50 satellite EIP: [<c0156008>] kmap+0x8/0x40 SS:ESP 0068:dd207eb0 > Sep 20 20:53:26 satellite auditd[25706]: The audit daemon is exiting. > Sep 20 20:53:26 satellite <5>audit(1190336006.785:423): audit_pid=0 old=25706 > by auid=4294967295 > Sep 20 20:53:26 satellite audispd[25708]: input read: EOF > Sep 20 20:53:26 satellite grsec: signal 6 sent to /sbin/audispd[audispd:25708] > uid/euid:0/0 gid/egid:0/0, parent /sbin/auditd[auditd:25706] uid/euid:0/0 > gid/egid:0/0 > Sep 20 20:53:26 satellite grsec: signal 6 sent to /sbin/audispd[audispd:25708] > uid/euid:0/0 gid/egid:0/0, parent /sbin/auditd[auditd:25706] uid/euid:0/0 > gid/egid:0/0 > Sep 20 20:53:26 satellite grsec: denied resource overstep by requesting 4096 > for RLIMIT_CORE against limit 0 for /sbin/audispd[audispd:25708] uid/euid:0/0 > gid/egid:0/0, parent /sbin/auditd[auditd:25706] uid/euid:0/0 gid/egid:0/0 > > 5) stop auditd, run revdep-rebuild, no problems (/etc/init.d/auditd stop) Did triy something different than hardened-sources ? Since PAX/Grsecurity touches vital kernel things. |