Index: src/wp-includes/class-wp-embed.php
===================================================================
--- src/wp-includes/class-wp-embed.php	(revision 28655)
+++ src/wp-includes/class-wp-embed.php	(working copy)
@@ -19,8 +19,8 @@
 		// Hack to get the [embed] shortcode to run before wpautop()
 		add_filter( 'the_content', array( $this, 'run_shortcode' ), 8 );
 
-		// Shortcode placeholder for strip_shortcodes()
-		add_shortcode( 'embed', '__return_false' );
+		// Shortcode callback.
+		add_shortcode( 'embed', array( $this, 'shortcode' ) );
 
 		// Attempts to embed all URLs in a post
 		add_filter( 'the_content', array( $this, 'autoembed' ), 8 );
Index: tests/phpunit/tests/shortcode.php
===================================================================
--- tests/phpunit/tests/shortcode.php	(revision 28655)
+++ tests/phpunit/tests/shortcode.php	(working copy)
@@ -373,4 +373,11 @@
 		remove_filter( 'shortcode_atts_bartag', array( $this, '_filter_atts2' ), 10, 3 );
 	}
 
+	/**
+	 * @ticket 23431
+	 */
+	function test_embed_shortcode() {
+		$content = '[embed]http://example.org/path/to/video.mp4[/embed]';
+		$this->assertNotEmpty( do_shortcode( $content ) );
+	}
 }
