From cf0f37efd51ea1f26d393851922696345276d13d Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Fri, 7 Nov 2008 04:59:44 +0000 Subject: [PATCH 01/10] Initialize branch F-10 for wordpress-mu --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..dc32377 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +F-10 From c6e7da85192795ebb2e4937f5d21d6a17882064f Mon Sep 17 00:00:00 2001 From: Bret Richard McMillan Date: Mon, 8 Dec 2008 21:29:39 +0000 Subject: [PATCH 02/10] uploading upstream's 2.6.5 tarball --- .cvsignore | 2 +- sources | 2 +- wordpress-mu.spec | 12 +++++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 8fa7925..49ef2a7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -wordpress-mu-2.6.1.tar.gz +wordpress-mu-2.6.5.tar.gz diff --git a/sources b/sources index 9c9f4b4..7a97b98 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -231c841354005a7efdfbaa0d61fc531b wordpress-mu-2.6.1.tar.gz +bbdf44968b188d7416292a42efc7463c wordpress-mu-2.6.5.tar.gz diff --git a/wordpress-mu.spec b/wordpress-mu.spec index f8817db..c6946fd 100644 --- a/wordpress-mu.spec +++ b/wordpress-mu.spec @@ -1,7 +1,7 @@ Summary: WordPress-MU multi-user blogging software URL: http://mu.wordpress.org/latest.tar.gz Name: wordpress-mu -Version: 2.6.1 +Version: 2.6.5 Release: 1%{?dist} Group: Applications/Publishing License: GPLv2 @@ -54,6 +54,9 @@ echo "# please see /etc/httpd/conf.d/wordpress-mu.conf" > %{buildroot}%{_datadir find %{buildroot} -empty -exec rm -f {} \; # These are docs, remove them from here, docify them later rm -f %{buildroot}%{_datadir}/wordpress-mu/{license.txt,README.txt} +# remove these as well, detritus +rm -f %{buildroot}%{_datadir}/wordpress-mu/{wordpress-mu-httpd-conf,README.fedora} + %clean rm -rf %{buildroot} @@ -69,6 +72,7 @@ rm -rf %{buildroot} %{_datadir}/wordpress-mu/index.php %doc license.txt %doc README.txt +%doc README.fedora %{_datadir}/wordpress-mu/index-install.php %{_datadir}/wordpress-mu/wp-activate.php %{_datadir}/wordpress-mu/wp-atom.php @@ -96,6 +100,12 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/wordpress-mu %changelog +* Mon Dec 1 2008 Bret McMillan - 2.6.5-1 +- Update to 2.6.5 +- http://wordpress.org/development/2008/11/wordpress-265/ +- http://ocaoimh.ie/2008/11/25/wordpress-mu-265/ +- Fixes 1 XSS security issue, 3 bugs + * Wed Sep 3 2008 Bret McMillan - 2.6.1-1 - update to 2.6.1 From 247b6fb0da588ed1043a3e77f1a9a368c53b4af3 Mon Sep 17 00:00:00 2001 From: Bret Richard McMillan Date: Mon, 8 Dec 2008 21:33:25 +0000 Subject: [PATCH 03/10] README.fedora already dealt with, removing duplicate ownership line --- wordpress-mu.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/wordpress-mu.spec b/wordpress-mu.spec index c6946fd..13186ef 100644 --- a/wordpress-mu.spec +++ b/wordpress-mu.spec @@ -72,7 +72,6 @@ rm -rf %{buildroot} %{_datadir}/wordpress-mu/index.php %doc license.txt %doc README.txt -%doc README.fedora %{_datadir}/wordpress-mu/index-install.php %{_datadir}/wordpress-mu/wp-activate.php %{_datadir}/wordpress-mu/wp-atom.php From 047415f44a4ccbaac02d100100e09daa468be7a1 Mon Sep 17 00:00:00 2001 From: Bret Richard McMillan Date: Wed, 8 Apr 2009 16:04:35 +0000 Subject: [PATCH 04/10] backport for cve-2009-1030 --- cve-2009-1030.patch | 37 +++++++++++++++++++++++++++++++++++++ wordpress-mu.spec | 8 +++++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 cve-2009-1030.patch diff --git a/cve-2009-1030.patch b/cve-2009-1030.patch new file mode 100644 index 0000000..9deb30a --- /dev/null +++ b/cve-2009-1030.patch @@ -0,0 +1,37 @@ +--- wp-includes/wpmu-functions.php 2009-04-07 13:37:57.000000000 -0400 ++++ wp-includes/wpmu-functions.php 2009-04-07 13:42:12.000000000 -0400 +@@ -1836,17 +1867,29 @@ + + ID ); ++ $primary_blog = get_usermeta($current_user->ID, 'primary_blog'); + if( count( $all_blogs ) > 1 ) { +- $primary_blog = get_usermeta($current_user->ID, 'primary_blog'); ++ $found = false; + ?> + + ID, 'primary_blog', $blog->userblog_id ); ++ } ++ } elseif( count( $all_blogs ) == 1 ) { ++ $blog = array_shift( $all_blogs ); ++ echo $blog->domain; ++ if( $primary_blog != $blog->userblog_id ) // Set the primary blog again if it's out of sync with blog list. ++ update_usermeta( $current_user->ID, 'primary_blog', $blog->userblog_id ); + } else { +- echo $_SERVER['HTTP_HOST']; ++ echo "N/A"; + } + ?> + diff --git a/wordpress-mu.spec b/wordpress-mu.spec index 13186ef..1ae3d36 100644 --- a/wordpress-mu.spec +++ b/wordpress-mu.spec @@ -2,12 +2,13 @@ Summary: WordPress-MU multi-user blogging software URL: http://mu.wordpress.org/latest.tar.gz Name: wordpress-mu Version: 2.6.5 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Publishing License: GPLv2 Source0: %{name}-%{version}.tar.gz Source1: wordpress-mu-httpd-conf Source2: README.fedora.wordpress-mu +Patch0: cve-2009-1030.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: php >= 4.1.0, httpd, php-mysql BuildArch: noarch @@ -18,6 +19,7 @@ one instance to serve multiple users. %prep %setup -q +%patch0 -b .patch0 # disable-wordpress-core-update, updates are always installed via rpm # @@ -26,6 +28,7 @@ one instance to serve multiple users. echo "" > wp-includes/update.php + %build @@ -99,6 +102,9 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/wordpress-mu %changelog +* Tue Apr 7 2009 Bret McMillan - 2.6.5-2 +- Patch for CVE-2009-1030 + * Mon Dec 1 2008 Bret McMillan - 2.6.5-1 - Update to 2.6.5 - http://wordpress.org/development/2008/11/wordpress-265/ From cd0ba41c476427a18d2deef525515b94d864e32e Mon Sep 17 00:00:00 2001 From: Bret Richard McMillan Date: Fri, 10 Jul 2009 18:39:23 +0000 Subject: [PATCH 05/10] patch for cve-2009-2334 --- cve-2009-2334.patch | 113 ++++++++++++++++++++++++++++++++++++++++++++ sources | 2 +- wordpress-mu.spec | 18 ++++--- 3 files changed, 125 insertions(+), 8 deletions(-) create mode 100644 cve-2009-2334.patch diff --git a/cve-2009-2334.patch b/cve-2009-2334.patch new file mode 100644 index 0000000..1fe7abf --- /dev/null +++ b/cve-2009-2334.patch @@ -0,0 +1,113 @@ +diff --git a/wp-admin/includes/plugin.php b/wp-admin/includes/plugin.php +index 796c4c9..1dd38ce 100644 +--- a/wp-admin/includes/plugin.php ++++ b/wp-admin/includes/plugin.php +@@ -541,7 +541,7 @@ function uninstall_plugin($plugin) { + // + + function add_menu_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '' ) { +- global $menu, $admin_page_hooks; ++ global $menu, $admin_page_hooks, $_registered_pages; + + $file = plugin_basename( $file ); + +@@ -556,11 +556,13 @@ function add_menu_page( $page_title, $menu_title, $access_level, $file, $functio + + $menu[] = array ( $menu_title, $access_level, $file, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url ); + ++ $_registered_pages[$hookname] = true; ++ + return $hookname; + } + + function add_object_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '') { +- global $menu, $admin_page_hooks, $_wp_last_object_menu; ++ global $menu, $admin_page_hooks, $_wp_last_object_menu, $_registered_pages; + + $file = plugin_basename( $file ); + +@@ -577,11 +579,13 @@ function add_object_page( $page_title, $menu_title, $access_level, $file, $funct + + $menu[$_wp_last_object_menu] = array ( $menu_title, $access_level, $file, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url ); + ++ $_registered_pages[$hookname] = true; ++ + return $hookname; + } + + function add_utility_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '') { +- global $menu, $admin_page_hooks, $_wp_last_utility_menu; ++ global $menu, $admin_page_hooks, $_wp_last_utility_menu, $_registered_pages; + + $file = plugin_basename( $file ); + +@@ -598,6 +602,8 @@ function add_utility_page( $page_title, $menu_title, $access_level, $file, $func + + $menu[$_wp_last_utility_menu] = array ( $menu_title, $access_level, $file, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url ); + ++ $_registered_pages[$hookname] = true; ++ + return $hookname; + } + +@@ -606,6 +612,7 @@ function add_submenu_page( $parent, $page_title, $menu_title, $access_level, $fi + global $menu; + global $_wp_real_parent_file; + global $_wp_submenu_nopriv; ++ global $_registered_pages; + + $file = plugin_basename( $file ); + +@@ -635,6 +642,8 @@ function add_submenu_page( $parent, $page_title, $menu_title, $access_level, $fi + if (!empty ( $function ) && !empty ( $hookname )) + add_action( $hookname, $function ); + ++ $_registered_pages[$hookname] = true; ++ + return $hookname; + } + +@@ -859,14 +868,21 @@ function user_can_access_admin_page() { + global $_wp_menu_nopriv; + global $_wp_submenu_nopriv; + global $plugin_page; ++ global $_registered_pages; + + $parent = get_admin_page_parent(); + +- if ( isset( $_wp_submenu_nopriv[$parent][$pagenow] ) ) ++ if ( !isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$parent][$pagenow] ) ) + return false; + +- if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$parent][$plugin_page] ) ) +- return false; ++ if ( isset( $plugin_page ) ) { ++ if ( isset( $_wp_submenu_nopriv[$parent][$plugin_page] ) ) ++ return false; ++ ++ $hookname = get_plugin_page_hookname($plugin_page, $parent); ++ if ( !isset($_registered_pages[$hookname]) ) ++ return false; ++ } + + if ( empty( $parent) ) { + if ( isset( $_wp_menu_nopriv[$pagenow] ) ) +@@ -875,6 +891,8 @@ function user_can_access_admin_page() { + return false; + if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) ) + return false; ++ if ( isset( $plugin_page ) && isset( $_wp_menu_nopriv[$plugin_page] ) ) ++ return false; + foreach (array_keys( $_wp_submenu_nopriv ) as $key ) { + if ( isset( $_wp_submenu_nopriv[$key][$pagenow] ) ) + return false; +@@ -884,6 +902,9 @@ function user_can_access_admin_page() { + return true; + } + ++ if ( isset( $plugin_page ) && ( $plugin_page == $parent ) && isset( $_wp_menu_nopriv[$plugin_page] ) ) ++ return false; ++ + if ( isset( $submenu[$parent] ) ) { + foreach ( $submenu[$parent] as $submenu_array ) { + if ( isset( $plugin_page ) && ( $submenu_array[2] == $plugin_page ) ) { diff --git a/sources b/sources index 7a97b98..68fdf49 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bbdf44968b188d7416292a42efc7463c wordpress-mu-2.6.5.tar.gz +b7d119c663833a3fe00d30224530447e wordpress-mu-2.7.tar.gz diff --git a/wordpress-mu.spec b/wordpress-mu.spec index 1ae3d36..6d6d658 100644 --- a/wordpress-mu.spec +++ b/wordpress-mu.spec @@ -1,14 +1,14 @@ Summary: WordPress-MU multi-user blogging software URL: http://mu.wordpress.org/latest.tar.gz Name: wordpress-mu -Version: 2.6.5 -Release: 2%{?dist} +Version: 2.7 +Release: 6%{?dist} Group: Applications/Publishing License: GPLv2 Source0: %{name}-%{version}.tar.gz Source1: wordpress-mu-httpd-conf Source2: README.fedora.wordpress-mu -Patch0: cve-2009-1030.patch +Patch0: cve-2009-2334.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: php >= 4.1.0, httpd, php-mysql BuildArch: noarch @@ -18,8 +18,8 @@ WordPress-MU is a derivative of the WordPress blogging codebase, to allow one instance to serve multiple users. %prep -%setup -q -%patch0 -b .patch0 +%setup -q -n wordpress-mu +%patch0 -p1 -b .patch1 # disable-wordpress-core-update, updates are always installed via rpm # @@ -28,7 +28,6 @@ one instance to serve multiple users. echo "" > wp-includes/update.php - %build @@ -98,10 +97,15 @@ rm -rf %{buildroot} %{_datadir}/wordpress-mu/wp-signup.php %{_datadir}/wordpress-mu/wp-trackback.php %{_datadir}/wordpress-mu/xmlrpc.php -%{_datadir}/wordpress-mu/favicon.ico %dir %{_sysconfdir}/wordpress-mu %changelog +* Fri Jul 10 2009 Bret McMillan - 2.7-6 +- Patch for CVE-2009-2334 +- Update to version 2.7 +- Alter source prep so I can still use upstream's tarball +- favicon.ico removed from manifest + * Tue Apr 7 2009 Bret McMillan - 2.6.5-2 - Patch for CVE-2009-1030 From 61412ebbca3dc3721f2b14e0aabf837bca906850 Mon Sep 17 00:00:00 2001 From: Bret Richard McMillan Date: Wed, 12 Aug 2009 17:29:14 +0000 Subject: [PATCH 06/10] update to 2.8.4a, includes security fixes --- .cvsignore | 1 + sources | 1 + wordpress-mu.spec | 10 ++++++---- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 49ef2a7..28c3a9f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ wordpress-mu-2.6.5.tar.gz +wordpress-mu-2.8.4a.tar.gz diff --git a/sources b/sources index 68fdf49..e157a09 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ b7d119c663833a3fe00d30224530447e wordpress-mu-2.7.tar.gz +72dcdfaa60ede87d320b479579028d5e wordpress-mu-2.8.4a.tar.gz diff --git a/wordpress-mu.spec b/wordpress-mu.spec index 6d6d658..d0bca24 100644 --- a/wordpress-mu.spec +++ b/wordpress-mu.spec @@ -1,14 +1,13 @@ Summary: WordPress-MU multi-user blogging software URL: http://mu.wordpress.org/latest.tar.gz Name: wordpress-mu -Version: 2.7 -Release: 6%{?dist} +Version: 2.8.4a +Release: 1%{?dist} Group: Applications/Publishing License: GPLv2 Source0: %{name}-%{version}.tar.gz Source1: wordpress-mu-httpd-conf Source2: README.fedora.wordpress-mu -Patch0: cve-2009-2334.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: php >= 4.1.0, httpd, php-mysql BuildArch: noarch @@ -19,7 +18,6 @@ one instance to serve multiple users. %prep %setup -q -n wordpress-mu -%patch0 -p1 -b .patch1 # disable-wordpress-core-update, updates are always installed via rpm # @@ -90,6 +88,7 @@ rm -rf %{buildroot} %{_datadir}/wordpress-mu/wp-mail.php %{_datadir}/wordpress-mu/wp-pass.php %{_datadir}/wordpress-mu/wp-rdf.php +%{_datadir}/wordpress-mu/wp-register.php %{_datadir}/wordpress-mu/wp-rss.php %{_datadir}/wordpress-mu/wp-rss2.php %{_datadir}/wordpress-mu/wp-settings.php @@ -100,6 +99,9 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/wordpress-mu %changelog +* Wed Aug 12 2009 Bret McMillan - 2.8.4a-1 +- Update to version 2.8.4a for security fixes + * Fri Jul 10 2009 Bret McMillan - 2.7-6 - Patch for CVE-2009-2334 - Update to version 2.7 From d01479c094a83c102d8de77be383522662f63629 Mon Sep 17 00:00:00 2001 From: Bret Richard McMillan Date: Fri, 6 Nov 2009 21:59:52 +0000 Subject: [PATCH 07/10] updating to 2.8.5.2 for security fixes --- wordpress-mu.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wordpress-mu.spec b/wordpress-mu.spec index d0bca24..1af9222 100644 --- a/wordpress-mu.spec +++ b/wordpress-mu.spec @@ -1,7 +1,7 @@ Summary: WordPress-MU multi-user blogging software URL: http://mu.wordpress.org/latest.tar.gz Name: wordpress-mu -Version: 2.8.4a +Version: 2.8.5.2 Release: 1%{?dist} Group: Applications/Publishing License: GPLv2 @@ -99,6 +99,9 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/wordpress-mu %changelog +* Fri Nov 6 2009 Bret McMillan - 2.8.5.2-1 +- Update to version 2.8.5.2 for security fixes + * Wed Aug 12 2009 Bret McMillan - 2.8.4a-1 - Update to version 2.8.4a for security fixes From bf9d79fa4c587cba2cef80a542dcaa71fa8875c8 Mon Sep 17 00:00:00 2001 From: Bret Richard McMillan Date: Fri, 6 Nov 2009 22:04:12 +0000 Subject: [PATCH 08/10] new sources --- .cvsignore | 3 +-- sources | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 28c3a9f..785848a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1 @@ -wordpress-mu-2.6.5.tar.gz -wordpress-mu-2.8.4a.tar.gz +wordpress-mu-2.8.5.2.tar.gz diff --git a/sources b/sources index e157a09..dbddd58 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -b7d119c663833a3fe00d30224530447e wordpress-mu-2.7.tar.gz -72dcdfaa60ede87d320b479579028d5e wordpress-mu-2.8.4a.tar.gz +7d733e276cb5983f58a39365bc97b81e wordpress-mu-2.8.5.2.tar.gz From ebe2b483bd794f85728df5c5a5a1ae4d57bbab8f Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:18:10 +0000 Subject: [PATCH 09/10] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 70626f2..58736f5 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: wordpress-mu -# $Id$ +# $Id: Makefile,v 1.1 2008/08/25 19:55:16 kevin Exp $ NAME := wordpress-mu SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 0094b040e23eb16e80b8bfb6efeed9e9ba714fc8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 15:23:58 +0000 Subject: [PATCH 10/10] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - import.log | 1 - 4 files changed, 23 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch delete mode 100644 import.log diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 58736f5..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: wordpress-mu -# $Id: Makefile,v 1.1 2008/08/25 19:55:16 kevin Exp $ -NAME := wordpress-mu -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index dc32377..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -F-10 diff --git a/import.log b/import.log deleted file mode 100644 index 83b639a..0000000 --- a/import.log +++ /dev/null @@ -1 +0,0 @@ -wordpress-mu-2_6_1-1_fc8:HEAD:wordpress-mu-2.6.1-1.fc8.src.rpm:1220452323