Auth0-PHP
CVE-2025-68129
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid ID token from Auth0 tenant
-
DeliveryPresent ID token to access-token-protected endpoint
-
ExploitSDK skips audience validation for access token type
-
ExecutionToken accepted as valid access token
-
ImpactGain unauthorized access to protected resources
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Applies to applications built on Auth0-PHP SDK v8.0.0-v8.17.0, or downstream SDKs depending on those versions: Auth0/laravel-auth0 7.0.0-7.19.0, Auth0/symfony 5.0.0-5.5.0, and the Auth0/wordpress plugin 5.0.0-BETA0-5.4.0. Exploitation requires that the application uses the SDK's token validation such that an ID token can be substituted where an access token is expected, and that the attacker can obtain a valid ID token from the target's Auth0 tenant (i.e., be able to authenticate or drive an authentication flow against that tenant). The limiting factor is therefore possession of a legitimately issued ID token for the specific tenant, not any special network position; unpatched deployments running the listed versions are the concrete exposure surface. Upgrading to Auth0-PHP 8.18.0 (or the corresponding fixed downstream releases: laravel-auth0 7.20.0, symfony 5.6.0, wordpress 5.5.0) remediates the issue. |
| Impact | This is an improper-authorization flaw (CWE-863) in the Auth0-PHP SDK where the audience ( |
| Exploit ScenarioDerived | An attacker who can authenticate to the target's Auth0 tenant (e.g., as a legitimate low-value user or via a client they control) obtains an ID token, which is normally only intended to identify the user to the client application. Because the SDK skips proper audience validation for access tokens, the attacker submits that ID token to an endpoint that expects an access token, and the application accepts it as valid - granting API/resource access it should not. No public exploit code is identified, but the attack is low-complexity and requires no elevated privileges once a token is obtained. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Improper audience validation in the Auth0-PHP SDK versions 8.0.0 through 8.17.0 causes the SDK's token validation routine to treat an ID token as an acceptable access token, so affected applications can be tricked into authorizing API requests with a token that was never meant to grant API access. The flaw is reachable by unauthenticated remote attackers (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, score 7.5), but exploitation is gated by the attacker's ability to obtain a legitimately issued ID token for the target's own Auth0 tenant, since the token substitution only succeeds against the tenant that issued it. Confidentiality impact is high while integrity and availability are unaffected. No public exploit code and no confirmed active exploitation were identified at time of analysis; the same defect propagates to Auth0's Laravel, Symfony and WordPress integrations that pin the vulnerable SDK range. Vendor-released patch: Auth0-PHP 8.18.0.
RemediationAI
Apply the vendor-released patch by upgrading the auth0/auth0-php composer package to 8.18.0 or later (release: https://github.com/auth0/auth0-PHP/releases/tag/8.18.0, commit 7fe700053aee609718460c123f00f53c511f0f7f, advisory GHSA-j2vm-wrq3-f7gf). If the SDK is consumed transitively, upgrade the wrapper to the corresponding fixed release: auth0/laravel-auth0 7.20.0 (which does nothing more than raise the constraint to "auth0/auth0-php": "^8.18", commit a1c3344dc0e5a36e8f56c8cfc535728d3d7558f3, advisory GHSA-7hh9-gp72-wh7h), auth0/symfony 5.6.0 (commit 0103d6f8dcef6996653fad1f823d1c167f472479, advisory GHSA-f3r2-88mq-9v4g), or the auth0/wordpress plugin 5.5.0 (commit b207c6f7fd06507b90c4e6bcc18a857ef9e018de, advisory GHSA-vvg7-8rmq-92g7); after upgrading a downstream package, verify with composer why-not auth0/auth0-php 8.18.0 that no other dependency still pins the old range. Where upgrading is not immediately possible, treat the SDK's access-token validation as untrusted and add an application-level gate that rejects tokens whose typ/token type is an ID token or whose aud/azp does not exactly match the intended API identifier - the trade-off is duplicated validation logic that must be kept in sync with the SDK, and a permissive or incorrect custom check can reintroduce the same bypass. Additionally, since exploitation requires an attacker to hold a valid ID token for the tenant, tightening tenant-side registration and reducing the population able to complete a login flow lowers practical exposure but does not fix the flaw and should not be relied on as a substitute for upgrading. Audit application logs for API endpoints accepting tokens that validate against the client ID rather than the API audience, as such requests may indicate prior abuse.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in composer
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is an improper authorization / improper authentication check (CWE-863) inside the SDK's JWT validation logic. In Auth0's model, an ID token is a consumer-facing artifact that asserts who the end user is and carries the client ID as its audience, while an access token is what authorizes calls to a protected API and carries the API identifier (audience) as well as the authorized party (azp). The vulnerable code in src/Token.php unconditionally appended the configured client ID to the list of accepted audiences, so a token whose aud matched the client ID (i.e. a normal ID token) also satisfied the access-token validation path. The upstream commit 7fe700053aee609718460c123f00f53c511f0f7f fixes this by only appending the client ID when the token under validation is not of type "access_token" (the new guard if ($this->type !== self::TYPE_ACCESS_TOKEN)), restoring the intended audience separation. Because the defect lives in a shared composer library rather than in an application, every framework wrapper that depends on the affected range inherits it: the Laravel integration addressed it purely by tightening the composer constraint from "auth0/auth0-php": "^8.17" to "^8.18" in its own commit a1c3344dc0e5a36e8f56c8cfc535728d3d7558f3. The CVSS vector confirms no privileges or user interaction are required and no scope change occurs, so the practical barrier in real deployments is possession of a valid ID token for the same tenant - meaning any party who can drive a login flow against that tenant, including a low-privileged or self-registered account, is a candidate attacker.
Know when PHP gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Network-reachable token validation bypass requiring only an obtainable ID token, so AV:N/AC:L/PR:N/UI:N; unauthorized resource access yields C:H, with no direct integrity or availability impact per the flaw's nature.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
Auth0-PHP is a PHP SDK for Auth0 Authentication and Management APIs. In applications built with the Auth0-PHP SDK, the audience validation in access tokens is performed improperly. Without proper validation, affected applications may accept ID tokens as Access tokens. Projects are affected if they use Auth0-PHP SDK versions between v8.0.0 and v8.17.0, or applications using the following SDKs that rely on the Auth0-PHP SDK versions between v8.0.0 and v8.17.0: Auth0/symfony versions between 5.0.0 and 5.5.0, Auth0/laravel-auth0 versions between 7.0.0 and 7.19.0, and/or Auth0/wordpress plugin versions between 5.0.0-BETA0 and 5.4.0. Auth0/Auth0-PHP version 8.18.0 contains a patch for the issue.
Executive ViewAI
Auth0-PHP SDK releases 8.0.0 through 8.17.0, along with the Laravel, Symfony, and WordPress integrations that depend on them, contain an audience-validation weakness that can cause an application to accept an ID token as an API access token, potentially exposing sensitive data to unauthorized API calls. Although exploitation is gated by possession of a valid tenant-issued token and no public exploit was identified at time of analysis, the high confidentiality impact and broad use of these integrations make this a priority for any organization relying on them.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Affected Products (CPE)NVD
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
NVD
CVE.org
EPSS
GitHub
Exploit-DB