CVE-2024-27302 Authorization Bypass Through User-Controlled Key in go-zero
Attackers can bypass CORS restrictions in go-zero by using malicious domains, allowing unauthorized data retrieval on behalf of other users.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-27302?
CVE-2024-27302 is a critical vulnerability in zeromicro go-zero, published on 6 Mar 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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.
Weakness: CWE-639
Which versions are affected by CVE-2024-27302?
3 open source packages ship an affected version, including github.com/zeromicro/go-zero. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/zeromicro/go-zero Go | All versions | 1.4.4 |
github.com/zeromicro/go-zero Go | All versions | 1.4.4 |
github.com/zeromicro/go-zero Go | All versions | 1.4.4 |
Products include Go-Zero Go-Zero.
How do I fix CVE-2024-27302?
Upgrade github.com/zeromicro/go-zero to 1.4.4 or later.
Is CVE-2024-27302 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-27302 exists.
Sources
Also known as GHSA-fgxv-gw55-r5fq, GO-2024-2604.