summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikle Kolyada <zlogene@gentoo.org>2014-01-19 17:55:01 +0000
committerMikle Kolyada <zlogene@gentoo.org>2014-01-19 17:55:01 +0000
commitff126866f4fc986a772fbd7af60b93b0a36271b0 (patch)
tree8df5eb5c891d3d47242a79493ed1d4c195e1024d /dev-perl/PlRPC
parentDrop ~arm for now (diff)
downloadgentoo-2-ff126866f4fc986a772fbd7af60b93b0a36271b0.tar.gz
gentoo-2-ff126866f4fc986a772fbd7af60b93b0a36271b0.tar.bz2
gentoo-2-ff126866f4fc986a772fbd7af60b93b0a36271b0.zip
Security bump wrt byg #497692
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 0xC42EB5D6)
Diffstat (limited to 'dev-perl/PlRPC')
-rw-r--r--dev-perl/PlRPC/ChangeLog8
-rw-r--r--dev-perl/PlRPC/PlRPC-0.202.0-r2.ebuild31
-rw-r--r--dev-perl/PlRPC/files/Security-notice-on-Storable-and-reply-attack.patch105
3 files changed, 143 insertions, 1 deletions
diff --git a/dev-perl/PlRPC/ChangeLog b/dev-perl/PlRPC/ChangeLog
index 7cceb98fc49d..5fff7af979ae 100644
--- a/dev-perl/PlRPC/ChangeLog
+++ b/dev-perl/PlRPC/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-perl/PlRPC
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-perl/PlRPC/ChangeLog,v 1.65 2014/01/15 20:41:32 zlogene Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-perl/PlRPC/ChangeLog,v 1.66 2014/01/19 17:55:01 zlogene Exp $
+
+*PlRPC-0.202.0-r2 (19 Jan 2014)
+
+ 19 Jan 2014; Mikle Kolyada <zlogene@gentoo.org> +PlRPC-0.202.0-r2.ebuild,
+ +files/Security-notice-on-Storable-and-reply-attack.patch:
+ Security bump wrt byg #497692
15 Jan 2014; Mikle Kolyada <zlogene@gentoo.org> -PlRPC-0.202.0.ebuild,
PlRPC-0.202.0-r1.ebuild:
diff --git a/dev-perl/PlRPC/PlRPC-0.202.0-r2.ebuild b/dev-perl/PlRPC/PlRPC-0.202.0-r2.ebuild
new file mode 100644
index 000000000000..1c6faaef1900
--- /dev/null
+++ b/dev-perl/PlRPC/PlRPC-0.202.0-r2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-perl/PlRPC/PlRPC-0.202.0-r2.ebuild,v 1.1 2014/01/19 17:55:01 zlogene Exp $
+
+EAPI=5
+
+MODULE_AUTHOR=MNOONING
+MODULE_SECTION=${PN}
+MODULE_VERSION=0.2020
+inherit perl-module
+
+S=${WORKDIR}/${PN}
+
+DESCRIPTION="The Perl RPC Module"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND=">=virtual/perl-Storable-1.0.7
+ >=dev-perl/Net-Daemon-0.34"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/perldoc-remove.patch"
+ "${FILESDIR}/Security-notice-on-Storable-and-reply-attack.patch" )
+
+src_test() {
+ PERL_DL_NONLAZY=1 /usr/bin/perl \
+ "-MExtUtils::Command::MM" \
+ "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
+}
diff --git a/dev-perl/PlRPC/files/Security-notice-on-Storable-and-reply-attack.patch b/dev-perl/PlRPC/files/Security-notice-on-Storable-and-reply-attack.patch
new file mode 100644
index 000000000000..877e7bc816dc
--- /dev/null
+++ b/dev-perl/PlRPC/files/Security-notice-on-Storable-and-reply-attack.patch
@@ -0,0 +1,105 @@
+From 29f5ad4805a04e4c4fd18795f7153798c80a46ce Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Mon, 18 Nov 2013 12:20:52 +0100
+Subject: [PATCH] Security notice on Storable and reply attack
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+---
+ README | 16 ++++++++++++++++
+ lib/RPC/PlServer.pm | 15 +++++++++++++++
+ 2 files changed, 31 insertions(+)
+
+diff --git a/README b/README
+index 8a68657..48a33e4 100644
+--- a/README
++++ b/README
+@@ -204,6 +204,7 @@ EXAMPLE
+ require RPC::PlServer;
+ require MD5;
+
++
+ package MD5_Server; # Clients need to request application
+ # "MD5_Server"
+
+@@ -245,6 +246,10 @@ SECURITY
+ that I missed something. Security was a design goal, but not *the*
+ design goal. (A well known problem ...)
+
++ Due to implementation of PlRPC, it's hard to use internal authentication
++ mechanisms properly to achieve secured remote calls. Therefore users are
++ advised to use an external authentication mechanism like TLS or IPsec.
++
+ I highly recommend the following design principles:
+
+ Protection against "trusted" users
+@@ -263,6 +268,14 @@ SECURITY
+ Be restrictive
+ Think twice, before you give a client access to a method.
+
++ Use of Storable
++ Storable module used for serialization and deserialization
++ underneath is inherently insecure. Deserialized data can contain
++ objects which lead to loading foreign modules and executing possible
++ attached destructors. Do not accept host-based unauthorized
++ connections. The Storable module is exercised before checking user
++ password.
++
+ perlsec
+ And just in case I forgot it: Read the "perlsec" man page. :-)
+
+@@ -283,6 +296,9 @@ SECURITY
+ authorized, you should switch to a user based key. See the
+ DBI::ProxyServer for an example.
+
++ Please note PlRPC encryption does not protect from reply attacks.
++ You should have implement it on the application or the cipher level.
++
+ AUTHOR AND COPYRIGHT
+ The PlRPC-modules are
+
+diff --git a/lib/RPC/PlServer.pm b/lib/RPC/PlServer.pm
+index 10b56c9..ce38594 100644
+--- a/lib/RPC/PlServer.pm
++++ b/lib/RPC/PlServer.pm
+@@ -613,6 +613,10 @@ I did my best to avoid security problems, but it is more than likely,
+ that I missed something. Security was a design goal, but not *the*
+ design goal. (A well known problem ...)
+
++Due to implementation of PlRPC, it's hard to use internal authentication
++mechanisms properly to achieve secured remote calls. Therefore users are
++advised to use an external authentication mechanism like TLS or IPsec.
++
+ I highly recommend the following design principles:
+
+ =head2 Protection against "trusted" users
+@@ -637,6 +641,14 @@ object handle is valid before coercing a method on it.
+
+ Think twice, before you give a client access to a method.
+
++=item Use of Storable
++
++L<Storable> module used for serialization and deserialization underneath is
++inherently insecure. Deserialized data can contain objects which lead to
++loading foreign modules and executing possible attached destructors. Do not
++accept host-based unauthorized connections. The L<Storable> module is
++exercised before checking user password.
++
+ =item perlsec
+
+ And just in case I forgot it: Read the C<perlsec> man page. :-)
+@@ -667,6 +679,9 @@ login phase, where to use a host based key. As soon as the user
+ has authorized, you should switch to a user based key. See the
+ DBI::ProxyServer for an example.
+
++Please note PlRPC encryption does not protect from reply attacks. You should
++have implement it on the application or the cipher level.
++
+ =back
+
+ =head1 AUTHOR AND COPYRIGHT
+--
+1.8.3.1
+