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

Free, no signup. The check is passive: it loads your page like a browser and reads the version your own scripts announce. Nothing is attacked and no exploit is sent.

Is my Next.js site vulnerable? Enter the address. You get the Next.js version, the advisories that affect it, how severe they are and the version to update to. It is a passive check, so nothing is attacked.

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?
Enter the address in the box above. The tool reads the version from the framework scripts the page loads. You can also run npm ls next in the project folder, or look at the next entry in package.json and the lockfile.
Why does the tool say the version is not visible?
Some builds and hosts do not expose the version in the scripts a browser downloads, and many large sites strip it. That is acceptable. It only means an outside check cannot name the advisories. Check the project directly with npm ls next or the npm audit tool.
Does an advisory mean my site can be hacked?
No. It means a flaw has been published for that version. Many flaws need a specific feature or setting. Read the advisory to see whether your setup is affected, and update either way.
What is the safest Next.js version to be on?
The latest patch release of a major version that still gets security fixes. The tool shows the latest stable version and the smallest version on your line that fixes the advisories that have a fix there.
Is it safe to run this on my own site?
Yes. It makes one ordinary page request and a few requests for your public script files. No payload is sent and nothing is changed. The check is rate limited, and the result is shown only to you.
Where does the advisory data come from?
From OSV (osv.dev), which aggregates the GitHub Advisory Database and other sources, and from the npm registry for the latest version. The data is cached for a few hours.
What if I use the Pages Router instead of the App Router?
The check works for both and shows which one it found. Some advisories affect only one router, and the advisory text says which. Updating fixes both.

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

Next.js Vulnerability Checker for Any Site · Bug Circuit