All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] d_path()
@ 2002-03-28  0:35 Benoit Timbert
  2002-03-28  0:42 ` is http://bkbits.net down? Petko Manolov
  0 siblings, 1 reply; 3+ messages in thread
From: Benoit Timbert @ 2002-03-28  0:35 UTC (permalink / raw)
  To: linux-kernel; +Cc: security

Hello,

I have found this advisory on BUGTRAQ about d_path() :
http://online.securityfocus.com/archive/1/264117


I have made the following modifications in the d_path() of
Linux 2.2.20 : d_path() return an empty string when the path is
too large.

--- /usr/src/linux/fs/dcache.c.orig	Fri Nov  2 17:39:08 2001
+++ /usr/src/linux/fs/dcache.c	Wed Mar 27 23:30:32 2002
@@ -794,8 +794,11 @@
 			break;
 		namelen = dentry->d_name.len;
 		buflen -= namelen + 1;
-		if (buflen < 0)
+		if (buflen < 0) {
+			/* FIXME : buffer overflow -> no return */
+			retval = buffer+buflen;
 			break;
+		}
 		end -= namelen;
 		memcpy(end, dentry->d_name.name, namelen);
 		*--end = '/';

---

I don't know, if it really fixes well the problem, but i tested the
proposed exploit on my patched kernel and getcwd() does return an error.

It is probable that you have already fixed this, in a better way.

Benoît Timbert

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-03-28  0:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-03-28  0:35 [PATCH] d_path() Benoit Timbert
2002-03-28  0:42 ` is http://bkbits.net down? Petko Manolov
2002-03-28  0:43   ` David S. Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.