---
id: CVE-2026-33175
aliases:
  - GHSA-rrvg-cxh4-qhrv
  - PYSEC-2026-2238
title: Auth0OAuthenticator has an Authentication Bypass via Unverified Email Claims
summary: Auth0OAuthenticator has an Authentication Bypass via Unverified Email Claims
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: oauthenticator
product: oauthenticator
ecosystem: pip
affected:
  - oauthenticator < 17.4.0
patched:
  - oauthenticator 17.4.0
published: '2026-04-03'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:51:03.184847435Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-rrvg-cxh4-qhrv'
references:
  - url: >-
      https://github.com/jupyterhub/oauthenticator/security/advisories/GHSA-rrvg-cxh4-qhrv
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-33175'
  - url: >-
      https://github.com/jupyterhub/oauthenticator/commit/f0c7002dc36e41efae0f674033cf7888a21d96f9
  - url: 'https://github.com/jupyterhub/oauthenticator'
  - url: 'https://github.com/jupyterhub/oauthenticator/releases/tag/17.4.0'
  - url: >-
      https://support.auth0.com/center/s/article/Enforce-Email-Verification-With-Sending-Email-After-Each-Denied-Access
tags:
  - osv
  - pip
epss: 0.00438
epssPercentile: 0.37545
ingestedAt: '2026-07-13T18:58:02.946Z'
---

## Overview

### Summary

An authentication bypass vulnerability in `oauthenticator` allows an attacker with an unverified email address on an Auth0 tenant to login to JupyterHub. When `email` is used as the usrname_claim, this gives users control over their username and the possibility of account takeover.

### Impact

This is an **Authentication Bypass Vulnerability**. Any Auth0 tenant leveraging the `Auth0OAuthenticator` mapping the `email` claim to the JupyterHub username is impacted. By default, Auth0 handles email verification as a user flag, not a hard block to authentication streams. If an attacker can register an account with the Auth0 tenant with an unverified email and knows the email of an existing user on the system, they can authenticate as that user.

### Patches

- Upgrade oauthenticator to 17.4

### Workarounds

- Check `email_verified` field in an `Authenticator.post_auth_hook` function
- Do not use `email` as the username claim
- [Enforce email verification in auth0](https://support.auth0.com/center/s/article/Enforce-Email-Verification-With-Sending-Email-After-Each-Denied-Access)

## Affected packages

- `oauthenticator < 17.4.0`

## Remediation

Upgrade to a patched release:

- `oauthenticator 17.4.0`
