Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filter out Dialog Insight trackers from URLs #22082

Closed
fmarier opened this issue Apr 4, 2022 · 2 comments · Fixed by brave/brave-core#12893
Closed

Filter out Dialog Insight trackers from URLs #22082

fmarier opened this issue Apr 4, 2022 · 2 comments · Fixed by brave/brave-core#12893

Comments

@fmarier
Copy link
Member

fmarier commented Apr 4, 2022

I found this in a Qtrade email:

<img alt="" width="3" height="2" src="http://link.mail.qtrade.ca/T/OFC4/T/5916/946.../1Enu....gif" />

It's a CNAME to ofsys.com:

$ dig link.mail.qtrade.ca
link.mail.qtrade.ca.	3078	IN	CNAME	secure.ofsys.com.
secure.ofsys.com.	1313	IN	A	208.91.248.10

and sure enough the final link ends up being decorated with extra query string parameters: oft_id, oft_k, oft_lk and oft_d. The unsubscribe link doesn't use any of these query parameters but both oft_id and oft_k are present in the path, the same ones used in the image tracker.

There are lots of examples in the wild. My best guess is that these parameters are useful in conversion tracking on external e-commerce platforms.

I found a landing page in a GitHub repo but it doesn't seem to have any real JS code running (other than an animation).

For user journey tracking:

there is a Dialog Insight script to add the scripts looks like this one, as found on this website. The script is already in EasyPrivacy.

The full unminified source code was accidentally left online and so this is the full list of parameters they use:

    GetOfsysParameters : function()
    {
        return ["oft_id", "oft_k", "oft_lk", "oft_d", "oft_c", "oft_ck", "oft_campaign", "oft_ids", "oft_sk"];
    },

It seems like they can identify individual visitors based on any of the parameters, except for oft_campaign:

        for(var i = 0; i < ofsysParameters.length;i++)
        {
            var pName = ofsysParameters[i];                        
            if(typeof allValuesDic[pName] !== "undefined")
            {
                visitValue[pName] = allValuesDic[pName];

                if(pName == "oft_campaign")
                    continue;

                visitorIsIdentified = true;
                if(typeof visitorValue[pName] !== 'undefined')
                    delete visitorValue[pName];
            }
        }

This links to another tracker though I didn't find anything interesting there.

@stephendonner
Copy link

Verified PASSED using

Brave 1.39.51 Chromium: 100.0.4896.88 (Official Build) nightly (x86_64)
Revision 4450653bfa91182e85723d8f1dee64dd6ce40ed4-refs/branch-heads/4896@{#1086}
OS macOS Version 11.6.5 (Build 20G527)

Steps:

  1. installed 1.39.51
  2. launched Brave
  3. loaded https://brave.com/?oft_id=946&oft_k=1Enu&oft_lk=kea&oft_d=637

Ensured that the four (4) tracking parameters were dropped via an internal (Brave) redirect, ending up just https://brave.com/

Screen Shot 2022-04-12 at 4 30 05 PM

@kjozwiak
Copy link
Member

Verification PASSED on Samsung S10+ running Android 12 using the following build(s):

Brave | 1.39.109 Chromium: 102.0.5005.50 (Official Build) (64-bit)
--- | ---
Revision | f6e2cf8f59ec714bdcff8499991d55898875f287-refs/branch-heads/5005@{#648}
OS | Android 11; Build/RP1A.200720.012

STR/Cases used as per brave/brave-core#12893 (comment):

  1. installed 1.39.109 Chromium: 102.0.5005.50
  2. launched Brave
  3. loaded https://brave.com/?oft_id=946&oft_k=1Enu&oft_lk=kea&oft_d=637 via brave://inspect

Ensured that the four (4) tracking parameters were dropped via an internal (Brave) redirect, ending up just https://brave.com/

image

avinassh pushed a commit to avinassh/brave-browser-hardening that referenced this issue May 29, 2022
 - Added Solana support for account creation, sending SOL and sending SPL tokens with Brave Wallet. ([#22348](brave/brave-browser#22348))
 - Added the ability to buy with Ramp using Brave Wallet. ([#21639](brave/brave-browser#21639))
 - Added JSONSanitizer to API helper requests for Brave Wallet. ([#21831](brave/brave-browser#21831))
 - Added Dapp UI for requesting a public key and for decrypting ciphers using Brave Wallet. ([#21177](brave/brave-browser#21177))
 - Added web3_clientVersion support for Brave Wallet. ([#19278](brave/brave-browser#19278))
 - Added the ability to allow users to search sites for RSS feeds for Brave News. ([#21768](brave/brave-browser#21768))
 - Added support for blob partitioning. ([#21746](brave/brave-browser#21746))
 - Added minimum macOS version for Sparkle update process. ([#22918](brave/brave-browser#22918))
 - [Security] Blocked "window.ethereum" completely in third party iframes. ([#22686](brave/brave-browser#22686))
 - [Security] Updated Brave Wallet panel to prominently display eTLD+1 as reported on HackerOne by renekroka. ([#21787](brave/brave-browser#21787))
 - [Security] Fixed incorrect origin being displayed in Brave Wallet when a spend approval is pending. ([#19557](brave/brave-browser#19557))
 - Implemented eth_getEncryptionPublicKey for Brave Wallet. ([#19276](brave/brave-browser#19276))
 - Implemented account discovery when restoring Brave Wallet. ([#18104](brave/brave-browser#18104))
 - Updated Omaha installer version for Windows to v1.3.36.113. ([#22060](brave/brave-browser#22060))
 - Updated default IPFS configuration values. ([#22068](brave/brave-browser#22068))
 - Updated Gas Limit validation and error messaging for unapproved transactions with Brave Wallet. ([#21714](brave/brave-browser#21714))
 - Updated Brave Wallet to automatically add swap taker asset to the visible asset list. ([#21428](brave/brave-browser#21428))
 - Updated Brave Wallet portfolio network filter for multichain support. ([#20780](brave/brave-browser#20780))
 - Reduced adblock filter memory usage by optimizing unused regex rules. ([#21970](brave/brave-browser#21970))
 - Removed known Dialog Insight user tracking parameters from URLs. ([#22082](brave/brave-browser#22082))
 - Removed ability to swap ERC721 tokens with Brave Wallet. ([#21550](brave/brave-browser#21550))
 - Fixed crash which occurred when opening Brave Shields while using Google Meet. ([#22814](brave/brave-browser#22814))
 - Fixed inability to rename Solana account in Brave Wallet after it has been created. ([#22958](brave/brave-browser#22958))
 - Fixed incorrectly computed insufficient funds errors in Brave Wallet. ([#22877](brave/brave-browser#22877))
 - Fixed ERC20 and ERC721 transfers being incorrectly displayed as ETH transfers in the Brave Wallet transactions panel. ([#22044](brave/brave-browser#22044))
 - Fixed text alignment issues under the Brave Wallet "Recent transactions" panel when using long account names. ([#21216](brave/brave-browser#21216))
 - Fixed breakage in webpack build caused by OpenSSL 3.0. ([#22305](brave/brave-browser#22305))
 - Fixed two windows being opened on launch when the browser was installed without administrator privileges on Windows. ([#22179](brave/brave-browser#22179))
 - Upgraded Chromium to 102.0.5005.61. ([#22923](brave/brave-browser#22923)) ([Changelog for 102.0.5005.61](https://chromium.googlesource.com/chromium/src/+log/101.0.4951.67..102.0.5005.61?pretty=fuller&n=1000))
avinassh pushed a commit to avinassh/brave-browser-hardening that referenced this issue May 29, 2022
 - Added Brave Firewall + VPN. ([#12197](brave/brave-browser#12197))
 - Added support for blob partitioning. ([#21746](brave/brave-browser#21746))
 - Implemented eth_getEncryptionPublicKey for Brave Wallet. ([#19276](brave/brave-browser#19276))
 - Reduced adblock filter memory usage by optimizing unused regex rules. ([#21970](brave/brave-browser#21970))
 - Removed known Dialog Insight user tracking parameters from URLs. ([#22082](brave/brave-browser#22082))
 - Fixed breakage in webpack build caused by OpenSSL 3.0. ([#22305](brave/brave-browser#22305))
 - Fixed pending bell icon under Brave Wallet not being displayed when new unapproved requests are created. ([#21654](brave/brave-browser#21654))
 - Fixed expand icon under Brave Shields using incorrect color when the Privacy Hub has been enabled. ([#22049](brave/brave-browser#22049))
 - Upgraded Chromium to 102.0.5005.61. ([#22923](brave/brave-browser#22923)) ([Changelog for 102.0.5005.61](https://chromium.googlesource.com/chromium/src/+log/101.0.4951.67..102.0.5005.61?pretty=fuller&n=1000))
lyubomyr-shaydariv added a commit to lyubomyr-shaydariv/uu-webext that referenced this issue Jun 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants