Apply by doing:
cd /usr/src
patch -p0 < 006_ibcs2.patch
And then rebuild your kernel.
Index: sys/compat/ibcs2/ibcs2_exec.c
===================================================================
RCS file: /cvs/src/sys/compat/ibcs2/ibcs2_exec.c,v
retrieving revision 1.14.6.1
retrieving revision 1.14.6.2
diff -u -r1.14.6.1 -r1.14.6.2
--- sys/compat/ibcs2/ibcs2_exec.c 3 Nov 2003 23:23:50 -0000 1.14.6.1
+++ sys/compat/ibcs2/ibcs2_exec.c 17 Nov 2003 16:41:19 -0000 1.14.6.2
@@ -425,11 +425,14 @@
size_t resid;
struct coff_slhdr *slhdr;
char buf[128], *bufp; /* FIXME */
- int len = sh.s_size, path_index, entry_len;
+ unsigned int len = sh.s_size, path_index, entry_len;
/* DPRINTF(("COFF shlib size %d offset %d\n",
sh.s_size, sh.s_scnptr)); */
+ if (len > sizeof(buf))
+ return (ENOEXEC);
+
error = vn_rdwr(UIO_READ, epp->ep_vp, (caddr_t) buf,
len, sh.s_scnptr,
UIO_SYSSPACE, IO_NODELOCKED, p->p_ucred,
@@ -446,6 +449,9 @@
/* DPRINTF(("path_index: %d entry_len: %d name: %s\n",
path_index, entry_len, slhdr->sl_name)); */
+
+ if (entry_len > len)
+ return (ENOEXEC);
error = coff_load_shlib(p, slhdr->sl_name, epp);
if (error)