diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 86b5694d92bb5..9309813750327 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -118,4 +118,5 @@ speculative_fix_for_eye_dropper_getcolor_crash.patch cherry-pick-0894af410c4e.patch move_networkstateobserver_from_document_to_window.patch cherry-pick-8af66de55aad.patch +cherry-pick-91dd4f79ab5b.patch cherry-pick-45f9dcf5021d.patch diff --git a/patches/chromium/cherry-pick-91dd4f79ab5b.patch b/patches/chromium/cherry-pick-91dd4f79ab5b.patch new file mode 100644 index 0000000000000..c36d94a4435b8 --- /dev/null +++ b/patches/chromium/cherry-pick-91dd4f79ab5b.patch @@ -0,0 +1,48 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ken Rockot +Date: Mon, 25 Oct 2021 18:22:50 +0000 +Subject: Validate INTRODUCE source node + +INTRODUCE NodeChannel messages should only be acknowledged when coming +from the broker process. + +(cherry picked from commit 6e74f7b5cb2f48b17403f0431f3e4f3a2e716265) + +Fixed: 1252858 +Change-Id: I2dff6d5cab102ce744ad2ad66a9f24b4202cbea8 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3193798 +Reviewed-by: Alex Gough +Commit-Queue: Ken Rockot +Cr-Original-Commit-Position: refs/heads/main@{#926430} +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3229034 +Auto-Submit: Ken Rockot +Reviewed-by: Oksana Zhuravlova +Commit-Queue: Oksana Zhuravlova +Cr-Commit-Position: refs/branch-heads/4638@{#964} +Cr-Branched-From: 159257cab5585bc8421abf347984bb32fdfe9eb9-refs/heads/main@{#920003} + +diff --git a/mojo/core/node_controller.cc b/mojo/core/node_controller.cc +index 9f2e79b9e04e9df8aff6c924e6a480ac81857701..21edab39368e69ee6665e490b2c4de13f424edbd 100644 +--- a/mojo/core/node_controller.cc ++++ b/mojo/core/node_controller.cc +@@ -20,6 +20,7 @@ + #include "mojo/core/broker.h" + #include "mojo/core/broker_host.h" + #include "mojo/core/configuration.h" ++#include "mojo/core/ports/name.h" + #include "mojo/core/request_context.h" + #include "mojo/core/user_message_impl.h" + #include "mojo/public/cpp/platform/named_platform_channel.h" +@@ -1127,6 +1128,12 @@ void NodeController::OnIntroduce(const ports::NodeName& from_node, + const uint64_t remote_capabilities) { + DCHECK(io_task_runner_->RunsTasksInCurrentSequence()); + ++ if (broker_name_ == ports::kInvalidNodeName || from_node != broker_name_) { ++ DVLOG(1) << "Ignoring introduction from non-broker process."; ++ DropPeer(from_node, nullptr); ++ return; ++ } ++ + if (!channel_handle.is_valid()) { + node_->LostConnectionToNode(name); +