diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
index 29953fdc7c55..89dd4e61f66f 100644
--- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
+++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
@@ -21,6 +21,7 @@
 #include "base/task/thread_pool.h"
 #include "build/branding_buildflags.h"
 #include "build/build_config.h"
+#include "cef/libcef/features/features.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/data_reduction_proxy/data_reduction_proxy_chrome_settings.h"
 #include "chrome/browser/data_reduction_proxy/data_reduction_proxy_chrome_settings_factory.h"
@@ -28,6 +29,7 @@
 #include "chrome/browser/profiles/profile_manager.h"
 #include "chrome/browser/sync/profile_sync_service_factory.h"
 #include "chrome/common/channel_info.h"
+#include "chrome/common/chrome_switches.h"
 #include "components/prefs/pref_service.h"
 #include "components/sync/driver/about_sync_util.h"
 #include "components/sync/driver/sync_service.h"
@@ -274,7 +276,11 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
   response->emplace(kOsVersionTag, os_version);
 #endif
 
+#if !BUILDFLAG(ENABLE_CEF)
+  // CEF should avoid loading ProfileSyncServiceFactory which depends on a lot
+  // of unnecessary Chrome-specific factories.
   PopulateSyncLogs(response.get());
+#endif
   PopulateExtensionInfoLogs(response.get());
   PopulatePowerApiLogs(response.get());
   PopulateDataReductionProxyLogs(response.get());
@@ -364,6 +370,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
   if (!profile)
     return;
 
+  // CEF should avoid accessing ExtensionRegistry when extensions are disabled.
+  if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+      switches::kDisableExtensions)) {
+    return;
+  }
+
   extensions::ExtensionRegistry* extension_registry =
       extensions::ExtensionRegistry::Get(profile);
   std::string extensions_list;
@@ -453,6 +465,8 @@ void ChromeInternalLogSource::PopulateArcPolicyStatus(
 #if defined(OS_WIN)
 void ChromeInternalLogSource::PopulateUsbKeyboardDetected(
     SystemLogsResponse* response) {
+  // The below call may result in some DLLs being loaded.
+  base::ScopedAllowBlockingForTesting allow_blocking;
   std::string reason;
   bool result =
       base::win::IsKeyboardPresentOnSlate(ui::GetHiddenWindow(), &reason);
diff --git chrome/browser/memory_details.cc chrome/browser/memory_details.cc
index d42895d9db3f..74a6d407bbcd 100644
--- chrome/browser/memory_details.cc
+++ chrome/browser/memory_details.cc
@@ -18,6 +18,7 @@
 #include "base/task/thread_pool.h"
 #include "build/build_config.h"
 #include "chrome/browser/profiles/profile.h"
+#include "chrome/common/chrome_switches.h"
 #include "components/nacl/common/nacl_process_type.h"
 #include "components/strings/grit/components_strings.h"
 #include "content/public/browser/browser_child_process_host_iterator.h"
@@ -250,8 +251,11 @@ void MemoryDetails::CollectChildInfoOnUIThread() {
 
 #if BUILDFLAG(ENABLE_EXTENSIONS)
     // Determine if this is an extension process.
+    // CEF should avoid accessing ExtensionRegistry when extensions are disabled.
     bool process_is_for_extensions = false;
-    if (render_process_host) {
+    if (render_process_host &&
+        !base::CommandLine::ForCurrentProcess()->HasSwitch(
+            switches::kDisableExtensions)) {
       content::BrowserContext* context =
           render_process_host->GetBrowserContext();
       extensions::ExtensionRegistry* extension_registry =
