Bug 151782 - Fidelity.com login page does not show username and password field
Summary: Fidelity.com login page does not show username and password field
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: Evangelism (show other bugs)
Version: WebKit Nightly Build
Hardware: Mac OS X 10.11
: P2 Normal
Assignee: Nobody
URL: https://oltx.fidelity.com/ftgw/fbc/of...
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2015-12-02 17:22 PST by zhipingzhou
Modified: 2022-02-10 20:59 PST (History)
7 users (show)

See Also:


Attachments
fidelity.com log-in window on WebKit nightly r192882 (OS X 10.11) (229.90 KB, image/png)
2015-12-02 17:22 PST, zhipingzhou
no flags Details
[WebArchive] https://oltx.fidelity.com/ftgw/fbc/ofsummary/defaultPage (418.92 KB, application/x-webarchive)
2015-12-13 12:11 PST, Daniel Bates
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description zhipingzhou 2015-12-02 17:22:43 PST
Created attachment 266488 [details]
fidelity.com log-in window on WebKit nightly r192882 (OS X 10.11)

Any authentication request on fidelity.com, if not already logged in, will bring up a username field and a password field. The username field doesn't show a box to accept input. This makes logging into fidelity.com impossible on WebKit nightly. WebKit nightly version r192882. The page renders correctly on Safari.
Comment 1 Daniel Bates 2015-12-13 12:11:11 PST
Created attachment 267267 [details]
[WebArchive] https://oltx.fidelity.com/ftgw/fbc/ofsummary/defaultPage

For historical preservation, a web archive of <https://oltx.fidelity.com/ftgw/fbc/ofsummary/defaultPage> as it appeared on 12/13/2015. This archive was created using Safari Version 9.0.2 (10601.3.9) on OS X 10.10.5 (14F1509).
Comment 2 Daniel Bates 2015-12-13 12:30:24 PST
Confirmed the issue with Mac nightly r194016. I am using Safari Version 9.0.2 (10601.3.9).
Comment 3 Daniel Bates 2015-12-13 12:46:31 PST
The issue is that plugins are not loaded from /Library/Internet Plugins when using the nightly. Note that plugins are loaded if placed in ~/Library/Internet Plugins.

Loading <https://oltx.fidelity.com/ftgw/fbc/ofsummary/defaultPage> in Mac nightly r194016 I see a JavaScript ReferenceError in the Web Inspector console:

[Error] ReferenceError: Can't find variable: temp
    deviceprint_software (device_print.js:216)
    add_deviceprint (device_print.js:540:156)
    post_deviceprint (device_print.js:484)
    (anonymous function) (retailWidget.js:7)
    c (jquery-1.10.2.min.js:4:26042)
    fireWith (jquery-1.10.2.min.js:4:26842)
    ready (jquery-1.10.2.min.js:4:3317)
    q (jquery-1.10.2.min.js:4:723)

As indicated by the error, the code in deviceprint_software() (defined in <https://login.fidelity.com/ftgw/pages/js/common/device_print.js>) has a correctness issue on line 216 - it assumes the variable temp has been defined and performs a string concatenation of the value of temp and the empty string (temp += "";). We only reach line 216 when no plugins are loaded (i.e. navigator.plugins.length == 0) and navigator.mimeTypes.length > 0.
Comment 4 Alexey Proskuryakov 2015-12-13 12:58:21 PST
> The issue is that plugins are not loaded from /Library/Internet Plugins when using the nightly. Note that plugins are loaded if placed in ~/Library/Internet Plugins.

I cannot reproduce this.

> i.e. navigator.plugins.length == 0

This sounds related to bug 149014.
Comment 5 Brent Fulgham 2015-12-13 13:09:57 PST
(In reply to comment #4)
> > The issue is that plugins are not loaded from /Library/Internet Plugins when using the nightly. Note that plugins are loaded if placed in ~/Library/Internet Plugins.
> 
> I cannot reproduce this.
> 
> > i.e. navigator.plugins.length == 0
> 
> This sounds related to bug 149014.

Does this problem happen with Firefox? If not, then this is probably not related to Bug 149014, since we now match Firefox's plugin disclosure behavior.

It's also weird that things work if you put the plugins in the user's personal Library folder. That makes me wonder if this is some kind of Sandbox change.
Comment 6 Daniel Bates 2015-12-13 20:47:34 PST
(In reply to comment #3)
> The issue is that plugins are not loaded from /Library/Internet Plugins when
> using the nightly. Note that plugins are loaded if placed in
> ~/Library/Internet Plugins.
> 

Disregard this remark.
Comment 7 Daniel Bates 2015-12-13 20:59:58 PST
(In reply to comment #5)
> (In reply to comment #4)
> > > [...]
> > 
> > > i.e. navigator.plugins.length == 0
> > 
> > This sounds related to bug 149014.
> 
> Does this problem happen with Firefox?

On the same machine using Mac Firefox version 42.0, navigator.plugins.length returns 5:

> navigator.plugins.length
5
> navigator.plugins
PluginArray { 0: Plugin, 1: Plugin, 2: Plugin, 3: Plugin, 4: Plugin, Adobe Acrobat NPAPI Plug-in, Version 11.0.13: Plugin, Default Browser Helper: Plugin, Shockwave Flash: Plugin, iPhotoPhotocast: Plugin, 1 more… }

And accessing <https://oltx.fidelity.com/ftgw/fbc/ofsummary/defaultPage> shows a username and password field (as expected).
Comment 8 Daniel Bates 2015-12-13 21:21:27 PST
Looking at <https://login.fidelity.com/ftgw/pages/js/common/device_print.js>, Fidelity.com is using the navigator.plugins data as a way to fingerprint a device, which is a behavior that we do not want to support and mitigated in the patch for bug #149014.

As aforementioned in the second paragraph of comment #3, Fidelity.com has a JavaScript error in their code such that when navigator.plugins.length == 0 a ReferenceError is thrown and this affects the display of a username and password field. Fidelity.com should update their code to address this issue.
Comment 9 Daniel Bates 2015-12-13 21:28:26 PST
CC'ing Jonathan Davis, Web Technology Evangelist, as he may be able to help reach out to Fidelity.com to address the JavaScript error in their code.
Comment 10 Alexey Proskuryakov 2015-12-14 09:54:26 PST
FWIW, I find other instances of this code when I search the internet for this script's content. Those are not live installations, but those are likely not searchable if they exist.
Comment 11 Brent Fulgham 2015-12-14 10:00:12 PST
(In reply to comment #7)
> (In reply to comment #5)
> > Does this problem happen with Firefox?
> 
> On the same machine using Mac Firefox version 42.0, navigator.plugins.length
> returns 5:
> 
> > navigator.plugins.length
> 5

I'm sorry -- I meant, "Does Mac Firefox also lack the login box needed for the user name"?
Comment 12 Alexey Proskuryakov 2016-09-08 14:00:09 PDT
<rdar://problem/28213657>