]> git.pld-linux.org Git - packages/perl.git/commitdiff
- major sperl (suidperl) vulnerability, CAN-2005-0155
authorradek <radek@pld-linux.org>
Sat, 19 Feb 2005 10:18:48 +0000 (10:18 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    perl_586-sperl-CAN-2005-0155.patch -> 1.1

perl_586-sperl-CAN-2005-0155.patch [new file with mode: 0644]

diff --git a/perl_586-sperl-CAN-2005-0155.patch b/perl_586-sperl-CAN-2005-0155.patch
new file mode 100644 (file)
index 0000000..8b8b49b
--- /dev/null
@@ -0,0 +1,22 @@
+Index: perlio.c
+===================================================================
+--- perlio.c   (revision 4342)
++++ perlio.c   (revision 4346)
+@@ -454,7 +454,7 @@
+     va_list ap;
+     dSYS;
+     va_start(ap, fmt);
+-    if (!dbg) {
++    if (!dbg && !PL_tainting && PL_uid == PL_euid && PL_gid == PL_egid) {
+       char *s = PerlEnv_getenv("PERLIO_DEBUG");
+       if (s && *s)
+           dbg = PerlLIO_open3(s, O_WRONLY | O_CREAT | O_APPEND, 0666);
+@@ -471,7 +471,7 @@
+       s = CopFILE(PL_curcop);
+       if (!s)
+           s = "(none)";
+-      sprintf(buffer, "%s:%" IVdf " ", s, (IV) CopLINE(PL_curcop));
++      sprintf(buffer, "%.40s:%" IVdf " ", s, (IV) CopLINE(PL_curcop));
+       len = strlen(buffer);
+       vsprintf(buffer+len, fmt, ap);
+       PerlLIO_write(dbg, buffer, strlen(buffer));
This page took 0.123723 seconds and 4 git commands to generate.