Skip to content

[Connection-Allowlist] Enforce "webrtc" header param.#59539

Merged
chromium-wpt-export-bot merged 1 commit into
masterfrom
chromium-export-cl-7676321
Apr 29, 2026
Merged

[Connection-Allowlist] Enforce "webrtc" header param.#59539
chromium-wpt-export-bot merged 1 commit into
masterfrom
chromium-export-cl-7676321

Conversation

@chromium-wpt-export-bot
Copy link
Copy Markdown
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Apr 29, 2026

WebRTC needs to be treated specially by the Connection-Allowlist header,
because it is not possible to enumerate hostnames that will be used for
P2P connections.

The decision was made in
WICG/connection-allowlists#6 to use a global
header flag that will either completely allow or block WebRTC peer
connections, regardless of the target origin.

This was specified in
WICG/connection-allowlists@5b5fcb5.
and this CL implements the enforcement portion of the specification.

Note that there are changes in both the renderer and the browser.

  • On the renderer side, we prevent construction of RTCPeerConnection.
  • On the browser side, we prevent the P2PSocketManager from being bound
    in the network service, as an extra layer of protection against a
    compromised renderer. This is similar to how P2P was handled for
    fenced frames.

Bug: 492439214
Change-Id: Ib10bda11020df74e3ecd41450027cacbf6a7bd2a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7676321
Reviewed-by: Mike West <mkwst@chromium.org>
Commit-Queue: Andrew Verge <averge@chromium.org>
Reviewed-by: Johannes Kron <kron@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1622470}

WebRTC needs to be treated specially by the Connection-Allowlist header,
because it is not possible to enumerate hostnames that will be used for
P2P connections.

The decision was made in
WICG/connection-allowlists#6 to use a global
header flag that will either completely allow or block WebRTC peer
connections, regardless of the target origin.

This was specified in
WICG/connection-allowlists@5b5fcb5.
and this CL implements the enforcement portion of the specification.

Note that there are changes in both the renderer and the browser.
* On the renderer side, we prevent construction of RTCPeerConnection.
* On the browser side, we prevent the P2PSocketManager from being bound
  in the network service, as an extra layer of protection against a
  compromised renderer. This is similar to how P2P was handled for
  fenced frames.

Bug: 492439214
Change-Id: Ib10bda11020df74e3ecd41450027cacbf6a7bd2a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7676321
Reviewed-by: Mike West <mkwst@chromium.org>
Commit-Queue: Andrew Verge <averge@chromium.org>
Reviewed-by: Johannes Kron <kron@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1622470}
Copy link
Copy Markdown
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

@chromium-wpt-export-bot chromium-wpt-export-bot merged commit 2df9ac0 into master Apr 29, 2026
27 checks passed
@chromium-wpt-export-bot chromium-wpt-export-bot deleted the chromium-export-cl-7676321 branch April 29, 2026 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants