Author: dnusinow
Date: 2006-06-30 02:07:11 -0400 (Fri, 30 Jun 2006)
New Revision: 2363

Added:
   trunk/lib/xtrans/debian/patches/03_SECURITY_setuid.diff
Modified:
   trunk/lib/xtrans/debian/changelog
   trunk/lib/xtrans/debian/patches/series
Log:
* Security update. Fix for setuid privledge escalation vulernabilities.
  See http://lists.freedesktop.org/archives/xorg/2006-June/016146.html for
  the full advisory.

Modified: trunk/lib/xtrans/debian/changelog
===================================================================
--- trunk/lib/xtrans/debian/changelog   2006-06-30 05:59:40 UTC (rev 2362)
+++ trunk/lib/xtrans/debian/changelog   2006-06-30 06:07:11 UTC (rev 2363)
@@ -1,3 +1,11 @@
+xtrans (1.0.0-6) unstable; urgency=high
+
+  * Security update. Fix for setuid privledge escalation vulernabilities.
+    See http://lists.freedesktop.org/archives/xorg/2006-June/016146.html for
+    the full advisory.
+
+ -- David Nusinow <[EMAIL PROTECTED]>  Fri, 30 Jun 2006 02:06:09 -0400
+
 xtrans (1.0.0-5) unstable; urgency=low
 
   * Reorder makeshlib command in rules file so that ldconfig is run

Added: trunk/lib/xtrans/debian/patches/03_SECURITY_setuid.diff
===================================================================
--- trunk/lib/xtrans/debian/patches/03_SECURITY_setuid.diff     2006-06-30 
05:59:40 UTC (rev 2362)
+++ trunk/lib/xtrans/debian/patches/03_SECURITY_setuid.diff     2006-06-30 
06:07:11 UTC (rev 2363)
@@ -0,0 +1,31 @@
+Index: xtrans/Xtranslcl.c
+===================================================================
+--- xtrans.orig/Xtranslcl.c    2006-06-30 02:02:58.000000000 -0400
++++ xtrans/Xtranslcl.c 2006-06-30 02:04:46.000000000 -0400
+@@ -360,7 +360,10 @@
+       uid_t       saved_euid;
+ 
+       saved_euid = geteuid();
+-      setuid( getuid() ); /** sets the euid to the actual/real uid **/
++    /** sets the euid to the actual/real uid **/
++    if (setuid( getuid() ) == -1) {
++        exit(1);
++    }
+       if( chown( slave, saved_euid, -1 ) < 0 ) {
+               exit( 1 );
+               }
+@@ -369,7 +372,13 @@
+     }
+ 
+     waitpid(saved_pid, &exitval, 0);
+-
++    if (WIFEXITED(exitval) && WEXITSTATUS(exitval) != 0) {
++         close(fd);
++         close(server);
++         PRMSG(1, "PTSOpenClient: cannot set the owner of %s\n",
++               slave, 0, 0);
++         return(-1);
++    }
+     if (chmod(slave, 0666) < 0) {
+       close(fd);
+       close(server);

Modified: trunk/lib/xtrans/debian/patches/series
===================================================================
--- trunk/lib/xtrans/debian/patches/series      2006-06-30 05:59:40 UTC (rev 
2362)
+++ trunk/lib/xtrans/debian/patches/series      2006-06-30 06:07:11 UTC (rev 
2363)
@@ -1,2 +1,3 @@
 01_hurd_maxhostnamelen.diff -p3
 02_gnu-kbsd_sock_un.diff -p0
+03_SECURITY_setuid.diff


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to