5 ms·
Ohh, that sounds perfect for DOS attacks. A clean reflection attack vector operating on giant assets.
by Danieru 6y ago
Ohh, that sounds perfect for DOS attacks. A clean reflection attack vector operating on giant assets.
- josefx 6y agoEven better DDOS, just spam lists of image links to various email providers and watch your target collapse under all the requests.
- darkwater 6y agoWhat would be the difference from normal hotlinking in a standard email? The vector in both cases would be being able to send a million emails; a reflection attack with spam emails as a vector would be just the same without provider servers doing anything special. MUA opening images would do the attack. Actually a provider could cache the hotlinked resource and remove almost completely the reflection.
- jjuhl 6y agoUsing only plain-text emails solves the problem nicely. Who'd even want to ever use HTML mail other than shady or clueless or annoying people? Just use plain-text only and the problem is solved.
- darkwater 6y agoYeah, the typical HN/usenet/ML solution to everything: just use plain text, it's good for everyone and nobody needs anything else. Newspapers and books always looked like an RFC document anyway, right?
- sildur 6y agoHow? If you send an email with an image to 15k recipients in a mail server the image would be fetched once and the recipients would only get the cached version.
- kijin 6y agoImage URLs often contain identifiers that are unique to each recipient.
- Pet_Ant 6y agoSo this would only dissuade that practice as it causes a DDOS against those who do because it causes additional requests and prevents caching.
- vidarh 6y agoThe image url can point at an innocent third party.
- sildur 6y agoWhich innocent third party provides thousands of unique image URLs?
- Thiez 6y agohttps://example.com/img.png?x=1 https://example.com/img.png?x=1 https://example.com/img.png?x=2 https://example.com/img.png?x=2 https://example.com/img.png?x=3 https://example.com/img.png?x=3 https://example.com/img.png?x= https://example.com/img.png?x=... https://example.com/img.png?x=1999 https://example.com/img.png?x=1999 https://example.com/img.png?x=2000 https://example.com/img.png?x=2000 You need but one image, to craft an arbitrary number of unique urls using a querystring. In theory one could also use all permutations of uppercase/lowercase letters in the path to the image. Most webservers are case insensitive so all will yield the same result but I believe the http standard considers the path to be case sensitive so all those urls would be unique.
- sildur 6y agoAs I said in another comment, crop all the parameters from the URL, and the problem solves itself. Path is case sensitive, the domain must be lowercased anyways, so no problem either.
- stubish 6y agoThe email server does not need to load all the images at once. If it receives a billion emails, it can retrieve linked images a few per second per domain. Or on demand if the email is opened. The email server does not even need to completely drain the queue and load all the images, just images from enough emails to bollocks up the results is enough. The end result is the same, in that the sender does not know if the email was read by a human or not.
- vidarh 6y ago> just images from enough emails to bollocks up the results is enough. A large enough proportion of opens either does not trigger an image retrieval or triggers one but the user won't read the message anyway, so open rates have always been approximate. The time of day, the news, the weather all distorts the data so much anyway that the only sensible use of the data is trends, so it'd take some effort to distort the data enough for it to be useless. Your best suggestion I think would be to rate limit it, with the caveat that if you want to immediately deliver messages you'd need to also open on demand, and e-mail opens are extremely spiky so you might struggle to smooth out the opens entirely, but it might be enough to make it useless enough for people to ignore the data.