CVE-2025-68129Auth0-PHP是一个用于Auth0身份验证和管理API的PHP SDK。在使用Auth0-PHP SDK构建的应用程序中,对访问令牌(Access Token)中的audience声明验证执行不当。正常情况下,ID令牌(ID Token)用于身份认证,而访问令牌(Access Token)用于授权访问API资源。由于audience验证逻辑存在缺陷,受影响的应用程序可能会错误地接受ID令牌作为访问令牌使用。这导致攻击者可以使用本应仅用于身份认证的ID令牌来访问受保护的API资源,从而绕过正常的授权检查机制,获取未授权的访问权限。该漏洞影响多个基于Auth0-PHP构建的SDK产品,包括Symfony、Laravel和WordPress插件。
该漏洞的根本原因在于Auth0-PHP SDK的令牌验证模块对audience声明的验证不充分。在OAuth 2.0/OIDC协议中,ID令牌和访问令牌具有不同的用途:ID令牌包含用户身份信息,应由客户端应用使用;访问令牌包含授权范围和目标API信息,用于访问后端资源服务。漏洞存在于SDK的TokenValidator类中,当验证访问令牌时,验证逻辑没有严格检查audience是否与预期的API标识符匹配。攻击者可以利用此漏洞:1) 通过正常认证流程获取有效的ID令牌;2) 将该ID令牌作为访问令牌发送到受保护的API端点;3) 由于验证缺陷,API会错误地接受ID令牌并返回资源数据。CVSS向量显示攻击复杂度为高(AC:H),需要一定的攻击条件,但一旦成功,可导致高机密性和完整性影响。