summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2013-09-19 16:07:55 +0000
committerDoug Goldstein <cardoe@gentoo.org>2013-09-19 16:07:55 +0000
commit26a1707b6f31aaf164007da65ad1711a900d0b4f (patch)
tree81318e0153682518a16b19e8d59e123d053c0d2a /sys-auth
parentgnu_andrew never wanted to be a proxied maintainer for this package and has a... (diff)
downloadhistorical-26a1707b6f31aaf164007da65ad1711a900d0b4f.tar.gz
historical-26a1707b6f31aaf164007da65ad1711a900d0b4f.tar.bz2
historical-26a1707b6f31aaf164007da65ad1711a900d0b4f.zip
Bump for CVE-2013-4288
Package-Manager: portage-2.2.1/cvs/Linux x86_64 Manifest-Sign-Key: 0xD7DFA8D318FA9AEF!
Diffstat (limited to 'sys-auth')
-rw-r--r--sys-auth/polkit/ChangeLog8
-rw-r--r--sys-auth/polkit/Manifest20
-rw-r--r--sys-auth/polkit/files/polkit-0.110-CVE-2013-4288.patch113
-rw-r--r--sys-auth/polkit/polkit-0.110-r1.ebuild108
4 files changed, 239 insertions, 10 deletions
diff --git a/sys-auth/polkit/ChangeLog b/sys-auth/polkit/ChangeLog
index 7afab09007f8..91ec967436e5 100644
--- a/sys-auth/polkit/ChangeLog
+++ b/sys-auth/polkit/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-auth/polkit
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-auth/polkit/ChangeLog,v 1.147 2013/09/19 15:47:54 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-auth/polkit/ChangeLog,v 1.148 2013/09/19 16:07:41 cardoe Exp $
+
+*polkit-0.110-r1 (19 Sep 2013)
+
+ 19 Sep 2013; Doug Goldstein <cardoe@gentoo.org>
+ +files/polkit-0.110-CVE-2013-4288.patch, +polkit-0.110-r1.ebuild:
+ Bump for CVE-2013-4288
*polkit-0.112 (19 Sep 2013)
diff --git a/sys-auth/polkit/Manifest b/sys-auth/polkit/Manifest
index ecd95bfa6244..33110a0520fa 100644
--- a/sys-auth/polkit/Manifest
+++ b/sys-auth/polkit/Manifest
@@ -1,25 +1,27 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
+AUX polkit-0.110-CVE-2013-4288.patch 5078 SHA256 a8c9ba12ff5b2bc330ac40b069b9648a073238688895282d1841fb1f0eb896d5 SHA512 d36b519b97697649cb253736c0ca7d7d526069afffa1592c280207c91b57fa6e942ce610808f28f29f37981a3459c6937d7679da0778c7c49ba8438fc1d03396 WHIRLPOOL 9bed36bdc4131a20afaca20a3de7bfed4faeba750444a77309dd0c4ab33264513fc0b5637b4eca199408512531eda06480f2c5f2ff5202a750781224d27fc478
AUX polkit-0.110-W_define.patch 810 SHA256 75a47bbf04e328a8622996d40128752c6951ce434c404cca87ad3838b848874b SHA512 e17cb4867c0d16c04e4d68dfb95eb58f27cf64e1b8c6b36fa24c876c78bee990bb07a08bb7c335e333797075911639b8c6049909e7948bc86fd07e1abce2be88 WHIRLPOOL 74610ba53eb185f3963fe6dfdddcb2eb4aaa4bf23057939dcfde0d4ada296c7f904a2d45e470a0f0cdae9919c6f51512ee45ea7cb623eb3367439abeac2cb538
DIST polkit-0.110.tar.gz 1390215 SHA256 8e5c5044bb968643b7fa379f287fb10582615df760ad2f1cb84be6e19fafe6e8 SHA512 f2630a84c21216edfc69f56092ba1b127b7765dcf4fe29a7f2f81d7163c11c643a931b215847a3fc6434c482cf12a48fef2f0e2c007d587c8bbb2fbca74eda67 WHIRLPOOL 1a4928733cdab6c9dfa186643959f15d395f6d6cba0a3790a9716282d331ceed3e962e58dc39ed2c40474238fc4d4c9e54662b20d0055059c512d42eed85631b
DIST polkit-0.111.tar.gz 1396389 SHA256 02ae544547211b687818c97bcbf19bf6b8b5be7fda93000525a8765c7bed1ea1 SHA512 88eb1dfad25244020632f964219a382f7b7f7efc00cf563c66f9c6e6ef72af3c7198602be751aa8f0845b5b4f928d003e8041e1c92533beb9d00c38a7688b2d0 WHIRLPOOL dc3941e3de2767b766e4b984475485c743de113fe7b6fe1e6d89acff1a113bdb825366bc214a02aa07fdd148337ff11614a37ca450743910c4953979f99f4604
DIST polkit-0.112.tar.gz 1429240 SHA256 d695f43cba4748a822fbe864dd32c4887c5da1c71694a47693ace5e88fcf6af6 SHA512 e4ad1bd287b38e5650cb94b1897a959b2ceaa6c19b4478ba872eacb13b58758fd42f6ab1718976162d823d850cd5c99b3ccadf1b57d75dea7790101422029d5f WHIRLPOOL af5dd0a17b7356302b0319e80565d6ac916128dfc85b6e2711147f3de86651f11fe8d08f3d6067d7abd24e263be92403f9d8f46935ba93db571e386a603a038a
+EBUILD polkit-0.110-r1.ebuild 2787 SHA256 570da29ce8c19b7138af17454cbb791d96cf172febc1974e621dcd42b8561675 SHA512 d7b6bb260b2cc9199f1cc030ef8fbd12c434ca5564344b8d9dcb6796568fdc619134fba9a726acda5e74e5761d3ce8f0dfb2d04911c6c236d5fc5e6ca5b9c7cd WHIRLPOOL 1975dd5da95940f0dd62fe3c98f72f29dd17e898095f510f55cfcef5a8ff8b3c395cc90f7b8129e59956a9778aee4f05bb75ae2c415bc2313b7c799d73071e1a
EBUILD polkit-0.110.ebuild 3042 SHA256 77f25cf950072a856731546f040c41fdb6b4e5bf4a9da2aacfdeee8b85d68860 SHA512 8c1555692406becc97eae07b2feb55c63915fcbc91688b6d80527c64b44e58624c806ada9c06efddb96acefc5ce5ac8ecef220594716a942ad651a018aefc8fa WHIRLPOOL ad47215ffcee4ecdddf1d1a5a6a24941462e927f673202ef055c72afd3f5165e2011b853dbbec19e40546143ce23177ec139ed9fb796353fb9935a731b89da3a
EBUILD polkit-0.111-r1.ebuild 2917 SHA256 b29aea770e9b3f2850c9b70a831cc32ce1f950d54a7f265faa3e05f62efabbba SHA512 bcb0410bb9c486a09bdfb2632144a19c4cf45ebc7ac5670f98d8707d1d007bff04c19448d7fa68b46b2eee436c8855d0dfb1b667dd8bff52d05d4e7c05902c2c WHIRLPOOL fc94c62614151ae5e06cc2326e97e47f6b01fb9c54e9b013c5d73db7f2cadaf978eb3bffd2ecde083c72fb3aadbcaa23e48f19aec9b986df7eadf82ed7a84f46
EBUILD polkit-0.112.ebuild 2911 SHA256 bf2208fd70501e509f2e16cec5fcc1dc6f09fdc3b07aa2f56b025e7daa83d2b6 SHA512 05ad14409df776b81d0c7b7244cf4338116c03a1a79df8489e344ad333f469f46043d1bacbf0b23207dfcb018731626ee693b7b626b3bac0450a554e6fcb5e65 WHIRLPOOL 91dd308cb05c8f8da5d8b7b2d0d81ad8ec4509b0b0e8ad4d55fe29199f5345e146cc06d1cc83dd60d73aa22a9a6083b440cb3866955b7ea3109f5129c8d3ca76
-MISC ChangeLog 20624 SHA256 13cb3a3c9433eef3bcc6bb0fbb252d6286ea6933c3773eb4c98466a7364f161f SHA512 95bb99de15036af6a7bfd4e0b8305d330aeeb2b702f098425e3ffc730bbd72d899a47f66468dc328849d338ea594456e29f530f15b9a02b92928c37098a5e26f WHIRLPOOL af42f50fa2ca1a77e7124b149c71a9d1429f607c35f3949ecf04180e0b8d50044340a6701050f82374cf291d1c7a1b8d467d2913c9fdae9be9601a1f7dbcadf1
+MISC ChangeLog 20800 SHA256 f8c1cafb1c6ce7eb8d34fc6145c9cdafa31ea039fe271e2a5d99b308f250f781 SHA512 6138a7500bf25a8ae5dced90d17cedd33a136464fb3ed3bb66d2f9fd66b9e07841dc361b841fd9e8725044c2ee1f33ea5aee6b33e27cad265b2a0a25d74c0b5f WHIRLPOOL d892c81fc16554d142c7651559493da8e5df37d378a5ac33ef90b0e9370f790dc73690646139464482c7c5b87dcfbfbda94a5b3efe9aeb05df3447dc52c27817
MISC metadata.xml 516 SHA256 be8c8239fecd14fd1a9c1dee11ccb98b1188aceacf6ea58233a0f958ab648aba SHA512 293585c3b4c95b76af687f398645982d84d583e3cbf039a181c67c9710a899dad34cba9ff43f7be03a00d7552f42f0ac0a2a997c3ce7c9b80097a43f501001d4 WHIRLPOOL 4caf1316226570bec927b20957e420217a490c91013154b84f56fddf50cd5b525ccd0fd736a305ef5bc772cca734aadd8fec757238021b3e05046b503468e1a5
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
-iQF8BAEBCABmBQJSOxytXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
+iQF8BAEBCABmBQJSOyFXXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRDMDRGNEJFMDZEQTJGRUY3NkI4MEM3NTlE
-N0RGQThEMzE4RkE5QUVGAAoJENffqNMY+prv2koIAJbvfdP3z5+iCC2CSnDMmvpT
-NP3x+9AeciQd5e76IXz2RyJf31cUShfdpvIXvg1zpKUwvx7BB/0/8HSICkXmkq8u
-AyZg1X/ddvuLX7pRml1xFAeA+38FIN7OuR5Yex98xlGE0EEbclVLTuzAK3VUOXb7
-K0wHmHTwEYKVYZqLyyH1TccW7HPWyGyxPWGyA1oDVM1fWSwXVCrCaoeqkZNHzFuv
-bGh2TF1WCrAHsA0bjlT39Ec0WG6O27sDabrRgC7/VcRIG+pwm4ang/Z/5YhPjzvN
-9HRx5dHa4wgfRw2JkhJSjOlbJm7BA38uQfO0UjKrOQBeY+ioIcN130qjUMRaNrc=
-=zEB/
+N0RGQThEMzE4RkE5QUVGAAoJENffqNMY+prvwloH/3ktsKWkTVHRq9PG67zTVjNQ
+QzVWL7i09xluXNGyfzUU+ztw9GcuRlWrdt7EW2UYukjS2el3rTdwCuJeREtuuPRo
+2OVlOLg3s5c8/xAvT6nxRgrlHGKxuThCnxuGlGE17OPBrCYTry2sdAuATtXmP+nC
+9jgVOdxFeNPRqpBmM4YlOFbejbvQKV2nPWt5A7k/8wmmzm55SHY4ilfdbkyWLLd4
+YerNmY2gbHKKT3AQ6bYoTy5+qvLc8cGJVgDf3im17II2pxkp7n12YXzhFQW4nyOT
+NkgdmKnNl9bNXkZxy/8aEPKevB2DK61e/upIwVz4rOwLYnwjWZRmwUKo4kTEQC0=
+=i+LT
-----END PGP SIGNATURE-----
diff --git a/sys-auth/polkit/files/polkit-0.110-CVE-2013-4288.patch b/sys-auth/polkit/files/polkit-0.110-CVE-2013-4288.patch
new file mode 100644
index 000000000000..af2d7f276046
--- /dev/null
+++ b/sys-auth/polkit/files/polkit-0.110-CVE-2013-4288.patch
@@ -0,0 +1,113 @@
+commit c3502abf72c0c098adb40d7e362e94f93844a6b1
+Author: Colin Walters <walters@verbum.org>
+Date: Mon Aug 19 12:16:11 2013 -0400
+
+ pkcheck: Support --process=pid,start-time,uid syntax too
+
+ The uid is a new addition; this allows callers such as libvirt to
+ close a race condition in reading the uid of the process talking to
+ them. They can read it via getsockopt(SO_PEERCRED) or equivalent,
+ rather than having pkcheck look at /proc later after the fact.
+
+ Programs which invoke pkcheck but need to know beforehand (i.e. at
+ compile time) whether or not it supports passing the uid can
+ use:
+
+ pkcheck_supports_uid=$($PKG_CONFIG --variable pkcheck_supports_uid polkit-gobject-1)
+ test x$pkcheck_supports_uid = xyes
+ (cherry picked from commit 3968411b0c7ba193f9b9276ec911692aec248608)
+
+ Conflicts:
+ src/programs/pkcheck.c
+
+diff --git a/data/polkit-gobject-1.pc.in b/data/polkit-gobject-1.pc.in
+index c39677d..5c4c620 100644
+--- a/data/polkit-gobject-1.pc.in
++++ b/data/polkit-gobject-1.pc.in
+@@ -11,3 +11,6 @@ Version: @VERSION@
+ Libs: -L${libdir} -lpolkit-gobject-1
+ Cflags: -I${includedir}/polkit-1
+ Requires: gio-2.0 >= 2.18 glib-2.0 >= 2.18
++# Programs using pkcheck can use this to determine
++# whether or not it can be passed a uid.
++pkcheck_supports_uid=true
+diff --git a/docs/man/pkcheck.xml b/docs/man/pkcheck.xml
+index fc54054..c856ca4 100644
+--- a/docs/man/pkcheck.xml
++++ b/docs/man/pkcheck.xml
+@@ -55,6 +55,9 @@
+ <arg choice="plain">
+ <replaceable>pid,pid-start-time</replaceable>
+ </arg>
++ <arg choice="plain">
++ <replaceable>pid,pid-start-time,uid</replaceable>
++ </arg>
+ </group>
+ </arg>
+ <arg choice="plain">
+@@ -90,7 +93,7 @@
+ <title>DESCRIPTION</title>
+ <para>
+ <command>pkcheck</command> is used to check whether a process, specified by
+- either <option>--process</option> or <option>--system-bus-name</option>,
++ either <option>--process</option> (see below) or <option>--system-bus-name</option>,
+ is authorized for <replaceable>action</replaceable>. The <option>--detail</option>
+ option can be used zero or more times to pass details about <replaceable>action</replaceable>.
+ If <option>--allow-user-interaction</option> is passed, <command>pkcheck</command> blocks
+@@ -160,15 +163,23 @@ KEY3=VALUE3
+ <refsect1 id="pkcheck-notes">
+ <title>NOTES</title>
+ <para>
+- Since process identifiers can be recycled, the caller should always use
+- <replaceable>pid,pid-start-time</replaceable> to specify the process
+- to check for authorization when using the <option>--process</option> option.
+- The value of <replaceable>pid-start-time</replaceable>
+- can be determined by consulting e.g. the
++ Do not use either the bare <replaceable>pid</replaceable> or
++ <replaceable>pid,start-time</replaceable> syntax forms for
++ <option>--process</option>. There are race conditions in both.
++ New code should always use
++ <replaceable>pid,pid-start-time,uid</replaceable>. The value of
++ <replaceable>start-time</replaceable> can be determined by
++ consulting e.g. the
+ <citerefentry><refentrytitle>proc</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+- file system depending on the operating system. If only <replaceable>pid</replaceable>
+- is passed to the <option>--process</option> option, then <command>pkcheck</command>
+- will look up the start time itself but note that this may be racy.
++ file system depending on the operating system. If fewer than 3
++ arguments are passed, <command>pkcheck</command> will attempt to
++ look up them up internally, but note that this may be racy.
++ </para>
++ <para>
++ If your program is a daemon with e.g. a custom Unix domain
++ socket, you should determine the <replaceable>uid</replaceable>
++ parameter via operating system mechanisms such as
++ <literal>PEERCRED</literal>.
+ </para>
+ </refsect1>
+
+diff --git a/src/programs/pkcheck.c b/src/programs/pkcheck.c
+index 719a36c..057e926 100644
+--- a/src/programs/pkcheck.c
++++ b/src/programs/pkcheck.c
+@@ -372,6 +372,7 @@ main (int argc, char *argv[])
+ else if (g_strcmp0 (argv[n], "--process") == 0 || g_strcmp0 (argv[n], "-p") == 0)
+ {
+ gint pid;
++ guint uid;
+ guint64 pid_start_time;
+
+ n++;
+@@ -381,7 +382,11 @@ main (int argc, char *argv[])
+ goto out;
+ }
+
+- if (sscanf (argv[n], "%i,%" G_GUINT64_FORMAT, &pid, &pid_start_time) == 2)
++ if (sscanf (argv[n], "%i,%" G_GUINT64_FORMAT ",%u", &pid, &pid_start_time, &uid) == 3)
++ {
++ subject = polkit_unix_process_new_for_owner (pid, pid_start_time, uid);
++ }
++ else if (sscanf (argv[n], "%i,%" G_GUINT64_FORMAT, &pid, &pid_start_time) == 2)
+ {
+ subject = polkit_unix_process_new_full (pid, pid_start_time);
+ }
diff --git a/sys-auth/polkit/polkit-0.110-r1.ebuild b/sys-auth/polkit/polkit-0.110-r1.ebuild
new file mode 100644
index 000000000000..22cc715317de
--- /dev/null
+++ b/sys-auth/polkit/polkit-0.110-r1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-auth/polkit/polkit-0.110-r1.ebuild,v 1.1 2013/09/19 16:07:41 cardoe Exp $
+
+EAPI=5
+inherit eutils multilib pam pax-utils systemd user
+
+DESCRIPTION="Policy framework for controlling privileges for system-wide services"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/polkit"
+SRC_URI="http://www.freedesktop.org/software/${PN}/releases/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="examples gtk +introspection kde nls pam selinux systemd"
+
+RDEPEND="=dev-lang/spidermonkey-1.8.5*[-debug]
+ >=dev-libs/glib-2.32
+ >=dev-libs/expat-2:=
+ introspection? ( >=dev-libs/gobject-introspection-1 )
+ pam? (
+ sys-auth/pambase
+ virtual/pam
+ )
+ selinux? ( sec-policy/selinux-policykit )
+ systemd? ( sys-apps/systemd )"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ dev-util/intltool
+ virtual/pkgconfig"
+PDEPEND="
+ gtk? ( || (
+ >=gnome-extra/polkit-gnome-0.105
+ lxde-base/lxpolkit
+ ) )
+ kde? ( sys-auth/polkit-kde-agent )
+ !systemd? ( sys-auth/consolekit[policykit] )"
+
+QA_MULTILIB_PATHS="
+ usr/lib/polkit-1/polkit-agent-helper-1
+ usr/lib/polkit-1/polkitd"
+
+pkg_setup() {
+ local u=polkitd
+ local g=polkitd
+ local h=/var/lib/polkit-1
+
+ enewgroup ${g}
+ enewuser ${u} -1 -1 ${h} ${g}
+ esethome ${u} ${h}
+}
+
+src_prepare() {
+ sed -i -e 's|unix-group:wheel|unix-user:0|' src/polkitbackend/*-default.rules || die #401513
+
+ epatch "${FILESDIR}"/polkit-0.110-CVE-2013-4288.patch
+}
+
+src_configure() {
+ econf \
+ --localstatedir="${EPREFIX}"/var \
+ --disable-static \
+ --enable-man-pages \
+ --disable-gtk-doc \
+ $(use_enable systemd libsystemd-login) \
+ $(use_enable introspection) \
+ --disable-examples \
+ $(use_enable nls) \
+ --with-mozjs=mozjs185 \
+ "$(systemd_with_unitdir)" \
+ --with-authfw=$(usex pam pam shadow) \
+ $(use pam && echo --with-pam-module-dir="$(getpam_mod_dir)") \
+ --with-os-type=gentoo
+}
+
+src_compile() {
+ default
+
+ # Required for polkitd on hardened/PaX due to spidermonkey's JIT
+ local f='src/polkitbackend/.libs/polkitd test/polkitbackend/.libs/polkitbackendjsauthoritytest'
+ local m='mr'
+ pax-mark ${m} ${f}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc docs/TODO HACKING NEWS README
+
+ fowners -R polkitd:root /{etc,usr/share}/polkit-1/rules.d
+
+ diropts -m0700 -o polkitd -g polkitd
+ keepdir /var/lib/polkit-1
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins src/examples/{*.c,*.policy*}
+ fi
+
+ prune_libtool_files
+}
+
+pkg_postinst() {
+ chown -R polkitd:root "${EROOT}"/{etc,usr/share}/polkit-1/rules.d
+ chown -R polkitd:polkitd "${EROOT}"/var/lib/polkit-1
+}