diff options
author | tobez <tobez@FreeBSD.org> | 2005-02-02 23:58:07 +0800 |
---|---|---|
committer | tobez <tobez@FreeBSD.org> | 2005-02-02 23:58:07 +0800 |
commit | 6ab37c953ccf58aa34b9711eb20ad9eb8c42ba31 (patch) | |
tree | 5153d6021e8925d28fe90b3640ff3994e7c3e92f /lang/perl5.8 | |
parent | e7f59363952e65a6c4c5f1c3716e1789fccdf11b (diff) | |
download | freebsd-ports-gnome-6ab37c953ccf58aa34b9711eb20ad9eb8c42ba31.tar.gz freebsd-ports-gnome-6ab37c953ccf58aa34b9711eb20ad9eb8c42ba31.tar.zst freebsd-ports-gnome-6ab37c953ccf58aa34b9711eb20ad9eb8c42ba31.zip |
Fix vulnerability in suidperl/sperl [CAN-2005-0155].
Fix buffer overflow in perl [CAN-2005-0156].
Bump PORTREVISION.
Upgrade from previous versions/revisions of lang/perl5.8 is recommended.
Submitted by: Nicholas Clark <nick $at$ ccl4 org>
Diffstat (limited to 'lang/perl5.8')
-rw-r--r-- | lang/perl5.8/Makefile | 2 | ||||
-rw-r--r-- | lang/perl5.8/files/patch-patchlevel.h | 13 | ||||
-rw-r--r-- | lang/perl5.8/files/patch-perlio.c | 22 |
3 files changed, 36 insertions, 1 deletions
diff --git a/lang/perl5.8/Makefile b/lang/perl5.8/Makefile index 4b23c9f21a6f..ba5fd45a0754 100644 --- a/lang/perl5.8/Makefile +++ b/lang/perl5.8/Makefile @@ -7,7 +7,7 @@ PORTNAME= perl PORTVERSION= ${PERL_VER} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang devel perl5 MASTER_SITES= ${MASTER_SITE_PERL_CPAN} \ ${MASTER_SITE_LOCAL:S/$/:local/} \ diff --git a/lang/perl5.8/files/patch-patchlevel.h b/lang/perl5.8/files/patch-patchlevel.h new file mode 100644 index 000000000000..c24961cf5dbc --- /dev/null +++ b/lang/perl5.8/files/patch-patchlevel.h @@ -0,0 +1,13 @@ +$FreeBSD$ + +--- patchlevel.h.orig Wed Feb 2 16:45:30 2005 ++++ patchlevel.h Wed Feb 2 16:45:34 2005 +@@ -120,6 +120,8 @@ hunk. + #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT) + static char *local_patches[] = { + NULL ++ ,"SUIDPERLIO0 - fix PERLIO_DEBUG local root exploit (CAN-2005-0155)" ++ ,"SUIDPERLIO1 - fix PERLIO_DEBUG buffer overflow (CAN-2005-0156)" + ,NULL + }; + diff --git a/lang/perl5.8/files/patch-perlio.c b/lang/perl5.8/files/patch-perlio.c new file mode 100644 index 000000000000..c680381d2123 --- /dev/null +++ b/lang/perl5.8/files/patch-perlio.c @@ -0,0 +1,22 @@ +$FreeBSD$ + +--- perlio.c.orig Wed Feb 2 16:45:24 2005 ++++ perlio.c Wed Feb 2 16:45:34 2005 +@@ -454,7 +454,7 @@ PerlIO_debug(const char *fmt, ...) + 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 @@ PerlIO_debug(const char *fmt, ...) + 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)); |