When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.

Primary

Resultant

authentification
An alternate term is "authentification", which appears to be most commonly used by people from non-English-speaking countries.

AuthN
"AuthN" is typically used as an abbreviation of "authentication" within the web application security community. It is also distinct from "AuthZ," which is an abbreviation of "authorization." The use of "Auth" as an abbreviation is discouraged, since it could be used for either authentication or authorization.

AuthC
"AuthC" is used as an abbreviation of "authentication," but it appears to used less frequently than "AuthN."

Architecture and Design

Implementation
REALIZATION: This weakness is caused during implementation of an architectural security tactic.

High

Integrity
Confidentiality
Availability
Access Control
Read Application Data
Gain Privileges or Assume Identity
Execute Unauthorized Code or Commands
This weakness can lead to the exposure of resources or functionality to unintended actors, possibly providing attackers with sensitive information or even execute arbitrary code.

Automated Static Analysis

Automated static analysis is useful for detecting certain types of authentication. A tool may be able to analyze related configuration files, such as .htaccess in Apache web servers, or detect the usage of commonly-used authentication libraries.
Generally, automated static analysis tools have difficulty detecting custom authentication schemes. In addition, the software's design may include some functionality that is accessible to any user and does not require an established identity; an automated technique that detects the absence of authentication may report false positives.

Limited

Manual Static Analysis

This weakness can be detected using tools and techniques that require manual (human) analysis, such as penetration testing, threat modeling, and interactive tools that allow the tester to record and modify an active session.
Manual static analysis is useful for evaluating the correctness of custom authentication mechanisms.

High
These may be more effective than strictly automated techniques. This is especially the case with weaknesses that are related to design and business rules.

Manual Static Analysis - Binary or Bytecode

According to SOAR [REF-1479], the following detection techniques may be useful:

Cost effective for partial coverage:

Binary / Bytecode disassembler - then use manual analysis for vulnerabilities & anomalies

SOAR Partial

Dynamic Analysis with Automated Results Interpretation

According to SOAR [REF-1479], the following detection techniques may be useful:

Cost effective for partial coverage:

Web Application Scanner
Web Services Scanner
Database Scanners

SOAR Partial

Dynamic Analysis with Manual Results Interpretation

According to SOAR [REF-1479], the following detection techniques may be useful:

Cost effective for partial coverage:

Fuzz Tester
Framework-based Fuzzer

SOAR Partial

Manual Static Analysis - Source Code

According to SOAR [REF-1479], the following detection techniques may be useful:

Cost effective for partial coverage:

Manual Source Code Review (not inspections)

SOAR Partial

Automated Static Analysis - Source Code

According to SOAR [REF-1479], the following detection techniques may be useful:

Cost effective for partial coverage:

Source code Weakness Analyzer
Context-configured Source Code Weakness Analyzer

SOAR Partial

Automated Static Analysis

According to SOAR [REF-1479], the following detection techniques may be useful:

Cost effective for partial coverage:

Configuration Checker

SOAR Partial

Architecture or Design Review

According to SOAR [REF-1479], the following detection techniques may be useful:

Highly cost effective:

Inspection (IEEE 1028 standard) (can apply to requirements, design, source code, etc.)
Formal Methods / Correct-By-Construction

High

Architecture and Design
Libraries or Frameworks
Use an authentication framework or library such as the OWASP ESAPI Authentication feature.

The following code intends to ensure that the user is already logged in. If not, the code performs authentication with the user-provided username and password. If successful, it sets the loggedin and user cookies to "remember" that the user has already logged in. Finally, the code performs administrator tasks if the logged-in user has the "Administrator" username, as recorded in the user cookie.

my $q = new CGI;
if ($q->cookie('loggedin') ne "true") {
if (! AuthenticateUser($q->param('username'), $q->param('password'))) {ExitError("Error: you need to log in first");}else {
# Set loggedin and user cookies.$q->cookie(-name => 'loggedin',-value => 'true');
$q->cookie(-name => 'user',-value => $q->param('username'));

}
}
if ($q->cookie('user') eq "Administrator") {DoAdministratorTasks();}

Unfortunately, this code can be bypassed. The attacker can set the cookies independently so that the code does not check the username and password. The attacker could do this with an HTTP request containing headers such as:

GET /cgi-bin/vulnerable.cgi HTTP/1.1Cookie: user=AdministratorCookie: loggedin=true
[body of request]

By setting the loggedin cookie to "true", the attacker bypasses the entire authentication check. By using the "Administrator" value in the user cookie, the attacker also gains privileges to administer the software.

In January 2009, an attacker was able to gain administrator access to a Twitter server because the server did not restrict the number of login attempts [REF-236]. The attacker targeted a member of Twitter's support team and was able to successfully guess the member's password using a brute force attack by guessing a large number of common words. After gaining access as the member of the support staff, the attacker used the administrator panel to gain access to 33 accounts that belonged to celebrities and politicians. Ultimately, fake Twitter messages were sent that appeared to come from the compromised accounts.

In 2022, the OT:ICEFALL study examined products by 10 different Operational Technology (OT) vendors. The researchers reported 56 vulnerabilities and said that the products were "insecure by design" [REF-1283]. If exploited, these vulnerabilities often allowed adversaries to change how the products operated, ranging from denial of service to changing the code that the products executed. Since these products were often used in industries such as power, electrical, water, and others, there could even be safety implications.
Multiple vendors did not use any authentication or used client-side authentication for critical functionality in their OT products.

CVE-2024-11680
File-sharing PHP product does not check if user is logged in during requests for PHP library files under an includes/ directory, allowing configuration changes, code execution, and other impacts.
https://www.cve.org/CVERecord?id=CVE-2024-11680

CVE-2022-35248
Chat application skips validation when Central Authentication Service
(CAS) is enabled, effectively removing the second factor from
two-factor authentication
https://www.cve.org/CVERecord?id=CVE-2022-35248

CVE-2022-36436
Python-based authentication proxy does not enforce password authentication during the initial handshake, allowing the client to bypass authentication by specifying a 'None' authentication type.
https://www.cve.org/CVERecord?id=CVE-2022-36436

CVE-2022-30034
Chain: Web UI for a Python RPC framework does not use regex anchors to validate user login emails (CWE-777), potentially allowing bypass of OAuth (CWE-1390).
https://www.cve.org/CVERecord?id=CVE-2022-30034

CVE-2022-29951
TCP-based protocol in Programmable Logic Controller (PLC) has no authentication.
https://www.cve.org/CVERecord?id=CVE-2022-29951

CVE-2022-29952
Condition Monitor uses a protocol that does not require authentication.
https://www.cve.org/CVERecord?id=CVE-2022-29952

CVE-2022-30313
Safety Instrumented System uses proprietary TCP protocols with no authentication.
https://www.cve.org/CVERecord?id=CVE-2022-30313

CVE-2022-30317
Distributed Control System (DCS) uses a protocol that has no authentication.
https://www.cve.org/CVERecord?id=CVE-2022-30317

CVE-2022-33139
SCADA system only uses client-side authentication, allowing adversaries to impersonate other users.
https://www.cve.org/CVERecord?id=CVE-2022-33139

CVE-2021-3116
Chain: Python-based HTTP Proxy server uses the wrong boolean operators (CWE-480) causing an incorrect comparison (CWE-697) that identifies an authN failure if all three conditions are met instead of only one, allowing bypass of the proxy authentication (CWE-1390)
https://www.cve.org/CVERecord?id=CVE-2021-3116

CVE-2021-21972
Chain: Cloud computing virtualization platform does not require authentication for upload of a tar format file (CWE-306), then uses .. path traversal sequences (CWE-23) in the file to access unexpected files, as exploited in the wild per CISA KEV.
https://www.cve.org/CVERecord?id=CVE-2021-21972

CVE-2021-37415
IT management product does not perform authentication for some REST API requests, as exploited in the wild per CISA KEV.
https://www.cve.org/CVERecord?id=CVE-2021-37415

CVE-2021-35033
Firmware for a WiFi router uses a hard-coded password for a BusyBox shell, allowing bypass of authentication through the UART port
https://www.cve.org/CVERecord?id=CVE-2021-35033

CVE-2020-10263
Bluetooth speaker does not require authentication for the debug functionality on the UART port, allowing root shell access
https://www.cve.org/CVERecord?id=CVE-2020-10263

CVE-2020-13927
Default setting in workflow management product allows all API requests without authentication, as exploited in the wild per CISA KEV.
https://www.cve.org/CVERecord?id=CVE-2020-13927

CVE-2021-35395
Stack-based buffer overflows in SFK for wifi chipset used for IoT/embedded devices, as exploited in the wild per CISA KEV.
https://www.cve.org/CVERecord?id=CVE-2021-35395

CVE-2021-34523
Mail server does not properly check an access token before executing a Powershell command, as exploited in the wild per CISA KEV.
https://www.cve.org/CVERecord?id=CVE-2021-34523

CVE-2020-12812
Chain: user is not prompted for a second authentication factor (CWE-287) when changing the case of their username (CWE-178), as exploited in the wild per CISA KEV.
https://www.cve.org/CVERecord?id=CVE-2020-12812

CVE-2020-10148
Authentication bypass by appending specific parameters and values to a URI, as exploited in the wild per CISA KEV.
https://www.cve.org/CVERecord?id=CVE-2020-10148

CVE-2020-0688
Mail server does not generate a unique key during installation, as exploited in the wild per CISA KEV.
https://www.cve.org/CVERecord?id=CVE-2020-0688

CVE-2017-14623
LDAP Go package allows authentication bypass using an empty password, causing an unauthenticated LDAP bind
https://www.cve.org/CVERecord?id=CVE-2017-14623

CVE-2009-3421
login script for guestbook allows bypassing authentication by setting a "login_ok" parameter to 1.
https://www.cve.org/CVERecord?id=CVE-2009-3421

CVE-2009-2382
admin script allows authentication bypass by setting a cookie value to "LOGGEDIN".
https://www.cve.org/CVERecord?id=CVE-2009-2382

CVE-2009-1048
VOIP product allows authentication bypass using 127.0.0.1 in the Host header.
https://www.cve.org/CVERecord?id=CVE-2009-1048

CVE-2009-2213
product uses default "Allow" action, instead of default deny, leading to authentication bypass.
https://www.cve.org/CVERecord?id=CVE-2009-2213

CVE-2009-2168
chain: redirect without exit (CWE-698) leads to resultant authentication bypass.
https://www.cve.org/CVERecord?id=CVE-2009-2168

CVE-2009-3107
product does not restrict access to a listening port for a critical service, allowing authentication to be bypassed.
https://www.cve.org/CVERecord?id=CVE-2009-3107

CVE-2009-1596
product does not properly implement a security-related configuration setting, allowing authentication bypass.
https://www.cve.org/CVERecord?id=CVE-2009-1596

CVE-2009-2422
authentication routine returns "nil" instead of "false" in some situations, allowing authentication bypass using an invalid username.
https://www.cve.org/CVERecord?id=CVE-2009-2422

CVE-2009-3232
authentication update script does not properly handle when admin does not select any authentication modules, allowing authentication bypass.
https://www.cve.org/CVERecord?id=CVE-2009-3232

CVE-2009-3231
use of LDAP authentication with anonymous binds causes empty password to result in successful authentication
https://www.cve.org/CVERecord?id=CVE-2009-3231

CVE-2005-3435
product authentication succeeds if user-provided MD5 hash matches the hash in its database; this can be subjected to replay attacks.
https://www.cve.org/CVERecord?id=CVE-2005-3435

CVE-2005-0408
chain: product generates predictable MD5 hashes using a constant value combined with username, allowing authentication bypass.
https://www.cve.org/CVERecord?id=CVE-2005-0408

Authentication

Authentication Error

A7
Broken Authentication and Session Management
CWE More Specific

A3
Broken Authentication and Session Management
CWE More Specific

1
Insufficient Authentication

Part 3-3
Req SR 1.1

Part 3-3
Req SR 1.2

Part 4-2
Req CR 1.1

Part 4-2
Req CR 1.2

Discouraged
This CWE entry might be misused when lower-level CWE entries are likely to be applicable. It is a level-1 Class (i.e., a child of a Pillar).
Consider children or descendants, beginning with CWE-1390: Weak Authentication or CWE-306: Missing Authentication for Critical Function.

This can be resultant from SQL injection vulnerabilities and other issues.

PLOVER
2006-07-19
Draft 3
2006-07-19

Eric Dalci
Cigital
2008-07-01
updated Time_of_Introduction

Veracode
2008-08-15
Suggested OWASP Top Ten 2004 mapping

CWE Content Team
MITRE
2008-09-08
updated Alternate_Terms, Common_Consequences, Relationships, Relationship_Notes, Taxonomy_Mappings

CWE Content Team
MITRE
2008-10-14
updated Relationships

CWE Content Team
MITRE
2009-01-12
updated Name

CWE Content Team
MITRE
2009-05-27
updated Description, Related_Attack_Patterns

CWE Content Team
MITRE
2009-07-27
updated Relationships

CWE Content Team
MITRE
2009-10-29
updated Common_Consequences, Observed_Examples

CWE Content Team
MITRE
2009-12-28
updated Applicable_Platforms, Common_Consequences, Demonstrative_Examples, Detection_Factors, Likelihood_of_Exploit, References

CWE Content Team
MITRE
2010-02-16
updated Alternate_Terms, Detection_Factors, Potential_Mitigations, References, Relationships, Taxonomy_Mappings

CWE Content Team
MITRE
2010-06-21
updated Relationships

CWE Content Team
MITRE
2011-03-29
updated Relationships

CWE Content Team
MITRE
2011-06-01
updated Common_Consequences

CWE Content Team
MITRE
2012-05-11
updated Relationships

CWE Content Team
MITRE
2013-07-17
updated Relationships

CWE Content Team
MITRE
2014-02-18
updated Relationships

CWE Content Team
MITRE
2014-06-23
updated Relationships

CWE Content Team
MITRE
2014-07-30
updated Detection_Factors, Relationships

CWE Content Team
MITRE
2015-12-07
updated Relationships

CWE Content Team
MITRE
2017-01-19
updated Relationships

CWE Content Team
MITRE
2017-05-03
updated Related_Attack_Patterns, Relationships

CWE Content Team
MITRE
2017-11-08
updated Demonstrative_Examples, Likelihood_of_Exploit, Modes_of_Introduction, References, Relationships

CWE Content Team
MITRE
2018-03-27
updated References, Relationships

CWE Content Team
MITRE
2019-01-03
updated Related_Attack_Patterns

CWE Content Team
MITRE
2019-06-20
updated Demonstrative_Examples, Related_Attack_Patterns, Relationships

CWE Content Team
MITRE
2019-09-19
updated Relationships

CWE Content Team
MITRE
2020-02-24
updated Relationships

CWE Content Team
MITRE
2020-08-20
updated Relationships

CWE Content Team
MITRE
2020-12-10
updated Relationships

CWE Content Team
MITRE
2021-03-15
updated Alternate_Terms, Demonstrative_Examples

CWE Content Team
MITRE
2021-07-20
updated Relationships

CWE Content Team
MITRE
2021-10-28
updated Relationships

CWE Content Team
MITRE
2022-06-28
updated Observed_Examples, Relationships

CWE Content Team
MITRE
2022-10-13
updated Applicable_Platforms, Demonstrative_Examples, Observed_Examples, References, Relationships

CWE Content Team
MITRE
2023-01-31
updated Description, Maintenance_Notes, Observed_Examples, Taxonomy_Mappings

CWE Content Team
MITRE
2023-04-27
updated Demonstrative_Examples, References, Relationships

CWE Content Team
MITRE
2023-06-29
updated Mapping_Notes, Relationships

CWE Content Team
MITRE
2023-10-26
updated Observed_Examples

CWE Content Team
MITRE
2024-02-29
4.14
2024-02-29
updated Observed_Examples

CWE Content Team
MITRE
2024-07-16
4.15
2024-07-16
updated Diagram

CWE Content Team
MITRE
2024-11-19
4.16
2024-11-19
updated Relationships

CWE Content Team
MITRE
2025-04-03
4.17
2025-04-03
updated Observed_Examples

CWE Content Team
MITRE
2025-09-09
4.18
2025-09-09
updated Demonstrative_Examples, Detection_Factors, References

CWE Content Team
MITRE
2025-12-11
4.19
2025-12-11
updated Applicable_Platforms, Maintenance_Notes, Relationships, Weakness_Ordinalities

CWE Content Team
MITRE
2026-01-21
4.19.1
2026-01-21
updated Relationships

Abhi Balakrishnan
2024-02-29
4.15
2024-07-16
Provided diagram to improve CWE usability

Authentication Issues
Insufficient Authentication