Email Flooding 2.0 | Insecure Design

Suneet Singh
3 min readSep 27, 2024

--

Email Flooding, Email Bombing, or Email Bombarding is an attack affecting email resources, caused mainly due to Lack of Rate Limit vulnerability. This attack’s purpose is to overwhelm the email server and/or client, with a large number of spam or junk emails causing disruption, inconvenience and potentially leading to Denial of Service.

It is a fairly easy and common vulnerability to discover and exploit, However, it might not be Directly Exploitable in some cases even if there is no robust Rate Limiting mechanism on the application or API.

For example: Consider a web application with a subscription functionality which sends email only if the email address entered is not already subscribed, with no server-side rate limit on number of emails that can be sent and no client-side captcha. The application has only one security mechanism, i.e., before sending the email to the provided email address, it first confirms if the email subscriber already exists or not. If not, it sends the ‘subscription successful’ email.

As can be understood from the above example, even the absence of a rate limit can prove to be unfruitful sometimes. BUT SUCH FUNCTIONALITIES WITH NO ROBUST RATE LIMIT AND ‘INSECURE DESIGN’ CAN STILL BE EXPLOITED. Explained below is How?

‘abc@xyz.com’, ‘abc+1@xyz.com’, and ‘abc+test@xyz.com’ all points to the same email inbox, which means if you send an email to any of these emails it will go to ‘abc@xyz.com’ email inbox. You can try it with your Gmail account, just add ‘+’ followed by any string, and you will receive the email in your actual Gmail inbox with that modified email in the ‘To’ address.

Vulnerability Description

Now, while testing on a private program, I was specifically testing on a signup functionality. Once you enter your required information such as dealer code(any number that does not exist already in the system), email, name, and country in the signup input fields and submit the request, the application sends a signup email to the mentioned email address.

Signup POST request

After I sent this request in Intruder, manipulated the email (as explained above), and repeated the request 200 times I confirmed application has no security checks for such type of attack as I received a large number of emails in my inbox.

Risk Description

This vulnerability wasn’t only leading to Email Flooding, it also allowed a single user to have multiple accounts in the application with a single email ID. Also the application have 10 day free trial of every functionality, which can also be exploited using this vulnerability, as a user will signup using these alias email addresses, causing the huge revenue loss and unfair resource consumption by the malicious user.

Mitigation

Mitigation Strategies

To remediate this vulnerability, secure coding practices should be implemented, including:

  • Restricting special characters in email addresses
  • Implementing rate limits on the server
  • Adding CAPTCHA to prevent automated abuse

🙏🏼

https://www.linkedin.com/in/suneet-singh-918491153/

--

--

Suneet Singh

𝙰 𝙲𝚘𝚖𝚙𝚞𝚝𝚎𝚛 𝚂𝚌𝚒𝚎𝚗𝚌𝚎 & 𝙴𝚗𝚐𝚒𝚗𝚎𝚎𝚛𝚒𝚗𝚐 𝚐𝚛𝚊𝚍𝚞𝚊𝚝𝚎 𝚙𝚊𝚜𝚜𝚒𝚘𝚗𝚊𝚝𝚎 𝚊𝚋𝚘𝚞𝚝 𝙲𝚢𝚋𝚎𝚛 𝚂𝚎𝚌𝚞𝚛𝚒𝚝𝚢.