Gentoo Archives: gentoo-hardened

From: "André Aparício" <andre.aparicio@×××××××××××.pt>
To: gentoo-hardened@l.g.o
Subject: Re: [gentoo-hardened] Problem with (?) hardened-sources-3.15.x on kvm-vm
Date: Wed, 27 Aug 2014 16:34:31
Message-Id: 20140827173420.3878fb60@nop.rnl.ist.utl.pt
In Reply to: [gentoo-hardened] Problem with (?) hardened-sources-3.15.x on kvm-vm by "Marcin Mirosław"
1 I encountered the same problem with qemu/kvm but can't even login, I
2 get random segfaults and even failed malloc assertions
3 in /sbin/init, /sbin/rc or /bin/login (never past this).
4
5 But it works fine with CONFIG_PAX_MEMORY_UDEREF disabled.
6
7 Config that reproduces the problem.
8
9 $ grep -P "(GRK|PAX)" linux-3.15.8-hardened/.config
10 CONFIG_PAX_KERNEXEC_PLUGIN=y
11 CONFIG_PAX_PER_CPU_PGD=y
12 CONFIG_PAX_USERCOPY_SLABS=y
13 CONFIG_GRKERNSEC=y
14 CONFIG_GRKERNSEC_CONFIG_AUTO=y
15 # CONFIG_GRKERNSEC_CONFIG_CUSTOM is not set
16 CONFIG_GRKERNSEC_CONFIG_SERVER=y
17 # CONFIG_GRKERNSEC_CONFIG_DESKTOP is not set
18 # CONFIG_GRKERNSEC_CONFIG_VIRT_NONE is not set
19 CONFIG_GRKERNSEC_CONFIG_VIRT_GUEST=y
20 # CONFIG_GRKERNSEC_CONFIG_VIRT_HOST is not set
21 CONFIG_GRKERNSEC_CONFIG_VIRT_EPT=y
22 # CONFIG_GRKERNSEC_CONFIG_VIRT_SOFT is not set
23 # CONFIG_GRKERNSEC_CONFIG_VIRT_XEN is not set
24 # CONFIG_GRKERNSEC_CONFIG_VIRT_VMWARE is not set
25 CONFIG_GRKERNSEC_CONFIG_VIRT_KVM=y
26 # CONFIG_GRKERNSEC_CONFIG_VIRT_VIRTUALBOX is not set
27 # CONFIG_GRKERNSEC_CONFIG_PRIORITY_PERF is not set
28 CONFIG_GRKERNSEC_CONFIG_PRIORITY_SECURITY=y
29 CONFIG_GRKERNSEC_PROC_GID=10
30 CONFIG_GRKERNSEC_TPE_UNTRUSTED_GID=100
31 CONFIG_GRKERNSEC_SYMLINKOWN_GID=100
32 CONFIG_PAX=y
33 # CONFIG_PAX_SOFTMODE is not set
34 CONFIG_PAX_PT_PAX_FLAGS=y
35 CONFIG_PAX_XATTR_PAX_FLAGS=y
36 # CONFIG_PAX_NO_ACL_FLAGS is not set
37 CONFIG_PAX_HAVE_ACL_FLAGS=y
38 # CONFIG_PAX_HOOK_ACL_FLAGS is not set
39 CONFIG_PAX_NOEXEC=y
40 CONFIG_PAX_PAGEEXEC=y
41 CONFIG_PAX_EMUTRAMP=y
42 CONFIG_PAX_MPROTECT=y
43 # CONFIG_PAX_MPROTECT_COMPAT is not set
44 # CONFIG_PAX_ELFRELOCS is not set
45 CONFIG_PAX_KERNEXEC=y
46 CONFIG_PAX_KERNEXEC_PLUGIN_METHOD_BTS=y
47 CONFIG_PAX_KERNEXEC_PLUGIN_METHOD="bts"
48 CONFIG_PAX_ASLR=y
49 # CONFIG_PAX_RANDKSTACK is not set
50 CONFIG_PAX_RANDUSTACK=y
51 CONFIG_PAX_RANDMMAP=y
52 CONFIG_PAX_MEMORY_SANITIZE=y
53 CONFIG_PAX_MEMORY_STACKLEAK=y
54 CONFIG_PAX_MEMORY_STRUCTLEAK=y
55 CONFIG_PAX_MEMORY_UDEREF=y
56 CONFIG_PAX_REFCOUNT=y
57 CONFIG_PAX_CONSTIFY_PLUGIN=y
58 CONFIG_PAX_USERCOPY=y
59 # CONFIG_PAX_USERCOPY_DEBUG is not set
60 CONFIG_PAX_SIZE_OVERFLOW=y
61 CONFIG_PAX_LATENT_ENTROPY=y
62 CONFIG_GRKERNSEC_KMEM=y
63 CONFIG_GRKERNSEC_IO=y
64 CONFIG_GRKERNSEC_PERF_HARDEN=y
65 CONFIG_GRKERNSEC_RAND_THREADSTACK=y
66 CONFIG_GRKERNSEC_PROC_MEMMAP=y
67 CONFIG_GRKERNSEC_KSTACKOVERFLOW=y
68 CONFIG_GRKERNSEC_BRUTE=y
69 CONFIG_GRKERNSEC_HIDESYM=y
70 CONFIG_GRKERNSEC_RANDSTRUCT=y
71 # CONFIG_GRKERNSEC_RANDSTRUCT_PERFORMANCE is not set
72 # CONFIG_GRKERNSEC_KERN_LOCKOUT is not set
73 CONFIG_GRKERNSEC_NO_RBAC=y
74 CONFIG_GRKERNSEC_ACL_HIDEKERN=y
75 CONFIG_GRKERNSEC_ACL_MAXTRIES=3
76 CONFIG_GRKERNSEC_ACL_TIMEOUT=30
77 CONFIG_GRKERNSEC_PROC=y
78 # CONFIG_GRKERNSEC_PROC_USER is not set
79 CONFIG_GRKERNSEC_PROC_USERGROUP=y
80 CONFIG_GRKERNSEC_PROC_ADD=y
81 CONFIG_GRKERNSEC_LINK=y
82 CONFIG_GRKERNSEC_SYMLINKOWN=y
83 CONFIG_GRKERNSEC_FIFO=y
84 CONFIG_GRKERNSEC_SYSFS_RESTRICT=y
85 # CONFIG_GRKERNSEC_ROFS is not set
86 CONFIG_GRKERNSEC_DEVICE_SIDECHANNEL=y
87 CONFIG_GRKERNSEC_CHROOT=y
88 CONFIG_GRKERNSEC_CHROOT_MOUNT=y
89 CONFIG_GRKERNSEC_CHROOT_DOUBLE=y
90 CONFIG_GRKERNSEC_CHROOT_PIVOT=y
91 CONFIG_GRKERNSEC_CHROOT_CHDIR=y
92 CONFIG_GRKERNSEC_CHROOT_CHMOD=y
93 CONFIG_GRKERNSEC_CHROOT_FCHDIR=y
94 CONFIG_GRKERNSEC_CHROOT_MKNOD=y
95 CONFIG_GRKERNSEC_CHROOT_SHMAT=y
96 CONFIG_GRKERNSEC_CHROOT_UNIX=y
97 CONFIG_GRKERNSEC_CHROOT_FINDTASK=y
98 CONFIG_GRKERNSEC_CHROOT_NICE=y
99 CONFIG_GRKERNSEC_CHROOT_SYSCTL=y
100 CONFIG_GRKERNSEC_CHROOT_CAPS=y
101 # CONFIG_GRKERNSEC_AUDIT_GROUP is not set
102 CONFIG_GRKERNSEC_EXECLOG=y
103 CONFIG_GRKERNSEC_RESLOG=y
104 CONFIG_GRKERNSEC_CHROOT_EXECLOG=y
105 # CONFIG_GRKERNSEC_AUDIT_PTRACE is not set
106 # CONFIG_GRKERNSEC_AUDIT_CHDIR is not set
107 # CONFIG_GRKERNSEC_AUDIT_MOUNT is not set
108 CONFIG_GRKERNSEC_SIGNAL=y
109 # CONFIG_GRKERNSEC_FORKFAIL is not set
110 CONFIG_GRKERNSEC_TIME=y
111 CONFIG_GRKERNSEC_PROC_IPADDR=y
112 CONFIG_GRKERNSEC_RWXMAP_LOG=y
113 CONFIG_GRKERNSEC_DMESG=y
114 CONFIG_GRKERNSEC_HARDEN_PTRACE=y
115 CONFIG_GRKERNSEC_PTRACE_READEXEC=y
116 CONFIG_GRKERNSEC_SETXID=y
117 CONFIG_GRKERNSEC_HARDEN_IPC=y
118 CONFIG_GRKERNSEC_TPE=y
119 # CONFIG_GRKERNSEC_TPE_ALL is not set
120 # CONFIG_GRKERNSEC_TPE_INVERT is not set
121 CONFIG_GRKERNSEC_TPE_GID=100
122 CONFIG_GRKERNSEC_RANDNET=y
123 CONFIG_GRKERNSEC_BLACKHOLE=y
124 CONFIG_GRKERNSEC_NO_SIMULT_CONNECT=y
125 # CONFIG_GRKERNSEC_SOCKET is not set
126 # CONFIG_GRKERNSEC_SYSCTL is not set
127 CONFIG_GRKERNSEC_FLOODTIME=10
128 CONFIG_GRKERNSEC_FLOODBURST=6
129
130 On Tue, 26 Aug 2014 11:24:26 +0100
131 Marcin Mirosław <marcin@×××××.pl> wrote:
132
133 > Hello!
134 > I suspect that I've got problem with hardened-sources in KVM VM. I'm
135 > not sure if I should fill a bug for this. I'd like to post it here
136 > before using b.g.o.
137 > I've got VM (it's KVM with qemu-2.0.0-r1), with
138 > hardened-sources-3.15.{5-r2,8}. I'm observing a kind of memory
139 > corruption. After a couple of hours of uptime I'm starting seeing
140 > random segfaults, general protection traps especially when process
141 > uses a lot of CPU and do many I/O operations (masscheck scripts
142 > written in perl for spamassasin rules).
143 > In log I've got e.g.:
144 >
145 > 2014-08-25T13:05:23.243062+02:00 mohikanin kernel: [45571.239703] PAX:
146 > >From 88.198.102.195: execution attempt in: (null), 00000000-00000000
147 > 00000000
148 > 2014-08-25T13:05:23.243088+02:00 mohikanin kernel: [45571.239707] PAX:
149 > terminating task: /usr/libexec/dovecot/pop3-login(pop3-login):2507,
150 > uid/euid: 105/105, PC: (nil), SP: 000003a8574e4c00
151 > 2014-08-25T13:05:23.243093+02:00 mohikanin kernel: [45571.239709] PAX:
152 > bytes at
153 > PC: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
154 > 2014-08-25T13:05:23.243095+02:00 mohikanin kernel: [45571.239735]
155 > PAX: bytes at SP-8: 0000000000000000 0000000000000000
156 > 00000059c6deceb0 0000000000000000 00000316027bc540 0000000000000001
157 > 000003160271dbb5 0000000000000000 0000000000000000 0000000000000000
158 > 0000000000000000 2014-08-25T13:24:42.943001+02:00 mohikanin kernel:
159 > [46730.931353] traps: spamd child[19681] general protection
160 > ip:2c572b6e163 sp:3ca7d000be0 error:0 in
161 > libc-2.19.so[2c572aee000+19e000] 2014-08-25T13:24:42.943007+02:00
162 > mohikanin kernel: [46730.931371] grsec: Segmentation fault occurred
163 > at (nil) in /usr/sbin/spamd[spamd child:19681]
164 > uid/euid:999/999 gid/egid:100/100,
165 > parent /usr/sbin/spamd[/usr/sbin/spamd:1255] uid/euid:0/0
166 > gid/egid:0/0 2014-08-25T13:55:22.383032+02:00 mohikanin kernel:
167 > [48570.375917] traps: freshclam[6594] general protection
168 > ip:344cceb368d sp:3d5f5ced520 error:0 in
169 > libclamav.so.6.1.23[344ccdf1000+9d1000]
170 > 2014-08-25T13:55:22.383050+02:00 mohikanin kernel: [48570.375968]
171 > grsec: Segmentation fault occurred at (nil)
172 > in /usr/bin/freshclam[freshclam:6594] uid/euid:104/104
173 > gid/egid:115/115, parent /usr/bin/freshclam[freshclam:1159]
174 > uid/euid:104/104 gid/egid:115/115
175 >
176 > Yesterday I switched kernel to gentoo-sources-3.14.14 and I don't see
177 > any unwanted behavior. This is why I suspect hardened-sources. Should
178 > I fill a bug? What should I do help find out the root of problem?
179 > (gcc is: gcc version 4.7.3 (Gentoo Hardened 4.7.3-r1 p1.4,
180 > pie-0.5.5) , with ld.gold)
181 >
182 > Marcin
183 >
184 > # grep -P "(GRK|PAX)" /boot/config-3.15.8-hardened
185 > CONFIG_PAX_KERNEXEC_PLUGIN=y
186 > CONFIG_PAX_PER_CPU_PGD=y
187 > CONFIG_PAX_USERCOPY_SLABS=y
188 > CONFIG_GRKERNSEC=y
189 > CONFIG_GRKERNSEC_CONFIG_AUTO=y
190 > # CONFIG_GRKERNSEC_CONFIG_CUSTOM is not set
191 > CONFIG_GRKERNSEC_CONFIG_SERVER=y
192 > # CONFIG_GRKERNSEC_CONFIG_DESKTOP is not set
193 > # CONFIG_GRKERNSEC_CONFIG_VIRT_NONE is not set
194 > CONFIG_GRKERNSEC_CONFIG_VIRT_GUEST=y
195 > # CONFIG_GRKERNSEC_CONFIG_VIRT_HOST is not set
196 > CONFIG_GRKERNSEC_CONFIG_VIRT_EPT=y
197 > # CONFIG_GRKERNSEC_CONFIG_VIRT_SOFT is not set
198 > # CONFIG_GRKERNSEC_CONFIG_VIRT_XEN is not set
199 > # CONFIG_GRKERNSEC_CONFIG_VIRT_VMWARE is not set
200 > CONFIG_GRKERNSEC_CONFIG_VIRT_KVM=y
201 > # CONFIG_GRKERNSEC_CONFIG_VIRT_VIRTUALBOX is not set
202 > CONFIG_GRKERNSEC_CONFIG_PRIORITY_PERF=y
203 > # CONFIG_GRKERNSEC_CONFIG_PRIORITY_SECURITY is not set
204 > CONFIG_GRKERNSEC_PROC_GID=55555
205 > CONFIG_GRKERNSEC_TPE_TRUSTED_GID=55555
206 > CONFIG_GRKERNSEC_SYMLINKOWN_GID=100
207 > CONFIG_PAX=y
208 > # CONFIG_PAX_SOFTMODE is not set
209 > # CONFIG_PAX_PT_PAX_FLAGS is not set
210 > CONFIG_PAX_XATTR_PAX_FLAGS=y
211 > # CONFIG_PAX_NO_ACL_FLAGS is not set
212 > CONFIG_PAX_HAVE_ACL_FLAGS=y
213 > # CONFIG_PAX_HOOK_ACL_FLAGS is not set
214 > CONFIG_PAX_NOEXEC=y
215 > CONFIG_PAX_PAGEEXEC=y
216 > CONFIG_PAX_EMUTRAMP=y
217 > CONFIG_PAX_MPROTECT=y
218 > # CONFIG_PAX_MPROTECT_COMPAT is not set
219 > # CONFIG_PAX_ELFRELOCS is not set
220 > CONFIG_PAX_KERNEXEC=y
221 > CONFIG_PAX_KERNEXEC_PLUGIN_METHOD_BTS=y
222 > CONFIG_PAX_KERNEXEC_PLUGIN_METHOD="bts"
223 > CONFIG_PAX_ASLR=y
224 > CONFIG_PAX_RANDKSTACK=y
225 > CONFIG_PAX_RANDUSTACK=y
226 > CONFIG_PAX_RANDMMAP=y
227 > # CONFIG_PAX_MEMORY_SANITIZE is not set
228 > CONFIG_PAX_MEMORY_STACKLEAK=y
229 > CONFIG_PAX_MEMORY_STRUCTLEAK=y
230 > CONFIG_PAX_MEMORY_UDEREF=y
231 > CONFIG_PAX_REFCOUNT=y
232 > CONFIG_PAX_CONSTIFY_PLUGIN=y
233 > CONFIG_PAX_USERCOPY=y
234 > # CONFIG_PAX_USERCOPY_DEBUG is not set
235 > CONFIG_PAX_SIZE_OVERFLOW=y
236 > CONFIG_PAX_LATENT_ENTROPY=y
237 > CONFIG_GRKERNSEC_KMEM=y
238 > CONFIG_GRKERNSEC_IO=y
239 > CONFIG_GRKERNSEC_JIT_HARDEN=y
240 > CONFIG_GRKERNSEC_PERF_HARDEN=y
241 > CONFIG_GRKERNSEC_RAND_THREADSTACK=y
242 > CONFIG_GRKERNSEC_PROC_MEMMAP=y
243 > CONFIG_GRKERNSEC_KSTACKOVERFLOW=y
244 > # CONFIG_GRKERNSEC_BRUTE is not set
245 > CONFIG_GRKERNSEC_MODHARDEN=y
246 > CONFIG_GRKERNSEC_HIDESYM=y
247 > CONFIG_GRKERNSEC_RANDSTRUCT=y
248 > CONFIG_GRKERNSEC_RANDSTRUCT_PERFORMANCE=y
249 > # CONFIG_GRKERNSEC_KERN_LOCKOUT is not set
250 > CONFIG_GRKERNSEC_NO_RBAC=y
251 > # CONFIG_GRKERNSEC_ACL_HIDEKERN is not set
252 > CONFIG_GRKERNSEC_ACL_MAXTRIES=3
253 > CONFIG_GRKERNSEC_ACL_TIMEOUT=30
254 > CONFIG_GRKERNSEC_PROC=y
255 > CONFIG_GRKERNSEC_PROC_USER=y
256 > CONFIG_GRKERNSEC_PROC_ADD=y
257 > CONFIG_GRKERNSEC_LINK=y
258 > CONFIG_GRKERNSEC_SYMLINKOWN=y
259 > CONFIG_GRKERNSEC_FIFO=y
260 > CONFIG_GRKERNSEC_SYSFS_RESTRICT=y
261 > # CONFIG_GRKERNSEC_ROFS is not set
262 > CONFIG_GRKERNSEC_DEVICE_SIDECHANNEL=y
263 > CONFIG_GRKERNSEC_CHROOT=y
264 > CONFIG_GRKERNSEC_CHROOT_MOUNT=y
265 > CONFIG_GRKERNSEC_CHROOT_DOUBLE=y
266 > CONFIG_GRKERNSEC_CHROOT_PIVOT=y
267 > CONFIG_GRKERNSEC_CHROOT_CHDIR=y
268 > CONFIG_GRKERNSEC_CHROOT_CHMOD=y
269 > CONFIG_GRKERNSEC_CHROOT_FCHDIR=y
270 > CONFIG_GRKERNSEC_CHROOT_MKNOD=y
271 > CONFIG_GRKERNSEC_CHROOT_SHMAT=y
272 > CONFIG_GRKERNSEC_CHROOT_UNIX=y
273 > CONFIG_GRKERNSEC_CHROOT_FINDTASK=y
274 > CONFIG_GRKERNSEC_CHROOT_NICE=y
275 > CONFIG_GRKERNSEC_CHROOT_SYSCTL=y
276 > CONFIG_GRKERNSEC_CHROOT_CAPS=y
277 > CONFIG_GRKERNSEC_CHROOT_INITRD=y
278 > # CONFIG_GRKERNSEC_AUDIT_GROUP is not set
279 > # CONFIG_GRKERNSEC_EXECLOG is not set
280 > CONFIG_GRKERNSEC_RESLOG=y
281 > # CONFIG_GRKERNSEC_CHROOT_EXECLOG is not set
282 > # CONFIG_GRKERNSEC_AUDIT_PTRACE is not set
283 > # CONFIG_GRKERNSEC_AUDIT_CHDIR is not set
284 > CONFIG_GRKERNSEC_AUDIT_MOUNT=y
285 > CONFIG_GRKERNSEC_SIGNAL=y
286 > CONFIG_GRKERNSEC_FORKFAIL=y
287 > CONFIG_GRKERNSEC_TIME=y
288 > CONFIG_GRKERNSEC_PROC_IPADDR=y
289 > CONFIG_GRKERNSEC_RWXMAP_LOG=y
290 > CONFIG_GRKERNSEC_DMESG=y
291 > CONFIG_GRKERNSEC_HARDEN_PTRACE=y
292 > CONFIG_GRKERNSEC_PTRACE_READEXEC=y
293 > CONFIG_GRKERNSEC_SETXID=y
294 > CONFIG_GRKERNSEC_HARDEN_IPC=y
295 > CONFIG_GRKERNSEC_TPE=y
296 > CONFIG_GRKERNSEC_TPE_ALL=y
297 > CONFIG_GRKERNSEC_TPE_INVERT=y
298 > CONFIG_GRKERNSEC_TPE_GID=55555
299 > CONFIG_GRKERNSEC_RANDNET=y
300 > CONFIG_GRKERNSEC_BLACKHOLE=y
301 > CONFIG_GRKERNSEC_NO_SIMULT_CONNECT=y
302 > # CONFIG_GRKERNSEC_SOCKET is not set
303 > CONFIG_GRKERNSEC_SYSCTL=y
304 > # CONFIG_GRKERNSEC_SYSCTL_DISTRO is not set
305 > CONFIG_GRKERNSEC_SYSCTL_ON=y
306 > CONFIG_GRKERNSEC_FLOODTIME=10
307 > CONFIG_GRKERNSEC_FLOODBURST=6
308 >
309
310
311
312 --
313 André Aparício
314 andre.aparicio@×××××××××××××××××××.pt
315
316 Administração de Sistemas da Rede das Novas Licenciaturas
317 Técnico Lisboa
318
319 web: http://www.rnl.tecnico.ulisboa.pt
320 email: rnl@×××××××××××××××××××.pt
321 telefone: +351 218 41 77 71

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies