{"id":"CVE-2025-53535","aliases":["GHSA-36rg-gfq2-3h56"],"url":"https://o3.security/vulnerability/CVE-2025-53535","summary":"Better Auth has an Open Redirect Vulnerability in originCheck Middleware Affecting Multiple Routes","details":"### Summary\n\nAn open redirect has been found in the `originCheck` middleware function, which affects the following routes: `/verify-email`, `/reset-password/:token`, `/delete-user/callback`, `/magic-link/verify`, `/oauth-proxy-callback`.\n\n### Details\n\nIn the `matchesPattern` function, `url.startsWith(` can be deceived with a `url` that starts with one of the `trustedOrigins`.\n\n```jsx\n\t\tconst matchesPattern = (url: string, pattern: string): boolean => {\n\t\t\tif (url.startsWith(\"/\")) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (pattern.includes(\"*\")) {\n\t\t\t\treturn wildcardMatch(pattern)(getHost(url));\n\t\t\t}\n\t\t\treturn url.startsWith(pattern);\n\t\t};\n```\n\n### Open Redirect PoCs\n\n```jsx\nexport const auth = betterAuth({\n\tbaseURL: 'http://localhost:3000',\n\ttrustedOrigins: [\n\t\t\"http://trusted.com\"\n\t],\n\temailAndPassword: {\n\t\t...\n\t},\n})\n```\n\n#### `/reset-password/:token`\n\n<img width=\"481\" alt=\"image\" src=\"https://github.com/user-attachments/assets/46e7871a-1dad-4375-af94-0446e29aaab6\" />\n<br/>\n<img width=\"518\" alt=\"image 1\" src=\"https://github.com/user-attachments/assets/83abfb53-6fc9-4d1f-918d-9b4ce093c808\" />\n\n#### `/verify-email`\n\n<img width=\"549\" alt=\"image\" src=\"https://github.com/user-attachments/assets/7dd424b7-42a4-4616-aa73-fcc2e3eeb309\" />\n<br/>\n<img width=\"436\" alt=\"image\" src=\"https://github.com/user-attachments/assets/54f11636-0a3e-4e83-9a09-57c5e8ba98cd\" />\n\n#### `/delete-user/callback`\n\n<img width=\"545\" alt=\"image\" src=\"https://github.com/user-attachments/assets/2ff1b217-d069-48fb-81c1-f8c8792d34a4\" />\n<br/>\n<img width=\"492\" alt=\"image\" src=\"https://github.com/user-attachments/assets/71df11db-9d38-4f34-abe1-add9d60b3486\" />\n\n#### `/magic-link/verify`\n\n<img width=\"379\" alt=\"image\" src=\"https://github.com/user-attachments/assets/6b6b6a8a-59b6-4a65-9df3-57d5b2f6eb0f\" />\n<br/>\n<img width=\"413\" alt=\"image\" src=\"https://github.com/user-attachments/assets/82a5c9c6-2ea0-44eb-af48-40732657b59e\" />\n\n#### `/oauth-proxy-callback`\n\n<img width=\"548\" alt=\"image\" src=\"https://github.com/user-attachments/assets/d8d2ee51-e9fd-4337-bec3-a70afd1ceacb\" />\n<br/>\n<img width=\"544\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f097d406-b965-4f85-b124-9b0ef1cc2689\" />\n\n### Impact\n\nUntrusted open redirects in various routes.","published":"2025-07-07T17:15:52.027Z","modified":"2026-08-12T03:51:31.734098581Z","cvss":null,"epss":{"score":0.00334,"percentile":0.25985,"asOf":"2026-08-29"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"better-auth","fixedVersion":"1.2.10"}],"fix":{"url":"https://github.com/better-auth/better-auth/commit/9801d1be53d9da04686b94c6286c53ec97496740","label":"better-auth/better-auth@9801d1b"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/53xxx/CVE-2025-53535.json"},{"type":"ADVISORY","url":"https://github.com/better-auth/better-auth/security/advisories/GHSA-36rg-gfq2-3h56"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-53535"},{"type":"WEB","url":"https://github.com/better-auth/better-auth/commit/9801d1be53d9da04686b94c6286c53ec97496740"},{"type":"PACKAGE","url":"https://github.com/better-auth/better-auth"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:31.734098581Z"}}