Index: webrtc/p2p/base/turnport.cc |
diff --git a/webrtc/p2p/base/turnport.cc b/webrtc/p2p/base/turnport.cc |
index 2d5e30e6632aceaec3582046c8134965528048dc..a34d25b612357d1e422468bcba1a3db029dc75bf 100644 |
--- a/webrtc/p2p/base/turnport.cc |
+++ b/webrtc/p2p/base/turnport.cc |
@@ -639,6 +639,14 @@ bool TurnPort::SetAlternateServer(const rtc::SocketAddress& address) { |
return false; |
} |
+ // Block redirects to a loopback address. |
+ // See: https://bugs.chromium.org/p/chromium/issues/detail?id=649118 |
+ if (address.IsLoopbackIP()) { |
+ LOG_J(LS_WARNING, this) |
+ << "Blocking attempted redirect to loopback address."; |
+ return false; |
+ } |
+ |
LOG_J(LS_INFO, this) << "Redirecting from TURN server [" |
<< server_address_.address.ToSensitiveString() |
<< "] to TURN server [" |