Detecting a tracker pixel/image in email
from to on 22 Mar 20:16

An HTML-only email from a gov agency has a logo referencing an URL that looks like this:

It’s not exactly that (apart from the domain) but of course it’s rather unique looking. They send email routinely. The initial emails had an obviously non-suspicious basic logo, like “(their office domain)/files/logo.png”. But then later they switched and every message from them is the URL in the domain. It’s not unique per message but it could be unique to the user, perhaps to keep tabs on when each person reads their messages.

The output of torsocks curl -LI looks like this:

HTTP/2 200
date: (exactly now)
content-type: image/png
accept-ranges: bytes

That’s it. It’s the shortest HTTP header I’ve seen. There’s no content-length. I find that suspicious because if this is a service that facilitates tracker pixels, then they would want to withhold the length in order to dodge detection. Although from its usage in my case it wouldn’t just be a pixel – it’s a logo.

The date is also suspect. Shouldn’t the date be the date of the object, not the current time this second?

Are there any other checks to investigate this?


threaded - newest on 22 Mar 20:23 next collapse

No idea what you put here, can’t see it on my app. Could you try a screen shot instead? on 22 Mar 20:34 next collapse

I would ditch an app that can’t handle text. You want a screenshot of what, curl’s output? I’m on a shitty connection with images disabled so it’s a bit of a hassle and uses my allowance. on 22 Mar 20:53 collapse

It’s lazy input sanitization, and until someone makes a better app, this is what I got unfortunately.

Can’t you ditch your poor connection to benefit my ass and my busted ass app? 😂😜 (laughing emoji, tongue sticking out emoji in case you can’t see em) on 22 Mar 20:57 collapse

emoji works, just not pics. But thankfully someone on a proper connection handled it. on 22 Mar 20:34 collapse

Not op but here you go mate.

<img alt="" src=""> on 22 Mar 20:51 collapse

You’re a rock star thanks on 22 Mar 21:01 collapse

Given the post is about tracking via an image I thought you were making a joke by asking for the post as an image 😆 on 22 Mar 21:07 collapse

Lmao on 22 Mar 20:55 next collapse

Make another account to see if a different user/email address gets a different URL, which would indicate that it is used to track users. on 22 Mar 21:01 collapse

That’s cheating. I wish it were that easy but I really can’t create another account for this. I will ask around if anyone else has an account so we can compare notes. But I was just wondering if there is anything else I can do in a solo investigation to get more clues. It would generally be a useful skill to detect messages from other senders as well. I did a search on the domain to see if it’s a known service that sells tracking capability but that came up dry. nvm… it seems is behind this and they appear to be pitching analytics services. on 22 Mar 21:06 next collapse

Honestly without a copy of the email file with all the information included I’m not sure what’s going on here based off your description. You say they have a logo “referencing” this oddball url (btw it’s a hosting company, seems they’re owned by OVH in France)

What does referencing mean exactly? Are you saying this url is the source listed in the email of the logo/tracking image?

It’s possible thats the logo is used for tracking but I wouldn’t go drawing any conclusions outside of that hypothesis. Tracking pixels are pretty commonplace in emails both by businesses and by govts. Why? Because the communications and outreach folk care about metrics like how long you read an email and if you made it to the bottom or not, etc.

Based off what I do see here/understand in your case, this does seem to be a tracking pixel, but I can’t stress enough not to let your mind run off and start making further assumptions based off this singular fact.

Don’t let worry/anxiety blur any lines in your head between what you know and what you suspect/predict.

- An infosec guy who has talked to waaaaaaaay too many people struggling with schizophrenia/paranoid delusions/etc on 22 Mar 21:23 collapse

What does referencing mean exactly?

Sometimes HTML email comes with the logos and objects needed to render it, sometimes not. When the objects are included it’s possible to render the message while offline. In the case at hand, the logo was not included and the HTML body defined a logo with that unique URL inside img tags.

In the very least, if we assume the tracking is appropriate and that it’s consistent with the privacy policy and ToS I agreed to, I would still find it objectionable that a government would conceal the fact that they are using a tracker pixel/image by withholding the content-length header. The gov should be transparent about what they are doing. They should even disclose in each such message “we have a tracker pixel in here”, for transparency which should not be an issue if it’s legit. I personally need the content-length header because I’m on a shit internet connection and have a need to know how big something is before I fetch it. So I’m disturbed that all Cloudflare sites (which is like ½ the web now) withhold the content-length header. The agency at hand is sloppy with privacy and probably sloppy with everything. It’s not necessarily malicious but nonetheless I’m not going to lower the standard by which they should be held to. on 22 Mar 21:35 collapse

Right right, I know how html tags and all that works just wanted to make sure we were for sure both talking about the same thing that’s all. Wasn’t verbiage I normally see so I verified quick

And this 2nd part you have here makes total sense with me and I fully agree, just wanted to make sure I wouldn’t be inadvertently causing any harm to you if you were struggling with paranoia or anything like that, that’s all. Hope I wasn’t coming off as too dismissive!! on 22 Mar 21:12 next collapse

if you run a whois on the domain, it turns out it belongs to mailjet. they are a big service provider for bulk emails, notifications, stuff like that.

my guess is this is their cdn or something similar. you can see the “1wy1y” string in the URL path as well as a sub-domain. that’s most likely the customer ID or “tenant id” for the gov agency inside the mailjet cloud. also guessing that “tplimg” could stand for “template image” or similar, indicating that they have an email template with this image always being there. which makes sense if it’s a logo.

as for the curl call, i tried to open the url in a browser, but it just sends an empty response, that’s why you don’t see a content-length header. i guess mailjet checks where the url is being called from, either with user-agent or some custom headers or whatever, so it only loads if you actually open the email. this prevents unnecessary traffic costs for them.

i don’t think there is anything wrong here, just laziness on the gov agency’s side. they could have created some sub-domain that is an alias pointing to this mess. it wouldn’t cost anything. on 22 Mar 21:36 collapse

as for the curl call, i tried to open the url in a browser,

I scrambled it for my own privacy… so that would not work. But I preserved the structure well enough that your insight was helpful. on 22 Mar 21:19 collapse

Mailjet’s documentation indicates they use an explicit pixel image for tracking email open status and that can be turned on or off in account settings. However it also indicates they put all images included in an email template through the same infrastructure as tracking links. So most likely they record the view but whether that usage data is retained and available to the gov agency is hard to say without making an account with Mailjet and testing.

If you’re concerned, just turn off images for untrusted senders in your email client. on 23 Mar 11:29 collapse

I was imagining how a well-designed mail client might detect likely tracker pixels and signal the user. If MUAs were sufficiently evolved, that kind of convenience/sloppiness of transmitting tracker pixels but then putting the switch somewhere on the server wouldn’t fly. Anyway, I appreciate the insight. It certainly raises a transparency issue.