Free tool · no signup
Next.js vulnerability checker
Enter a site address. The tool reads the Next.js version the page announces, then lists every published security advisory for that version and the release that fixes it.
By the Bug Circuit security team · Last updated
How it works
How the check works
The tool loads your page the way a browser does. It reads the page, finds the script files that belong to Next.js and looks inside them for the version string the framework puts there. It does not guess paths, send exploit code or log in. Everything it sees, any visitor can see.
With the version in hand, it asks OSV (osv.dev), the open vulnerability database run by Google, which published advisories cover that exact release. Most of them come from the GitHub Advisory Database. For each one you see the severity, the identifiers (GHSA and CVE) and the version that fixes it. Because an advisory often lists a different fix for each release line, the tool picks the fix that applies to your line, such as 14.2.x or 15.5.x. It also shows the smallest version on your current major line that fixes everything fixable there, and counts the advisories that are fixed only in a newer major version.
What the result does and does not tell you
An affected version is a reason to update, not proof that the site can be broken into. Many Next.js advisories apply only to a certain feature, such as the image optimizer, middleware, server actions or the App Router with React Server Components. Others need a particular host or setting. Read the advisory, and update either way, because fixes are cheap and attackers read advisories too.
Some sites hide the version, and then no outside tool can name the advisories. The result says so instead of guessing. In that case, run npm ls next in the project, or paste package-lock.json into the npm audit tool, which sees the exact version and every other package too.
A site behind a CDN, proxy or firewall may block some attack traffic, which does not replace updating. Only check sites you own or manage. The tool makes the same single page load a visitor makes, but you should still have permission to look.
Worked examples
An old release line
A site that serves Next.js 14.2.3
37 advisories (4 critical, 13 high). Update to at least 14.2.35 on the 14.x line. 25 of them are fixed only in Next.js 15 or later.
Result on 24 Oct 2026. The counts change as new advisories are published. A site on 14.x gets many fixes by patching within the line, but the full set needs a major upgrade.
A newer line
A site that serves Next.js 15.1.0
36 advisories (5 critical, 10 high). Update to at least 15.5.28. Includes GHSA-9qr9-h5gf-34mp, remote code execution in the React flight protocol.
Same date. A recent version is not automatically a safe one: the 15.1 line has fixes in later patch releases.
An up-to-date site
A site that serves Next.js 15.5.28
No published advisories for Next.js 15.5.28.
This is the version Bug Circuit runs. A clean result means nothing is published yet, so check again after each release.
Frequently asked questions
How do I check which Next.js version a site uses?
Why does the tool say the version is not visible?
Does an advisory mean my site can be hacked?
What is the safest Next.js version to be on?
Is it safe to run this on my own site?
Where does the advisory data come from?
What if I use the Pages Router instead of the App Router?
Keep reading
See what attackers see, for free
Run the free passive check on your website. No login, no impact on your site, results in seconds.
Ready for the full manual audit? See pricing