Repository navigation
Bump libwebrtc to webrtc-a545de4 (drop compromised eMudhra roots) - #1562
Merged
Merged
Conversation
The pinned build (webrtc-89d790b) still compiles `AAA Certificate
Services` into rtc_base/ssl_roots.h. That root cross-signs the eight
eMudhra intermediate CAs whose keys were disclosed as compromised on
2026-10-20, so libwebrtc accepts TURN/TLS chains issued under them.
webrtc-a545de4 is built from webrtc-sdk/webrtc m150_release at a545de4,
which includes fd5c784 ("Update ssl_roots.h (#317)") and drops it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BsJ5Refi6x7GqXMqH4gJ4i
Contributor
Changeset ✓This PR includes a changeset covering all affected packages:
|
erikhortsch
marked this pull request as ready for review
October 22, 2026 22:59
Contributor
Author
|
The CI failures here are all Reviewers should know this build also ships two fixes that are on
So merging this moves users from Generated by Claude Code |
Contributor
Author
|
CI update, now that the
Generated by Claude Code |
cloudwebrtc
approved these changes
Oct 23, 2026
ladvoc
approved these changes
Oct 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
webrtc-sys/build/src/lib.rs:WEBRTC_TAGgoes fromwebrtc-89d790btowebrtc-a545de4. Nothing else in the repo (workflows, scripts, docs) pins89d790b..changeset/bump_libwebrtc_a545de4.md: patch bumps forwebrtc-sys-buildand the crates the changeset check requires downstream of it (webrtc-sys,libwebrtc,livekit,livekit-capture,livekit-ffi).Why
On 2026-10-20 the keys of eight eMudhra intermediate CAs were disclosed as compromised. These intermediates are cross-signed by
AAA Certificate Services. libwebrtc checks TURN/TLS certificates against roots compiled intortc_base/ssl_roots.h. The build pinned today (webrtc-89d790b, from webrtc-sdk/webrtcm150_release) still has AAA in that list, and all 7 AAA-cross-signed test chains from the disclosure passopenssl verifyagainst those roots.webrtc-sdk/webrtc
fd5c784("Update ssl_roots.h (#317)", a cherry-pick of upstream webrtc-review 510080) refreshes the roots. With it, all 14 test chains fail.m150_releaseis now ata545de4, which includes that commit.Caveat: since
webrtc-b9233c3-2(webrtc-sdk/webrtc#277), TURN/TLS falls back to the OS trust store when the compiled-in anchors find no path. This PR removes AAA from the compiled-in anchors only. A host whose OS store still trustsAAA Certificate Servicesmay still accept these chains through that fallback.Other
m150_releasecommits since89d790bthat touch areas webrtc-sys uses:a545de4: frame cryptor getskey_sizeinKeyProviderOptions(default 128, 256 is opt-in). Covered below.51c367e: stops loggingraw_key/derived_keyatLS_INFO.67c4578: verifies server-injected frame payloads before it skips decryption.0385653:AddTransceiverreturnsINVALID_STATEon a closed PeerConnection.67366b1(macOS/Catalyst privacy manifest),f828b40and5d83551(Android).Dependency: build release not published yet
This PR needs the
webrtc-a545de4release from.github/workflows/webrtc-builds.yml. That release does not exist yet. Someone will push thewebrtc-a545de4tag on main @ 524123e to create it. Until it is published, CI will fail when it tries to download the prebuilt libwebrtc. That is why this PR is a draft.Related upstream build PR: webrtc-sdk/webrtc-build#83
KeyProviderOptions
key_sizeThe new field should not break webrtc-sys:
webrtc-sys/src/frame_cryptor.cpp:105-121default-constructswebrtc::KeyProviderOptions rtc_options;and then assigns each field by name. It does not use aggregate or positional initialization. The new field keeps its default of 128, the same as current behavior.ffi::KeyProviderOptionsatwebrtc-sys/src/frame_cryptor.rs:23is a separatelivekit_ffitype. It does not have to mirror the upstream struct.This PR makes no change to either file. Exposing 256-bit keys would be a separate change.
Testing
No build was possible because the prebuilts are not published yet.
rustfmt --checkpasses on the changed file..github/scripts/changeset_detect.pyreports that the changeset covers all affected packages.Generated by Claude Code