* [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.