[webkit-changes] [WebKit/WebKit] e59cd4: Block connections to 0.0.0.0

Commit Queue noreply at github.com
Fri Jun 7 14:34:34 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e59cd4a4330877f4692ab31caaf5039185e845bf
      https://github.com/WebKit/WebKit/commit/e59cd4a4330877f4692ab31caaf5039185e845bf
  Author: Matthew Finkel <m_finkel at apple.com>
  Date:   2024-06-07 (Fri, 07 Jun 2024)

  Changed paths:
    A LayoutTests/http/tests/media/video-error-all-zero-address-blocked-expected.txt
    A LayoutTests/http/tests/media/video-error-all-zero-address-blocked.html
    A LayoutTests/http/tests/security/block-iframe-to-all-zero-address-expected.txt
    A LayoutTests/http/tests/security/block-iframe-to-all-zero-address.html
    A LayoutTests/http/tests/security/block-popup-to-all-zero-address-expected.txt
    A LayoutTests/http/tests/security/block-popup-to-all-zero-address.html
    A LayoutTests/http/tests/security/redirect-BLOCKED-to-all-zero-address-expected.txt
    A LayoutTests/http/tests/security/redirect-BLOCKED-to-all-zero-address.html
    A LayoutTests/http/tests/websocket/connection-to-all-zero-address-blocked-expected.txt
    A LayoutTests/http/tests/websocket/connection-to-all-zero-address-blocked.html
    M LayoutTests/platform/wincairo/TestExpectations
    M Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
    M Source/WebCore/Modules/websockets/WebSocket.cpp
    M Source/WebCore/html/HTMLMediaElement.cpp
    M Source/WebCore/loader/DocumentLoader.cpp
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/loader/ResourceLoader.cpp
    M Source/WebCore/loader/SubframeLoader.cpp
    M Source/WebCore/loader/cache/CachedResourceLoader.cpp
    M Source/WebCore/platform/network/DNS.cpp
    M Source/WebCore/platform/network/DNS.h
    M Source/WebCore/platform/network/ResourceHandle.cpp
    M Source/WebKit/NetworkProcess/NetworkDataTask.cpp

  Log Message:
  -----------
  Block connections to 0.0.0.0
https://bugs.webkit.org/show_bug.cgi?id=275224
rdar://125913679

Reviewed by Alex Christensen.

This patch blocks connections to 0.0.0.0 and [::], as per RFC 6890 [0]. That
spec says that these addresses may only be used as source addresses, not
destinations. Requesting connections to either of these addresses is generally
confusing, and likely not motivated by a good reason.

Coincidentally, Blink seems to be making a similar change [1], and their use
counters are showing below 0.001%. We can't exactly extrapolate from that, but
it's a good indicator that this is safe.

[0] https://www.rfc-editor.org/rfc/rfc6890#section-2.2.3
[1] https://groups.google.com/a/chromium.org/g/blink-dev/c/9uymCQNGVgw

* LayoutTests/http/tests/media/video-error-all-zero-address-blocked-expected.txt: Added.
* LayoutTests/http/tests/media/video-error-all-zero-address-blocked.html: Added.
* LayoutTests/http/tests/security/block-iframe-to-all-zero-address-expected.txt: Added.
* LayoutTests/http/tests/security/block-iframe-to-all-zero-address.html: Added.
* LayoutTests/http/tests/security/block-popup-to-all-zero-address-expected.txt: Added.
* LayoutTests/http/tests/security/block-popup-to-all-zero-address.html: Added.
* LayoutTests/http/tests/security/redirect-BLOCKED-to-all-zero-address-expected.txt: Added.
* LayoutTests/http/tests/security/redirect-BLOCKED-to-all-zero-address.html: Added.
* LayoutTests/http/tests/websocket/connection-to-all-zero-address-blocked-expected.txt: Added.
* LayoutTests/http/tests/websocket/connection-to-all-zero-address-blocked.html: Added.
* LayoutTests/platform/wincairo/TestExpectations:
* Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::iceServersFromConfiguration):
* Source/WebCore/Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isSafeToLoadURL const):
* Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willSendRequest):
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::reportBlockedLoadFailed):
* Source/WebCore/loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::init):
* Source/WebCore/loader/SubframeLoader.cpp:
(WebCore::FrameLoader::SubframeLoader::pluginIsLoadable):
(WebCore::FrameLoader::SubframeLoader::loadSubframe):
* Source/WebCore/loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* Source/WebCore/platform/network/DNS.cpp:
(WebCore::isIPAddressDisallowed):
* Source/WebCore/platform/network/DNS.h:
* Source/WebCore/platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::ResourceHandle):
* Source/WebKit/NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::NetworkDataTask):

Canonical link: https://commits.webkit.org/279835@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list