tags 457781 + patch
thanks

Hi,
in case you have no time to fix this, attached is a patch 
for an NMU proposal which contains a fix.
It will be also archived on:
http://people.debian.org/~nion/nmu-diff/tcpreen-1.4.3-0.1_1.4.3-0.2.patch

Kind regards
Nico

-- 
Nico Golde - http://www.ngolde.de - [EMAIL PROTECTED] - GPG: 0x73647CFF
For security reasons, all text in this mail is double-rot13 encrypted.
diff -u tcpreen-1.4.3/debian/changelog tcpreen-1.4.3/debian/changelog
--- tcpreen-1.4.3/debian/changelog
+++ tcpreen-1.4.3/debian/changelog
@@ -1,3 +1,13 @@
+tcpreen (1.4.3-0.2) unstable; urgency=high
+
+  * Non-maintainer upload by security team.
+  * This update addresses the following security issue:
+    - remote buffer-overflow vulnerability in bridge.cpp because
+      tcpreen fails to check user supplied data passed to
+      the monitor_bridge function (Closes: #457781).
+
+ -- Nico Golde <[EMAIL PROTECTED]>  Tue, 25 Dec 2007 17:32:38 +0100
+
 tcpreen (1.4.3-0.1) unstable; urgency=low
 
   * NMU, with permission from maintainer.
--- tcpreen-1.4.3.orig/src/bridge.cpp
+++ tcpreen-1.4.3/src/bridge.cpp
@@ -23,6 +23,7 @@
 # include <config.h>
 #endif
 
+#include <errno.h>
 #include <string.h> // memmove()
 #include <limits.h> // LONG_MAX
 #include <sys/types.h>
@@ -115,6 +116,14 @@
 	long totalcount = 0;
 	bridge b[2];
 
+#ifndef WIN32
+	if ((fds[0] >= FD_SETSIZE) || (fds[1] >= FD_SETSIZE))
+	{
+		errno = EINVAL;
+		return -1;
+	}
+#endif
+
 	b[0].outfd = b[1].infd = fds[0];
 	b[0].infd = b[1].outfd = fds[1];
 	b[0].buflen = b[1].buflen = 0;

Attachment: pgprvGgwBG4sM.pgp
Description: PGP signature

Reply via email to