diff options
author | Mikle Kolyada <zlogene@gentoo.org> | 2014-01-19 17:55:01 +0000 |
---|---|---|
committer | Mikle Kolyada <zlogene@gentoo.org> | 2014-01-19 17:55:01 +0000 |
commit | ff126866f4fc986a772fbd7af60b93b0a36271b0 (patch) | |
tree | 8df5eb5c891d3d47242a79493ed1d4c195e1024d /dev-perl/PlRPC | |
parent | Drop ~arm for now (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | dev-perl/PlRPC/PlRPC-0.202.0-r2.ebuild | 31 | ||||
-rw-r--r-- | dev-perl/PlRPC/files/Security-notice-on-Storable-and-reply-attack.patch | 105 |
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 + |