[8092] in bugtraq

home help back first fref pref prev next nref lref last post

Re: rpc.mountd vulnerabilities

daemon@ATHENA.MIT.EDU (Olaf Kirch)
Wed Sep 30 13:55:25 1998

Date: 	Wed, 30 Sep 1998 12:00:44 +0200
Reply-To: Olaf Kirch <okir@MONAD.SWB.DE>
From: Olaf Kirch <okir@MONAD.SWB.DE>
X-To:         tiago <tiagor@SOLSUNI.PT>
To: BUGTRAQ@NETSPACE.ORG
In-Reply-To:  Your message of "Tue, 29 Sep 1998 10:57:02 BST." 
              <3610AEED.7024F8BB@solsuni.pt>

-----BEGIN PGP SIGNED MESSAGE-----

On Tue, 29 Sep 1998 10:57:02 BST, tiago wrote:
>   I will send the diffs of a patch in one or two days.
>   I did not contact the maintainer of the distribution. Anyone would
> please do so?

Why? If you had had a look at the file called BUGS you would have found
instructions about where to submit bug reports: unfsd@monad.swb.de.
What more can a maintainer of a package do than use file names that
scream at you?

A patch against 2.2beta29 (which most people seem to be using at the
moment) is included. The latest tarball is available from
ftp://linux.mathematik.tu-darmstadt.de/pub/linux/people/okir/

afe0f88c48add25f304a387ae4fb40ba  nfs-server-2.2beta37.tar.gz


Olaf
- --
Olaf Kirch         |  --- o --- Nous sommes du soleil we love when we play
okir@monad.swb.de  |    / | \   sol.dhoop.naytheet.ah kin.ir.samse.qurax

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2i

iQCVAwUBNhIQgOFnVHXv40etAQEUhAP+KvwZ0fH2q1T+ygBzREyy80JAfwo74ZT2
/9gx0q2OfKeY+jZuSgBfdlSz3Mz3+9iY8QRaDBDIoybZD8BpKQ76jok451rWlnVX
nXJU7K7NYcgCmLmGn7EoH5kv2C5EojXkzLd3F45k+ceJP/rxdQntheb6tOGpTa1V
gD7BUlSwHiQ=
=ZhRc
-----END PGP SIGNATURE-----
------------------------------------------------------------------
diff -ur nfs-server-2.2beta29.orig/mount_dispatch.c nfs-server-2.2beta29/mount_dispatch.c
--- nfs-server-2.2beta29.orig/mount_dispatch.c  Wed Feb  5 17:07:28 1997
+++ nfs-server-2.2beta29/mount_dispatch.c       Wed Sep 30 12:04:52 1998
@@ -25,6 +25,8 @@
  */
 #define        MAXVERS         2

+#define NRENTRIES(x)   (sizeof(x) / sizeof((x)[0]))
+
 /*
  * This is a dispatch table to simplify error checking,
  * and supply return attributes for NFS functions.
@@ -95,8 +97,8 @@
 };

 static unsigned int            dtnrprocs[MAXVERS] = {
-       sizeof(mount_1_table),
-       sizeof(mount_2_table),
+       NRENTRIES(mount_1_table),
+       NRENTRIES(mount_2_table),
 };

 /*
@@ -114,12 +116,15 @@
        vers_index = rqstp->rq_vers - 1;
        _rpcsvcdirty = 1;

-       dtbl = dtable[vers_index];
-
+       if (vers_index >= MAXVERS) {
+               svcerr_progvers(transp, 1, MAXVERS);
+               goto done;
+       }
        if (proc_index >= dtnrprocs[vers_index]) {
                svcerr_noproc(transp);
                goto done;
        }
+       dtbl = dtable[vers_index];
        dent = &dtbl[proc_index];

        memset(&argument, 0, dent->arg_size);
------------------------------------------------------------------

home help back first fref pref prev next nref lref last post