<?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>196552</bug_id>
          
          <creation_ts>2019-04-03 12:27:36 -0700</creation_ts>
          <short_desc>Make HSTS list handling more robust against unexpected content</short_desc>
          <delta_ts>2019-04-08 13:25:02 -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 Misc.</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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>pvollan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1523837</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-03 12:27:36 -0700</bug_when>
    <thetext>Crash tracing data indicates that the network process is sometimes handed malformed HSTS data, leading to a nullptr dereference. This patch adds some assertions to catch the invalid state in debug builds, and allows the process to ignore the bad data and continue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523838</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-03 12:27:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/43403817&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523840</commentid>
    <comment_count>2</comment_count>
      <attachid>366630</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-03 12:30:54 -0700</bug_when>
    <thetext>Created attachment 366630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523948</commentid>
    <comment_count>3</comment_count>
      <attachid>366630</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-03 14:42:34 -0700</bug_when>
    <thetext>Comment on attachment 366630
Patch

If this is happening, doesn&apos;t this indicate the HSTS cache is corrupted and we should clear the HSTS cache completely?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525269</commentid>
    <comment_count>4</comment_count>
      <attachid>366955</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-08 11:21:21 -0700</bug_when>
    <thetext>Created attachment 366955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525299</commentid>
    <comment_count>5</comment_count>
      <attachid>366955</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-08 12:54:40 -0700</bug_when>
    <thetext>Comment on attachment 366955
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=366955&amp;action=review

&gt; Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm:163
&gt; +    auto hostnames = static_cast&lt;HashSet&lt;String&gt;*&gt;(context);

We usually prefer auto* for raw pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525322</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-08 13:25:02 -0700</bug_when>
    <thetext>Committed r244035: &lt;https://trac.webkit.org/changeset/244035&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366630</attachid>
            <date>2019-04-03 12:30:54 -0700</date>
            <delta_ts>2019-04-08 11:21:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196552-20190403123053.patch</filename>
            <type>text/plain</type>
            <size>1851</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA1MmE5ODNkZWEwYTFlY2E4
MjEyYWQyZDQwOGFlNjEwZDYwODZhMmEuLmFmY2VjYWNlMDBmMGViMDc2OGFkNmU5YjRiNjFlOWJi
MTg5MDRkMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDQtMDMgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBIU1RTIGxpc3QgaGFu
ZGxpbmcgbW9yZSByb2J1c3QgYWdhaW5zdCB1bmV4cGVjdGVkIGNvbnRlbnQgCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY1NTIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzQzNDAzODE3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENyYXNoIGxvZ3MgaW5kaWNhdGUgd2Ugc29tZXRpbWVzIGVuY291bnRl
ciBudWxsIGtleSB2YWx1ZXMgZHVyaW5nIHByb2Nlc3NpbmcuCisgICAgICAgIFRoaXMgcGF0Y2gg
YWRkcyBzb21lIGRlYnVnIGFzc2VydGlvbnMgdG8gY2F0Y2ggdGhpcyBpbiB0ZXN0IGVudmlyb25t
ZW50cywgYW5kCisgICAgICAgIGFsbG93cyB0aGUgY29kZSB0byBza2lwIHRoZSBiYWQgZW50cmll
cyBpZiBlbmNvdW50ZXJlZC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OmZpbHRlclByZWxvYWRIU1RTRW50
cnkpOgorCiAyMDE5LTAzLTI4ICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6
QGlnYWxpYS5jb20+CiAKICAgICAgICAgU2lsZW5jZSBsb3Qgb2Ygd2FybmluZ3Mgd2hlbiBjb21w
aWxpbmcgd2l0aCBjbGFuZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCmluZGV4IDVhZTQ5ZjZjOTJkYmNjNzk4
YWY2MTFiZDhiNDE2NjQwNzlmYzFlYzMuLjE3NTk1MDk1Y2YxNTk0OWIzNzI4YmIwZTY0YzA1Mjdl
YmVlMDE5ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya1Byb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KQEAgLTE0OSw2ICsxNDksMTMgQEAgUmV0YWlu
UHRyPENGRGF0YVJlZj4gTmV0d29ya1Byb2Nlc3M6OnNvdXJjZUFwcGxpY2F0aW9uQXVkaXREYXRh
KCkgY29uc3QKIAogc3RhdGljIHZvaWQgZmlsdGVyUHJlbG9hZEhTVFNFbnRyeShjb25zdCB2b2lk
KiBrZXksIGNvbnN0IHZvaWQqIHZhbHVlLCB2b2lkKiBjb250ZXh0KQogeworICAgIEFTU0VSVChr
ZXkpOworICAgIEFTU0VSVCh2YWx1ZSk7CisgICAgQVNTRVJUKGNvbnRleHQpOworCisgICAgaWYg
KCFrZXkgfHwgIXZhbHVlIHx8ICFjb250ZXh0KQorICAgICAgICByZXR1cm47CisKICAgICBIYXNo
U2V0PFN0cmluZz4qIGhvc3RuYW1lcyA9IHN0YXRpY19jYXN0PEhhc2hTZXQ8U3RyaW5nPio+KGNv
bnRleHQpOwogICAgIGF1dG8gdmFsID0gc3RhdGljX2Nhc3Q8Q0ZEaWN0aW9uYXJ5UmVmPih2YWx1
ZSk7CiAgICAgaWYgKENGRGljdGlvbmFyeUdldFZhbHVlKHZhbCwgX2tDRk5ldHdvcmtIU1RTUHJl
bG9hZGVkKSAhPSBrQ0ZCb29sZWFuVHJ1ZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366955</attachid>
            <date>2019-04-08 11:21:21 -0700</date>
            <delta_ts>2019-04-08 12:54:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196552-20190408112120.patch</filename>
            <type>text/plain</type>
            <size>2955</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNiZGUxMGY0NWY3OTgzMWE2
Mzc1ZTBhZjlmYzMyM2VjMTQwMzEwYzQuLjBjODEwZGI4MWRkMjQxMWNhYmExNmE5NmE0NDJkZGI0
ZmFmNDUwYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTktMDQtMDggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBIU1RTIGxpc3QgaGFu
ZGxpbmcgbW9yZSByb2J1c3QgYWdhaW5zdCB1bmV4cGVjdGVkIGNvbnRlbnQgCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY1NTIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzQzNDAzODE3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENyYXNoIGxvZ3MgaW5kaWNhdGUgd2Ugc29tZXRpbWVzIGVuY291bnRl
ciBudWxsIGtleSB2YWx1ZXMgZHVyaW5nIHByb2Nlc3NpbmcuCisgICAgICAgIFRoaXMgcGF0Y2gg
YWRkcyBzb21lIGRlYnVnIGFzc2VydGlvbnMgdG8gY2F0Y2ggdGhpcyBpbiB0ZXN0IGVudmlyb25t
ZW50cywgYW5kCisgICAgICAgIGFsbG93cyB0aGUgY29kZSB0byBza2lwIHRoZSBiYWQgZW50cmll
cyBpZiBlbmNvdW50ZXJlZC4KKworICAgICAgICBJdCBhbHNvIGF2b2lkcyBjYWxsaW5nIENGRGlj
dGlvbmFyeUFwcGx5RnVuY3Rpb24gd2hlbiB0aGUgSFNUUyBwb2xpY2llcyByZXR1cm5lZAorICAg
ICAgICBieSBfQ0ZOZXR3b3JrQ29weUhTVFNQb2xpY2llcyBpcyBudWxscHRyLCB3aGljaCBpcyBh
IHBvc3NpYmxlIHJldHVybiB2YWx1ZS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OmZpbHRlclByZWxvYWRI
U1RTRW50cnkpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6Z2V0SG9zdE5hbWVz
V2l0aEhTVFNDYWNoZSk6CisKIDIwMTktMDQtMDcgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1
ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDM5NTYu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQ
cm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtQcm9jZXNzQ29jb2EubW0KaW5kZXggNWFlNDlmNmM5MmRiY2M3OThhZjYxMWJkOGI0MTY2NDA3
OWZjMWVjMy4uNzYyNzg0ZDdmMDE4OWU4MDE2MzM4MzVjMTkyODIzNTYyN2JiYTYxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0Nv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1By
b2Nlc3NDb2NvYS5tbQpAQCAtMTQ5LDcgKzE0OSwxOCBAQCBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBO
ZXR3b3JrUHJvY2Vzczo6c291cmNlQXBwbGljYXRpb25BdWRpdERhdGEoKSBjb25zdAogCiBzdGF0
aWMgdm9pZCBmaWx0ZXJQcmVsb2FkSFNUU0VudHJ5KGNvbnN0IHZvaWQqIGtleSwgY29uc3Qgdm9p
ZCogdmFsdWUsIHZvaWQqIGNvbnRleHQpCiB7Ci0gICAgSGFzaFNldDxTdHJpbmc+KiBob3N0bmFt
ZXMgPSBzdGF0aWNfY2FzdDxIYXNoU2V0PFN0cmluZz4qPihjb250ZXh0KTsKKyAgICBSRUxFQVNF
X0FTU0VSVChjb250ZXh0KTsKKworICAgIEFTU0VSVChrZXkpOworICAgIEFTU0VSVCh2YWx1ZSk7
CisgICAgaWYgKCFrZXkgfHwgIXZhbHVlKQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQo
a2V5ICE9IGtDRk51bGwpOworICAgIGlmIChrZXkgPT0ga0NGTnVsbCkKKyAgICAgICAgcmV0dXJu
OworICAgIAorICAgIGF1dG8gaG9zdG5hbWVzID0gc3RhdGljX2Nhc3Q8SGFzaFNldDxTdHJpbmc+
Kj4oY29udGV4dCk7CiAgICAgYXV0byB2YWwgPSBzdGF0aWNfY2FzdDxDRkRpY3Rpb25hcnlSZWY+
KHZhbHVlKTsKICAgICBpZiAoQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUodmFsLCBfa0NGTmV0d29ya0hT
VFNQcmVsb2FkZWQpICE9IGtDRkJvb2xlYW5UcnVlKQogICAgICAgICBob3N0bmFtZXMtPmFkZCgo
Q0ZTdHJpbmdSZWYpa2V5KTsKQEAgLTE1Nyw4ICsxNjgsOCBAQCBzdGF0aWMgdm9pZCBmaWx0ZXJQ
cmVsb2FkSFNUU0VudHJ5KGNvbnN0IHZvaWQqIGtleSwgY29uc3Qgdm9pZCogdmFsdWUsIHZvaWQq
IGNvbgogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpnZXRIb3N0TmFtZXNXaXRoSFNUU0NhY2hlKFdl
YkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbiYgc2Vzc2lvbiwgSGFzaFNldDxTdHJpbmc+JiBo
b3N0TmFtZXMpCiB7Ci0gICAgYXV0byBIU1RTUG9saWNpZXMgPSBhZG9wdENGKF9DRk5ldHdvcmtD
b3B5SFNUU1BvbGljaWVzKHNlc3Npb24ucGxhdGZvcm1TZXNzaW9uKCkpKTsKLSAgICBDRkRpY3Rp
b25hcnlBcHBseUZ1bmN0aW9uKEhTVFNQb2xpY2llcy5nZXQoKSwgZmlsdGVyUHJlbG9hZEhTVFNF
bnRyeSwgJmhvc3ROYW1lcyk7CisgICAgaWYgKGF1dG8gSFNUU1BvbGljaWVzID0gYWRvcHRDRihf
Q0ZOZXR3b3JrQ29weUhTVFNQb2xpY2llcyhzZXNzaW9uLnBsYXRmb3JtU2Vzc2lvbigpKSkpCisg
ICAgICAgIENGRGljdGlvbmFyeUFwcGx5RnVuY3Rpb24oSFNUU1BvbGljaWVzLmdldCgpLCBmaWx0
ZXJQcmVsb2FkSFNUU0VudHJ5LCAmaG9zdE5hbWVzKTsKIH0KIAogdm9pZCBOZXR3b3JrUHJvY2Vz
czo6ZGVsZXRlSFNUU0NhY2hlRm9ySG9zdE5hbWVzKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vz
c2lvbiYgc2Vzc2lvbiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lcykK
</data>
<flag name="review"
          id="383303"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>