mitre / mitre/secure-coding-case-studies

Faulty Authentication in OAuth2 Implementation of a Website Framework

Open
#18 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
11
Forks
45
PR merge metrics
No merged PRs in 30d

Description

I propose to write a case study about Improper Authentication in OAuth2 Implementations of Web Application Frameworks CWE-287, which is a common vulnerability and highly impactful vulnerability that happens when the developers incorrectly implement or partially check OAuth2 authorization processes. OAuth2 is used to provide the access to the login in many web and the mobile applications, but small coding mistakes like not verifying the token signature, not verifying the issuer or incorrectly configured redirect URIs may result in the attackers bypassing authentication and compromising user data. In this case study, the real-life instances of such flaws resulting in account takeovers and data disclosure will be examined and it will be revealed that the design choices and weak defaults contributed to the problem. The main importance will be placed on the systemic prevention measures which includes the full token validation with trusted libraries, Proof Key for Code Exchange (PKCE) with public clients, redirect URIs whitelisting (securely) and automated security testing of OAuth flows. The idea is to enable the developers, architects and security engineers to learn how to design authentication mechanisms that are robust, verifiable and virtually indefinite against such typical errors in their implementation.

References:
https://cwe.mitre.org/data/definitions/287.html
https://www.cise.ufl.edu/~butler/pubs/dimva15.pdf
https://www.researchgate.net/publication/276397514_Security_evaluation_of_the_OAuth_20_framework

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with CWE-287 and the three references in the issue, then research real OAuth2 authentication failures involving token validation, issuer checks, redirect URIs, and PKCE. The case study is done when it documents representative incidents, explains contributing design choices and weak defaults, and presents prevention measures for developers and security engineers.

Written by the indexing model from the issue text.

Assessment

Domain
authentication, documentation, security
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.