Subscription bombing and how to mitigate it

(bytemash.net)

111 points | by homelessdino 3 hours ago

21 comments

  • avian 3 minutes ago
    > The goal [...] to flood the victim’s inbox with so much noise that they can’t find the emails that actually matter.

    > While the victim is drowning [...] the attacker is doing something else.

    In the past months some personal mail accounts on a mail server I administer were victim of something that looked similar to what's described here.

    Hundreds of mails apparently originating from various (legit-looking) random public web services, support requests, issue trackers, web contact forms etc. For example, a good part of them was from Virginia Department of Motor Vehicles (as in something like "thank you for filing a document #123 with us").

    To make things even weirder, they were not sent directly to the address, but according to message headers were bounced through Google Groups (each time I checked the relevant group was already deleted). So as far as I can tell it was not the mail on my server that was being entered into those websites.

    No phishing links, attached malware, etc. Just a huge amount of automated replies from "noreply@" legit entities.

    I've seen several of these attacks and spent some time investigating them. To my knowledge these were not associated with any other malicious activity, like the author of the article mentions. If anything they were just a denial-of-service attack on a mail box. What exactly would be a motivation for that I can't tell, except making the life of a small mail server admin even harder than it already is.

  • pqdbr 2 hours ago
    Recently we suffered a different kind of subscription bombing: a hacker using our 'change credit card' form to 'clean' a list of thousands credit cards to see which ones would go through and approve transactions.

    He ran the attack from midnight to 7AM, so there were no humans watching.

    IPs were rotated on every single request, so no rate limiter caught it.

    We had Cloudflare Turnstile installed in both the sign up form and in all credit card forms. All requests were validated by Turnstile.

    We were running with the 'invisble' setting, and switched back to the 'recommended' setting after the incident, so I don't know if this less strict setting was to blame.

    Just like OP, our website - to avoid the extra hassle on users - did not require e-mail validation, specially because we send very few e-mails.

    We never thought this could bite us this way.

    Every CC he tried was charged $1 as confirmation that the CC was valid, and then immediately refunded, erroring out if the CC did not approve this $1 transaction, and that's what he used. 10% of the ~2k requests went through.

    Simply adding confirmation e-mail won't cut it: the hacker used - even tough he did not need it - disposable e-mail addresses services.

    This is a big deal. Payment processors can ban you for allowing this to happen.

    • shaky-carrousel 42 minutes ago
      Well, what you can do is notify the card issuer about those cards that went through, so they can mark them as stolen. That surely will make the hacker really happy, and discourage them of doing it again :)
    • gib444 1 hour ago
      Ouch. Just one credit card change per account?

      This is one of those levels of monitoring that only gets put in place after such an event. Eg whole subsystem analysis - the change card feature being used 1000s of times (well, proportional to scale) in 7 hours is a massive red flag

      • eru 18 minutes ago
        > This is one of those levels of monitoring that only gets put in place after such an event.

        For a website, yes. But honestly the credit card people and their infrastructure should probably _also_ watch out for this. They'd be in a much better place to detect these.

    • federicosimoni 11 minutes ago
      [dead]
  • m132 2 hours ago
    It's a problem, but I really dislike the solution. Putting a website with known security issues behind Cloudflare's Turnstile is comparable to enforcing code signing—works until it doesn't, and in the meantime, helps centralize power around a single legal entitiy while pissing legitimate users off.

    The Internet was carefully designed to withstand a nuclear war and this approach, being adopted en masse, is slowly turning it into a shadow of its former self. And despite the us-east1 and multiple Cloudflare outages of last year, we continue to stay blind to this or even rationalize it as a good thing, because that way if we're down, then so are our competitors...

    • pverheggen 1 hour ago
      I wouldn't call this "known security issues", it's an inherent problem with any signup or forgot password page.

      Also, I doubt this is going to be pissing users off since they added Turnstile in invisible mode, and selectively to certain pages in the auth flow. Already signed in users will not be affected, even if the service is down. This is way different from sites like Reddit who use their site-wide bot protection, which creates those interstitial captcha pages.

    • recursivecaveat 28 minutes ago
      Since they updated the flow to only ever push 1 email to unverified users, I would say that's as patched as it can realistically be before you bring in the captchas.
    • stingraycharles 2 hours ago
      So your solution would be to do nothing?

      Cloudflare is an excellent solution for many things. The internet was designed to withstand a nuclear war, but it also wasn’t designed for the level of hostility that goes on on the internet these days.

    • colesantiago 2 hours ago
      And your solution is assume everyone on the internet is a good actor?

      How would you solve this at scale?

      • RobotToaster 58 minutes ago
        Op basically said that the firewall rules and email confirmation alone would've mostly mitigated this.

        But also Anubis is a good alternative to slow bots.

      • cuu508 2 hours ago
        How about a signup flow where the user sends the first email? They send an email to signups@example.com (or to a generated unique address), and receive a one-time sign-in link in the reply. The service would have to be careful not to process spoofed emails though.

        Another approach is to not ask for an email address at all, like here on HN.

        • whatevaa 1 hour ago
          "The user just needs to be careful not to step on a landmine. Exact steps left as an exercise to the reader".

          Anybody can send email with all of the dmarc stuff, how do you "be careful" with spoofed email?

          • __david__ 2 minutes ago
            > stuff, how do you "be careful" with spoofed email?

            You actually verify DKIM and SPF—you know, that “dmarc stuff”. That’s enough to tell you the mail is not spoofed.

        • grufkork 56 minutes ago
          Amidst all the age verification and bot spam going on, anonymous private/public key proof of identity could work: the newly signed up service must pass a challenge from the mail server to prove the user actually intended to sign up. Though I guess that would be basically the same thing as the users server initiating the communication. Really, just an aggressive whitelist/spam filter that only shows known senders solves it too, but as I understand part of the attack is having already compromised the mail service of the target. Having a third decoupled identity provider would resolve that, but then that becomes a single point of failure…
        • xwowsersx 1 hour ago
          [dead]
    • AussieWog93 2 hours ago
      Honestly I really like CloudFlare as a business. There's no vendor lock-in, just a genuine good product.

      If they turn around later and do something evil, literally all I need to do is change the nameserver to a competitor and the users of my website won't even notice.

  • paaradise 42 minutes ago
    > that meant each victim received three emails from us in under a minute:

    > Verify your email address > Welcome to Suga > Reset your password > Three emails they never asked for, from a product they may never have heard of. We were just one of potentially hundreds of sites being hit at the same time.

    @homelessdino

    Why would you send welcome and reset to some victim that DID NOT verify?

    • simonkagedal 16 minutes ago
      This is being addressed in the article. The service no longer does this, and he apologizes.
  • HexDecOctBin 2 hours ago
    I was attacked in this way a couple of months back. I use a different email address for each account (of the pattern product@example.com), and use a separate address for Git commits (like git@example.com). It was this second one that was attacked and I ended up with some 500 emails within 12 hours. Fortunately, since I don't expect anyone to actually email me on the Git address, I just put up a filter to send them all to a separate folder to go over at my leisure.

    After 12 hours, the pace of emails came to a halt, and then I started receiving emails to made up addresses of a American political nature on the same domain (I have wildcard alias enabled), suggesting that someone was perhaps trying to vent some frustration. This only lasted for about half an hour before the attacker seems to have given up and stopped.

    Strangely, I didn't receive any email during the attack which the attacker might have been trying to hide. Which has left me confused at to the purpose of this attack in the first place.

    • chicagojoe 1 hour ago
      I had this happen recently too, also not covering up any email activity (I combed through 3000+ spam emails).

      Double check that there are no forwarding rules added to your inbox and add some protection against a SIM swap.

      In my case, they didn't compromise any of my accounts but did attempt to open a new credit card so it would be worth double checking your credit reports.

  • jb1991 1 hour ago
    One thing I have never understood in this current age is how in the world so many companies, including ones that handle confidential data like banks, don’t require a user to verify their email address after it’s entered. I have an unfortunately very generic email address that’s easy to mistype, and I am almost every day receiving order receipts for expensive vacation hotels, bank transfer or wire transfer confirmations, a very long list of things that I should not be receiving simply because the companies sending those emails never had the user verify if they entered the right email address. They are legitimate emails, they are often addressed to someone with the same first name as me but a different last name, so that person simply typed the wrong email address accidentally.

    It’s bonkers to me that there’s any developers out there working for these companies that never thought to implement simple email verification.

    • letier 51 minutes ago
      I have a very early gmail address. A very common first name plus two letters. It is almost unusable by now. Invoices, subscriptions, important documents about some persons real estate dealings. They all end up in my inbox.

      I have around 20 or 30 google accounts attached where i am the backup email address. Those people forget their passwords or stop using their accounts and i get email notifications about that. No confirmation from my side necessary.

      I set up a new address that is less likely to end up with this problem. But migrating away from the old one is not easy…

      • pixelesque 38 minutes ago
        Exactly the same situation with me in terms of gmail address (although my names are less common).

        I get so many other $MY_NAME emails, including bills (including multiple credit cards and things like Afterpay), deliveries, medical details/reports, family communications, etc, etc.

        And it's very clear that quite a few online services blatantly don't verify email addresses, they just assume the email is valid and allow the person to start using it.

    • Gigachad 59 minutes ago
      Because confirming the email introduces friction. And everyone is optimising for low friction even if it risks private data leaks, which you can always blame on the user for typing their email wrong.
    • wodenokoto 55 minutes ago
      I know e-mail has a faster round-trip, but they also don't ask you to confirm snail mail.

      I think it would be quite annoying to have to verify my purchase everywhere, just like how I don't wanna sign up to every single merchant online. Let me purchase as guest without having to enter OTPs.

    • pprotas 57 minutes ago
      This is intentional. Email verification is friction, so it gives users a chance to reconsider whether their purchase is really necessary. This is bad for business, because they’d prefer if you were impulsive.

      Also, people usually type their emails correctly, especially these days with auto-fill. So not sending confirmation emails is optimizing for the happy path.

      • jb1991 47 minutes ago
        Not just talking about purchases. I receive transaction details with bank numbers for wire transfers around the world. It’s ridiculous.

        I was once even sent all of the legal proceedings for a court case by a lawyer who was sent to the wrong address.

    • plagiarist 56 minutes ago
      I am dismayed that it is legal to create an account attached to an email without validation of that email. It should be straight-up massive fine illegal to send any email other than account confirmation until validated. Validation emails should have a "do not contact me again" that works with a single click and a massive fine if it does not.
    • nobodywillobsrv 55 minutes ago
      Yes it is insane. I am in same boat and have received mortgage applications, police details, applications for police jobs, massage receipts you name it. Many would be considered important leaks of customer data.

      I have even had founder level emails that presumably are confidential sent to me because I share the name of someone operating in tech.

      I respond or report when it's obviously some real person running a small group but for large monoliths there is very little to do except quickly reply to corporate email.

      Really wish there was some kind of high level discussion about building something for this specific problem of non malicious wrong person same name errors.

      Google could do it it's just not something that is monetizable at a scale they care about IMO and I have not been able to think of a way to make this work operating outside of email monoliths.

      Would love to hear if anyone has ideas.

      • jb1991 45 minutes ago
        Commend your effort to actually contact the companies to let them know the error. I stopped doing that a long time ago when I stopped getting response or stopped getting any kind of meaningful reaction that I was actually trying to do something good by reporting it.
      • fragmede 28 minutes ago
        What Google has done, is add profile pictures for users, so if I'm emailing girlfriend@gmail.com I get her picture, but if I email giirlfriend@gmail.com, I see someone else's pfp which is enough to get me to realize I've spelled it wrong. I'm sure there's more they could be doing, but they're aware of the problem at least.
        • jb1991 23 minutes ago
          But that only works if you’re emailing from another Gmail account yes?
    • annie511266728 27 minutes ago
      [dead]
  • znnajdla 2 hours ago
    I absolutely refuse to use BigTech gatekeepers or useless CAPTCHAS (any sufficiently advanced bot can get around any CAPTCHA anyway). We solved this at our startup by running names through a simple LLM filter - if the name is gibberish like Px2846skxojw just block the signup. Worked surprisingly well. Of course this is easy to get around if the bot knows what you’re doing. But bots look for easy targets, as long as there are enough vibe coded crap targets on the internet they’re not going to bother with circumventing a carefully designed app.
    • snowe2010 2 hours ago
      Then you’re also blocking legitimate users that don’t want to be tracked and use services like iCloud Hide my Emails
      • RobotToaster 54 minutes ago
        > that don’t want to be tracked

        >iCloud

        Except by apple I guess...

      • rs_rs_rs_rs_rs 36 minutes ago
        Those users can take their business somewhere else.
    • latexr 20 minutes ago
      > useless CAPTCHAS (any sufficiently advanced bot can get around any CAPTCHA anyway). We solved this at our startup by (…). Of course this is easy to get around if the bot knows what you’re doing

      So, by your own admission, your solution doesn’t get around the “sufficiently advanced bot” problem.

    • tholm 2 hours ago
      Using an LLM for this seems excessive when there are well established algorithms for detecting high entropy strings.
    • steezeburger 1 hour ago
      This doesn't seem like a very good solution to be honest. And why use an LLM for this? What if I want a legit random ass string as my username?
      • rs_rs_rs_rs_rs 37 minutes ago
        You're not owed anything, you can take your legit random ass string username to another company that allows it.

        I suspect any company would take this trade off, losing some customers but significantly lowering fraud.

    • imiric 1 hour ago
      So your solution is to deploy a black box that can be worked around with a basic lookup table for a single field?

      CAPTCHAs were never meant to work 100% of the time in all situations, or be the only security solution. They're meant to block lazy spammers and low-level attacks, but anyone with enough interest and resources can work around any CAPTCHA. This is certainly becoming cheaper and more accessible with the proliferation of "AI", but it doesn't mean that CAPTCHAs are inherently useless. They're part of a perpetual cat and mouse game.

      Like LLMs, they rely on probabilities that certain signals may indicate suspicious behavior. Sophisticated ones like Turnstile analyze a lot of data, likely using LLMs to detect pseudorandom keyboard input as well, so they would be far more effective than your bespoke solution. They're not perfect, and can have false positives, but this is unfortunately the price everyone has to pay for services to be available to legitimate users on the modern internet.

      I do share a concern that these services are given a lot of sensitive data which could potentially be abused for tracking users, advertising, etc., but there are OSS alternatives you can self-host that mitigate this.

    • mads_quist 2 hours ago
      Nice.
  • mfi 1 hour ago
    I work the email security company xorlab[0], where my colleagues and I did a thorough analysis of real subscription/email bombing waves that we saw at our customers[1].

    Here are some interesting additional information from the attacks we analyzed:

    * Email bombing as a service is a thing, where you can buy 10,000 credits for $10 and easily bomb target inboxes with over 2000 emails per hour.

    * Most all email bombing attacks starts in the morning, between 8-10.

    * Most common day of attack is Friday

    [0] https://www.xorlab.com/en/

    [1] https://www.xorlab.com/en/blog/from-chaos-to-control-insight...

  • shreyssh 12 minutes ago
    This is the same class of problem we see with AI agents and databases. The 'confused deputy' — a legitimate system being weaponized to do something unintended. Rate limiting and intent verification at the proxy layer is the pattern
  • chw9e 1 hour ago
    This happened to me several years ago. I got signed up to probably 700 newsletters overnight. In the middle of all of the sign ups there was activity on my airbnb account where my notification settings were changed. when i checked my airbnb i noticed that someone had created a fake listing under my account and disabled booking notifications for it. a real multi-layer scam where the hacker would be making money off a fake listing on someone else's account who would probably never even realize it.
    • Gigachad 56 minutes ago
      I’d be probably safe against this because I have an email filter set so anything with an unsubscribe link gets moved to spam.

      Account notification emails don’t have unsubscribes while pretty much all junk does.

  • tariky 2 hours ago
    I had similar situation on WooCommerce shop. But it was much more signups per hour. Putting turnstile in front fixed problem.

    My conclusion is to move from WordPress software as fast as possible, every WordPress site I manage gets bombarded by bots.

    • somat 1 hour ago
      Hell every non wordpress software I manage also gets bombarded by wordpress bots.(not really, I am stretching the term to refer to wordpress attack attempts for dramatic purpose. But that still ends up being about 99% of my personal site traffic)
  • mads_quist 2 hours ago
    A good old Honey Pot helped us at All Quiet "a lot" with those attacks. Basically all attacks are remediated by this. No need for Cloudflare etc.
    • grey-area 2 hours ago
      Can you expand on that? A separate honey pot sign up page invisible to real users, or something else?
      • mads_quist 2 hours ago
        You add "hidden" inputs to your HTML form that are named like "First Name" or "Family Name". Bots will fill them out. You will either expect them to be empty or you fill by JavaScript with sth you expect. It's of course reverse-engineerable, but does the trick.
        • alexjurkiewicz 2 hours ago
          Doesn't that break password manager autofill?
        • grey-area 2 hours ago
          Thanks, I’ve seen scripted attacks bypass this sort of hidden input unfortunately (perhaps human assisted or perhaps just ignoring hidden fields).
          • jaggederest 1 hour ago
            They often do actually ignore truly hidden fields (input type=hidden) but if you put them "behind" an element with css, or extremely small but still rendered, many get caught. It's similar to the cheeky prompt injection attacks people did/do against LLMs.
          • mads_quist 2 hours ago
            Sure, it's really basic of course.
        • bevr1337 2 hours ago
          Do you test this against password managers? Seems like this approach could generate false positives
  • linolevan 2 hours ago
    Well written piece on an attack vector I'd never thought too hard about before. Thanks for elaborating on why sending an email or two to a random person helps an attacker achieve their goal. A lot of similar articles skip over details like that.
  • Jean-Philipe 1 hour ago
    Thanks for explaining this! I saw this happened to some of my We sites and I couldn't wrap my head around why someone would do this...
  • CrzyLngPwd 31 minutes ago
    We experienced a similar thing; Thousands of new accounts were being created over a short period, but it was Amazon SES sending us a warning about complaint numbers that woke us up to it.

    We added a captcha and used a disposable email checking service to get rid of it.

  • cuu508 2 hours ago
    > If a bot creates an account with someone else’s email, the victim gets one email, if they ignore it that’s the end of it. The welcome email and everything after it only fires once the user verifies.

    As a user, I would prefer no welcome email at all.

    • SebastianKra 57 minutes ago
      I suspect everyone feels that way except SaaS providers. They could just give you a checkbox to turn the newsletter off, but they don't.
    • tomjen3 1 hour ago
      Yeah, thats part of why I hate "login with SERVICE". The big benefit would be not spamming me, but they always insist on getting my email.

      There was a time were you would have to select "sign me up for your newsletter" then you had to uncheck it. Then you had to check to not get an email and now you don't even get that choice.

      And lately? You have to go dig through your email because you can't set a password (looking at you Claude), so you can't filter email.

    • devmor 2 hours ago
      Then there's no verification step, preventing the entire mechanism of you not getting spammed.
      • JoshTriplett 2 hours ago
        It sounds like cuu508 didn't want the post-verification welcome, as opposed to the one-time verification message.
        • cuu508 2 hours ago
          Correct.
          • sodapopcan 2 hours ago
            Yes, correct. When I clicked the link I was already welcomed by the welcome page (which is, for the most part, welcomed). But then why send me another email further welcoming me? I already feel welcomed! And don't give me any of that "because it works" BS (even though that is what you are going to say).

            (cuu508, "you" in this instance does not mean you)

  • msephton 2 hours ago
    How can an affected user recover from such an attack?
    • jeroenhd 1 hour ago
      Report all received emails as spam, add a filter to get rid of the @domain.com emails, and probably add the entire service to the blacklist so it doesn't happen again. Probably get rid of any paid account on that service one might have laying around.

      If the email is targeted at a domain using mail servers from any major email provider (Gmail, Outlook), the user will probably find most emails into their spam folder anyway and the sending domain will get added to the spam list automatically. Especially if the attack hits multiple users on the same email service.

  • queenkjuul 2 hours ago
    I had my email stolen in such an attack, i still get random "you abandoned your cart!" Emails now and then, but luckily (?) they got my credit card at the same time and i cancelled it within minutes. So it's a little annoyance, but it doesn't really make sense to me that the flood works. At least not with American credit cards that are routinely flagging my own trips to microcenter lol

    Editing to add: almost 100% of these emails came from the same e-commerce product, I'll have to look up which. But every site i got an email from was running the same off the shelf template.

  • nubg 2 hours ago
    This post was written by AI, there are multiple clues.

    Author, why can you not use your own words?

    I am not sure what you meant to say, vs what is LLM garbage I could have prompted myself.

    • wdutch 2 hours ago
      I can't comment on if it was written by AI or not but I found the OP informative and quite dense with useful information. Nothing stood out to me as garbage.
      • radku 21 minutes ago
        Agreed. Personally I think about it as massaging a text with LLM is like applying filters to your pictures.

        The text probably have been based entirely on the internal notes and investigations and is very informative. Would it be better if the OP wrote it entirely by themselves? Not necessarily.

      • nubg 2 hours ago
        I agree the topic and most of the content is legit!

        Which makes is even more annoying. Because you don't know which are the good bits where somebody is sharing his unique insight, and which is just taken from the LLMs world knowledge.

        • chii 1 hour ago
          so you are merely just prejudiced against LLM generated content, even if it was good?

          Why not accept that it is good, and forget about it being LLM?

    • denismi 2 hours ago
      I am quite confident that the following was NOT LLM:

      > New users were signing up but not doing anything, they weren’t creating an org, a project, or a deployment, they just left an account sitting there.

      Surely the LLM version is:

      > New users were signing up but not doing anything; they weren't creating an org, a project, or a deployment—they just left an account sitting there.

      • nubg 1 hour ago
        It really depends on the LLM and the wrapper prompt. There are many other giveaways though - which I am not going to name to burn them.
  • shreyssh 4 minutes ago
    [dead]
  • s99850 12 minutes ago
    [flagged]