<?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>231043</bug_id>
          
          <creation_ts>2021-09-30 16:12:04 -0700</creation_ts>
          <short_desc>WebAuthn getAssertion for CTAP2 devices using CTAP1</short_desc>
          <delta_ts>2022-11-04 01:03:56 -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>Safari 15</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>macOS 10.15</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="login Llama">loginllama</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>joost.vandijk</cc>
    
    <cc>kevin_neal</cc>
    
    <cc>pascoe</cc>
    
    <cc>smoley</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1799069</commentid>
    <comment_count>0</comment_count>
    <who name="login Llama">loginllama</who>
    <bug_when>2021-09-30 16:12:04 -0700</bug_when>
    <thetext>This is a regression.  Safari was using CTAP2 for CTAP2.0 and CTAP2.1 devices.

In Safari 15.1 and STP 15.4 I am still seeing Safari using CTAP2.0 for make credential, but all getAssertion commands are using CTAP1/U2F to talk to CTAP2.0 and CTAP2.1 authenticators.

If the RP specifies User Verification: required then the external authenticator doesn&apos;t flash,  Safari appears not to send the request to the authenticator.  

I have tested with older CTAP2.0 authenticators so I don&apos;t think it is anything new with getInfo on the keys that is causing this issue.

I recall that this happened before because of a getinfo parsing error causing Safari to fall back to CTAP1.   However since this is not impacting makeCredential it is probably something else.

Currently any site that sets User Verification required (EG Microsoft) is going to be broken with roaming authenticators.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799398</commentid>
    <comment_count>1</comment_count>
    <who name="Kevin Neal">kevin_neal</who>
    <bug_when>2021-10-01 10:55:36 -0700</bug_when>
    <thetext>Thank you for filing. The appropriate engineers have been notified.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799400</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-01 10:55:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/83773379&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801467</commentid>
    <comment_count>3</comment_count>
    <who name="Smoley">smoley</who>
    <bug_when>2021-10-06 18:32:01 -0700</bug_when>
    <thetext>If applicable please attach a reduced test case that demonstrates this. Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801661</commentid>
    <comment_count>4</comment_count>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-10-07 10:52:58 -0700</bug_when>
    <thetext>Hi! 

I&apos;ve been attempting to replicate this but am unable. 

I attempted getAssertion with live.com login (needed to set user agent to (Google Chrome - MacOS to get the option to use a security key to show up) with two different registered security keys (Yubikey 5c nano, Authentrend ATKey.Pro) on STP 15.4 (using releases 132, 133). I also tried using https://webauthntest.azurewebsites.net</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1910300</commentid>
    <comment_count>5</comment_count>
    <who name="Joost van Dijk">joost.vandijk</who>
    <bug_when>2022-11-04 01:03:56 -0700</bug_when>
    <thetext>The behaviour seems intermittent. It is observed in Safari 16 and 16.1 on MacOS 12.6 and 13.0. And it is observed during makeCredential.
When forcing the use of CTAP2 (by using a CTAP2-only key) the modal credentials.create dialog appears without the security key flashing, resulting in a timeout.
When using a CTAP1+CTAP2 device, it will intermittently fallback to CTAP1, and trigger another bug (https://bugs.webkit.org/show_bug.cgi?id=247344) resulting in an incorrect RP ID Hash.
Once this issue is triggered it can be reproduced consistently until Safari is restarted.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>