Closed Bug 1421018 Opened 7 years ago Closed 7 years ago

Block TBNotifier.exe from accessing accessible services

Categories

(Core :: Disability Access APIs, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla59
Tracking Status
firefox59 --- fixed

People

(Reporter: jimm, Assigned: eeejay)

References

Details

Attachments

(1 file, 1 obsolete file)

David and I agree, this is basically malware and is unwanted. We can block access to this client.
Things we need to do here: 1) Since the blocklist code for exe checking isn't implemented yet, we'll need to add it. This shouldn't be a lot of work, we're just talking about walking over a list of strings and doing some safe string comparing. There's a place holder for the check [1] in the code currently. We need a new static exe list in addition to the existing dll list [2], and we need to walk over that list and check it against the a11y instantiator we detect, which we have as a nsIFile [3]. I would also suggest adding a new environment variable for disabling the exe check, similar to the dll module check. We might want to rename the existing env variable [4] to something more appropriate. I think it might be useful to have switches for both block lists features. [1] https://searchfox.org/mozilla-central/rev/7f45cb7cc0229398fc99849bdc150cb6462d6966/accessible/windows/msaa/LazyInstantiator.cpp#295 [2] https://searchfox.org/mozilla-central/rev/7f45cb7cc0229398fc99849bdc150cb6462d6966/accessible/windows/msaa/LazyInstantiator.cpp#231 [3] https://searchfox.org/mozilla-central/rev/7f45cb7cc0229398fc99849bdc150cb6462d6966/accessible/windows/msaa/LazyInstantiator.cpp#287 [4] https://searchfox.org/mozilla-central/rev/7f45cb7cc0229398fc99849bdc150cb6462d6966/accessible/windows/msaa/LazyInstantiator.cpp#248
Assignee: nobody → eitan
(In reply to Jim Mathies [:jimm] from comment #1) > I would also suggest adding a new environment variable for disabling the exe > check, similar to the dll module check. We might want to rename the existing > env variable [4] to something more appropriate. I think it might be useful > to have switches for both block lists features. > Why wouldn't you want both block lists to use the same env variable? Is there a case when you want to block remote but not local or vice versa?
Flags: needinfo?(jmathies)
I used the same environment variable name for both. I can change that if you think having them be distinct is useful. Couldn't install ask.com notifier, but I tested on inspect.exe and it works.
Attachment #8933825 - Flags: review?(jmathies)
I guess a needinfo too is excessive.. sorry for the spam.
Flags: needinfo?(jmathies)
Comment on attachment 8933825 [details] [diff] [review] Create accessible client blocklist and add TBNNotifier.exe. r?jimm Review of attachment 8933825 [details] [diff] [review]: ----------------------------------------------------------------- FYI I'm fine with just one env flag for the whole thing. ::: accessible/windows/msaa/LazyInstantiator.cpp @@ +302,5 @@ > + nsresult rv; > + if (!PR_GetEnv("MOZ_DISABLE_ACCESSIBLE_BLOCKLIST")) { > + // Debugging option is not present, so check blocklist. > + nsAutoString leafName; > + rv = clientExe->GetLeafName(leafName); is this retrieving the exe name or a directory name?
Attachment #8933825 - Flags: review?(jmathies) → review+
(In reply to Jim Mathies [:jimm] from comment #5) > Comment on attachment 8933825 [details] [diff] [review] > Create accessible client blocklist and add TBNNotifier.exe. r?jimm > > Review of attachment 8933825 [details] [diff] [review]: > ----------------------------------------------------------------- > > FYI I'm fine with just one env flag for the whole thing. > > ::: accessible/windows/msaa/LazyInstantiator.cpp > @@ +302,5 @@ > > + nsresult rv; > > + if (!PR_GetEnv("MOZ_DISABLE_ACCESSIBLE_BLOCKLIST")) { > > + // Debugging option is not present, so check blocklist. > > + nsAutoString leafName; > > + rv = clientExe->GetLeafName(leafName); > > is this retrieving the exe name or a directory name? The exe name. That's what we want. Right?
(In reply to Eitan Isaacson [:eeejay] from comment #6) > (In reply to Jim Mathies [:jimm] from comment #5) > > Comment on attachment 8933825 [details] [diff] [review] > > Create accessible client blocklist and add TBNNotifier.exe. r?jimm > > > > Review of attachment 8933825 [details] [diff] [review]: > > ----------------------------------------------------------------- > > > > FYI I'm fine with just one env flag for the whole thing. > > > > ::: accessible/windows/msaa/LazyInstantiator.cpp > > @@ +302,5 @@ > > > + nsresult rv; > > > + if (!PR_GetEnv("MOZ_DISABLE_ACCESSIBLE_BLOCKLIST")) { > > > + // Debugging option is not present, so check blocklist. > > > + nsAutoString leafName; > > > + rv = clientExe->GetLeafName(leafName); > > > > is this retrieving the exe name or a directory name? > > The exe name. That's what we want. Right? yep!
Comment on attachment 8933825 [details] [diff] [review] Create accessible client blocklist and add TBNNotifier.exe. r?jimm Review of attachment 8933825 [details] [diff] [review]: ----------------------------------------------------------------- ::: accessible/windows/msaa/LazyInstantiator.cpp @@ +239,5 @@ > +/** > + * This is the blocklist for known "bad" remote clients that instantiate a11y. > + */ > +static const char* gBlockedRemoteClients[] = { > + "TBNNotifier.exe" // Ask.com Toolbar, bug 1421018 All of our existing blocklists use lower case, you should follow that here as well.
Attachment #8933825 - Attachment is obsolete: true
Keywords: checkin-needed
(In reply to Jim Mathies [:jimm] from comment #8) > All of our existing blocklists use lower case, you should follow that here > as well. Done!
Pushed by ryanvm@gmail.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/cda85f961db4 Create accessible client blocklist and add TBNNotifier.exe. r=jimm
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
Depends on: 1453876
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: