diff --git a/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php b/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php
index 89bb779..2330377 100644
--- a/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php
+++ b/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php
@@ -94,8 +94,12 @@ public static function validateUriElement($element, FormStateInterface $form_sta
     if (!empty($uri) && parse_url($uri)) {
       $url = Url::fromUri($uri);
 
-      // Disallow unrouted internal URLs (i.e. disallow 'base:' URIs).
-      $disallowed  = !$url->isRouted() && !$url->isExternal();
+      // Note: we don't validate whether the URI is routed, so whether its
+      // controlled by drupal or not. If its not controlled it could either not
+      // exist yet, or be outside of Drupal. This is okay security-wise, because
+      // we check access on render time.
+      $disallowed = FALSE;
+
       // Disallow URLs if the current user doesn't have the 'link to any page'
       // permission nor can access this URI.
       $disallowed = $disallowed || (!\Drupal::currentUser()->hasPermission('link to any page') && !$url->access());
diff --git a/core/modules/link/src/Tests/LinkFieldTest.php b/core/modules/link/src/Tests/LinkFieldTest.php
index 05a427e..d8ce8f6 100644
--- a/core/modules/link/src/Tests/LinkFieldTest.php
+++ b/core/modules/link/src/Tests/LinkFieldTest.php
@@ -105,16 +105,14 @@ function testURLValidation() {
 
     // Define some invalid URLs.
     $invalid_external_entries = array(
-      // Missing protcol
-      'not-an-url',
       // Invalid protocol
       'invalid://not-a-valid-protocol',
       // Missing host name
       'http://',
     );
-    $invalid_internal_entries = array(
-      'non/existing/path',
-    );
+    // We allow URIs not pointing to Drupal (yet), so site builders can build
+    // their information architecture before they built their actual site.
+    $invalid_internal_entries = [];
 
     // Test external and internal URLs for 'link_type' = LinkItemInterface::LINK_GENERIC.
     $this->assertValidEntries($field_name, $valid_external_entries + $valid_internal_entries);
@@ -131,6 +129,14 @@ function testURLValidation() {
     $this->field->save();
     $this->assertValidEntries($field_name, $valid_internal_entries);
     $this->assertInvalidEntries($field_name, $valid_external_entries + $invalid_internal_entries);
+
+    // Ensure that users with 'link to any page', don't apply access checking.
+    $this->drupalLogin($this->drupalCreateUser([
+      'view test entity',
+      'administer entity_test content',
+    ]));
+    $this->assertValidEntries($field_name, ['entity_test/add']);
+    $this->assertInValidEntries($field_name, ['admin']);
   }
 
   /**
