<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>315163</bug_id>
          
          <creation_ts>2026-05-19 22:36:56 -0700</creation_ts>
          <short_desc>NetworkConnectionToWebProcess::createSocketChannel should reject requests with an invalid URL</short_desc>
          <delta_ts>2026-05-20 15:45:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Process Model</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kristian Monsen">k_monsen</reporter>
          <assigned_to name="Kristian Monsen">k_monsen</assigned_to>
          <cc>nham</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2212326</commentid>
    <comment_count>0</comment_count>
    <who name="Kristian Monsen">k_monsen</who>
    <bug_when>2026-05-19 22:36:56 -0700</bug_when>
    <thetext>&lt;script&gt;
window.testRunner?.waitUntilDone();
(async () =&gt; {
    const { CoreIPC } = await import(&quot;./coreipc.js&quot;);
    const pageID = IPC.pageID;
    const webPageProxyID = IPC.webPageProxyID;
    const letterA = &quot;A&quot;;
    const locationHref = location.href;
    const longA = &quot;A&quot;.repeat(8300);
    const unicodeBlob = unescape(&quot;%u02F4%uCFE5%uD8DE%uF92B%u831D%u8101%u4951%u5564%u7944%u7A2A%uA2DE%u837F%uE886%u0F27%u990C%u8EEB%u4F63%uA060%u4373%u7D96&quot;);
    const shortBlob = unescape(&quot;%uE08C%u8801%uB72A%uBAED%u3BD0&quot;);
    const httpMethodBlob = unescape(&quot;r5%17%05S9l%28XlZ%3Cla%3C%5B%1Ej%7B4%5D%08Chmf6FRG_c%603D%26w%5D%7C%7BTQ%3E%26oE%60%06P%03R@2Z%3B%01%27OU%3DA%0Dp%081%1CV%07/%5C%15z%19%3C/%25i%1D%1ETVW%26/eH%5ES6pwut%29%10z%29%01%3BBr%03%29-+q%01%3F%25%14.%5D%19%04q%2C%0F%28&quot;);
    const dot = unescape(&quot;.&quot;);
    const repeatedLongA = longA.repeat(6);
    const fullscreenString = &quot;WaitBeforeFinishingFullscreenExit&quot;.repeat(4);
    CoreIPC.Networking.NetworkConnectionToWebProcess.CreateSocketChannel(0, { request: { getRequestDataToSerialize: { variantType: &quot;WebCore::ResourceRequest::RequestData&quot;, variant: { m_url: { string: &quot;A&quot; }, m_firstPartyForCookies: { string: fullscreenString }, m_timeoutInterval: 4.88059031996e-313, m_httpMethod: httpMethodBlob, m_httpHeaderFields: { commonHeaders: [{ key: 18, value: locationHref }, { key: 78, value: longA }, { key: 75, value: letterA }, { key: 43, value: letterA }, { key: 96, value: httpMethodBlob }], uncommonHeaders: [{ key: letterA, value: dot }, { key: unicodeBlob, value: unicodeBlob }, { key: locationHref, value: httpMethodBlob }] }, m_responseContentDispositionEncodingFallbackArray: [repeatedLongA, shortBlob, dot, shortBlob, dot, locationHref, repeatedLongA, shortBlob], m_cachePolicy: 5, m_sameSiteDisposition: 2, m_priority: 1, m_requester: 9, m_allowCookies: true, m_isTopSite: true, m_isAppInitiated: true, m_privacyProxyFailClosedForUnreachableNonMainHosts: true, m_useAdvancedPrivacyProtections: true, m_didFilterLinkDecoration: false, m_isPrivateTokenUsageByThirdPartyAllowed: false, m_wasSchemeOptimisticallyUpgraded: false, m_targetAddressSpace: 0 } }, cachePartition: &quot;A&quot;, hiddenFromInspector: true }, protocol: fullscreenString, identifier: 393216, webPageProxyID: webPageProxyID, frameID: { optionalValue: 262144 }, pageID: { optionalValue: pageID }, clientOrigin: { topOrigin: { data: { variantType: &quot;WebCore::SecurityOriginData::Tuple&quot;, variant: { protocol: longA, host: fullscreenString, port: {} } } }, clientOrigin: { data: { variantType: &quot;WebCore::OpaqueOriginIdentifierProcessQualified&quot;, variant: { object: 262145, processIdentifier: 262146 } } } }, hadMainFrameMainResourcePrivateRelayed: false, allowPrivacyProxy: false, protections: 15, storedCredentialsPolicy: 0 });
})();
&lt;/script&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2212327</commentid>
    <comment_count>1</comment_count>
    <who name="Kristian Monsen">k_monsen</who>
    <bug_when>2026-05-19 22:37:37 -0700</bug_when>
    <thetext>&lt;rdar://177347637&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2212328</commentid>
    <comment_count>2</comment_count>
    <who name="Kristian Monsen">k_monsen</who>
    <bug_when>2026-05-19 22:39:22 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/65258</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2212705</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-05-20 15:45:07 -0700</bug_when>
    <thetext>Committed 313603@main (84a08d4a5ba8): &lt;https://commits.webkit.org/313603@main&gt;

Reviewed commits have been landed. Closing PR #65258 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>