CVE-2023-43961: SaToken authentication bypass vulnerability
8.8
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.27212%
CWE
Published
10/25/2023
Updated
9/11/2024
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| cn.dev33:sa-token-core | maven | < 1.36.0 | 1.36.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability arises from a mismatch in URI normalization between SaToken's AntPathMatcher and Spring's path resolution. SaToken's SaRouter.match() function treats '/admin/password' and '/admin/password/' as distinct paths, while Spring MVC considers them equivalent. This allows attackers to bypass authentication by appending a trailing slash to protected routes. The SaRouter.match() function is directly responsible for defining protected paths but fails to enforce consistent normalization, making it the root cause of the bypass.