Auth bypass in Go-Zero
CVE-2024-27302
go-zero is a web and rpc framework. Go-zero allows user to specify a CORS Filter with a configurable allows param - which is an array of domains allowed in CORS policy. However, the `isOriginAllowed` uses `strings.HasSuffix` to check the origin, which leads to bypass via a malicious domain. This vulnerability is capable of breaking CORS policy and thus allowing any page to make requests and/or retrieve data on behalf of other users. Version 1.4.4 fixes this issue.
Vulnerability class: IDOR (Insecure Direct Object Reference)
EPSS: 0.008 (52.1th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 9.1 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N.
Affected products
- Go-zero
- Zeromicro Go-zero — versions < 1.4.4
Weakness classification (CWE)
References
- security-advisories@github.com (x_refsource_CONFIRM, Exploit, Vendor Advisory)
- security-advisories@github.com (Patch, x_refsource_MISC)
Frequently asked questions
- What is CVE-2024-27302?
- CVE-2024-27302 is a critical-severity vulnerability in Go-Zero, classified under Authorization Bypass Through User-Controlled Key. CVSS score: 9.1/10. Published 2024-03-06.
- How severe is CVE-2024-27302?
- Critical severity. CVSS v3 base score is 9.1 out of 10.