API Security - Broken User Authentication Vulnerability

Wed May 25 2022

2 min read

API security is the process of protecting APIs from attacks. As APIs are very commonly used, so it is prone to attackers. API vulnerabilities are a common thing that can break down your whole system if not treated. APIs may have vulnerabilities like broken authentication and authorization, lack of rate limiting, etc. Regularly testing APIs will help you to identify vulnerabilities, and address them.

According to the Open Web Application Security Project (OWASP), there are ten API vulnerabilities that should be taken care of when you build an API. In this guide, let’s look at the Broken User Authentication vulnerability.

API Broken User Authentication

Incorrectly applied authentication mechanisms pose a serious threat that attackers can take advantage of. Weak authentication allows hackers to break into internal systems. Authentication is broken when attackers can compromise passwords, users' account information, etc., to know users' identities.

Broken user authentication occurs because of the single API key for all apps when there is no idea where traffic is coming from and there is no way to pinpoint anomalies. In this way, the overall API’s security is compromised.

Further, authorization flaws that make the endpoint susceptible to credential stuffing and brute-force attacks is another common misconfiguration that lead to broken user authentication. Also, weak or poorly managed passwords are a reason for this vulnerability.

How To Prevent It?

You can prevent API broken user authentication in multiple ways.

  • As described earlier, it occurs due to weak authentication. So, you should check all possible ways to authenticate to all APIs.
  • You should use APIs for password reset and one-time links that will allow users to authenticate. This will in return protect from the authentication vulnerability.
  • You should use token generation, password storage, and multi-factor authentication (MFA). This will again help in not compromising the API’s security.
Loading component...