diff --git a/package.json b/package.json index 78e1ca7c8f860..8e0186df7b413 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "url": "https://develop.svn.wordpress.org/trunk" }, "gutenberg": { - "sha": "943e0d825bb66ba582e9a10d32743cbb136de460", + "sha": "dd294ab86ceaf9f3d7d42a09b78f399238ce8826", "ghcrRepo": "WordPress/gutenberg/gutenberg-wp-develop-build" }, "engines": { diff --git a/src/wp-includes/assets/script-loader-packages.php b/src/wp-includes/assets/script-loader-packages.php index 21e7a8223b386..c3be8dcd87916 100644 --- a/src/wp-includes/assets/script-loader-packages.php +++ b/src/wp-includes/assets/script-loader-packages.php @@ -104,7 +104,7 @@ 'wp-url', 'wp-warning' ), - 'version' => 'd3cbb2c45b145b27a5cf' + 'version' => '37e58da384b2558bd479' ), 'block-library.js' => array( 'dependencies' => array( @@ -150,7 +150,7 @@ 'import' => 'dynamic' ) ), - 'version' => '2e80403676c10cc0a473' + 'version' => '00e6e2a44788af201f35' ), 'block-serialization-default-parser.js' => array( 'dependencies' => array( @@ -402,7 +402,7 @@ 'import' => 'static' ) ), - 'version' => 'a7750dea8d5c880ddf33' + 'version' => 'a6cb1641d13f718c01bd' ), 'edit-site.js' => array( 'dependencies' => array( @@ -452,7 +452,7 @@ 'import' => 'static' ) ), - 'version' => '638e98d0061f4b9f1efb' + 'version' => '008f89f2cb2ad17a5947' ), 'edit-widgets.js' => array( 'dependencies' => array( @@ -543,7 +543,7 @@ 'import' => 'static' ) ), - 'version' => '2cd3b932f41a420d5904' + 'version' => 'af070cfff88093363220' ), 'element.js' => array( 'dependencies' => array( @@ -663,7 +663,7 @@ 'wp-url', 'wp-warning' ), - 'version' => 'b8bf604c1cc119e63ee6' + 'version' => '07c1c94f9b21baa97a96' ), 'notices.js' => array( 'dependencies' => array( @@ -881,7 +881,7 @@ 'import' => 'dynamic' ) ), - 'version' => 'f7174b0617bcd68e57c3' + 'version' => 'a2c026d433c295fd5145' ), 'url.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/assets/script-modules-packages.php b/src/wp-includes/assets/script-modules-packages.php index 7b0b8f43fac9f..b0ffb34320fbc 100644 --- a/src/wp-includes/assets/script-modules-packages.php +++ b/src/wp-includes/assets/script-modules-packages.php @@ -360,7 +360,7 @@ 'dependencies' => array( ), - 'version' => '685442d334b2d3e70832' + 'version' => '7e33cd8c4128731126e8' ), 'workflow/index.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/build/pages/font-library/page.php b/src/wp-includes/build/pages/font-library/page.php index 0aaec2d145acf..194ca74f57b7f 100644 --- a/src/wp-includes/build/pages/font-library/page.php +++ b/src/wp-includes/build/pages/font-library/page.php @@ -310,6 +310,22 @@ function ( $handle ) { function wp_font_library_intercept_render() { // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( isset( $_GET['page'] ) && 'font-library' === $_GET['page'] ) { + // The page renders outside the menu page callback flow, so it must + // enforce authentication and capability checks itself. Without this, + // any admin entry point firing `admin_init` (such as admin-post.php, + // which serves logged-out requests) would render the page for + // unauthenticated visitors. + if ( ! is_user_logged_in() ) { + auth_redirect(); + } + + if ( ! current_user_can( 'edit_theme_options' ) ) { + wp_die( + __( 'Sorry, you are not allowed to access this page.' ), + 403 + ); + } + wp_font_library_render_page(); exit; } diff --git a/src/wp-includes/build/pages/options-connectors/page.php b/src/wp-includes/build/pages/options-connectors/page.php index 7695969c7c060..c219fc397eb48 100644 --- a/src/wp-includes/build/pages/options-connectors/page.php +++ b/src/wp-includes/build/pages/options-connectors/page.php @@ -310,6 +310,22 @@ function ( $handle ) { function wp_options_connectors_intercept_render() { // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( isset( $_GET['page'] ) && 'options-connectors' === $_GET['page'] ) { + // The page renders outside the menu page callback flow, so it must + // enforce authentication and capability checks itself. Without this, + // any admin entry point firing `admin_init` (such as admin-post.php, + // which serves logged-out requests) would render the page for + // unauthenticated visitors. + if ( ! is_user_logged_in() ) { + auth_redirect(); + } + + if ( ! current_user_can( 'manage_options' ) ) { + wp_die( + __( 'Sorry, you are not allowed to access this page.' ), + 403 + ); + } + wp_options_connectors_render_page(); exit; }