Skip to main content
VulnerabilityPublished

CVE-2026-39976: laravel passport · Improper Authentication

Affects laravel passportSource CVE Database V5

0
Compare

Not known to be exploited · CVSS 7.1 High : upgrade to 13.7.1 soon.

Data as of 29 Oct 2026, 19:04 UTC

CVSS 3.1 base score
7.1High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.2% chance of exploitation in 30 days – higher than 21% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 13.7.1
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 9 Apr 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.

What to do

Upgrade passport and laravel/passport to 13.7.1.

Affected software

ProductAffectedFixed in
laravelpassportAffected
  • >=13.0.0 <13.7.1
Fixed in
  • 13.7.1
GitHublaravel/passportpkg:github/laravel/passportOther threatsAffected
  • <13.7.1 >=13.0.0
Fixed in
  • 13.7.1

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

Upgrade Laravel Passport to version 13.7.1 or later, where this authentication bypass vulnerability is fixed. There is no indication of alternative mitigations or temporary workarounds. Patch status is not explicitly stated but the fix is available in the specified version.

Description

Laravel Passport provides OAuth2 server support to Laravel. From 13.0.0 to before 13.7.1, there is an Authentication Bypass for client_credentials tokens.the league/oauth2-server library sets the JWT sub claim to the client identifier (since there's no user). The token guard then passes this value to retrieveById() without validating it's actually a user identifier, potentially resolving an unrelated real user. Any machine-to-machine token can inadvertently authenticate as an actual user. This vulnerability is fixed in 13.7.1.

References

Community reviews

Loading reviews…