CVE-2022-30634 json
Indefinite hang with large buffers on Windows in crypto/rand
published 4y ago modified 2mo ago also BIT-golang-2022-30634 , EUVD-2022-52465 , GO-2022-0477
- cvss
- 7.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.3%
- EPSS 2.3% chance of exploitation in 30 days, percentile 83%
- public exploits
- 0
- none known
Summary
Infinite loop in Read in crypto/rand before Go 1.17.11 and Go 1.18.3 on Windows allows attacker to cause an indefinite hang by passing a buffer larger than 1 << 32 - 1 bytes.
Patch / fix
- bitnami golang 1.17.11, 1.18.3
- go stdlib 1.17.11, 1.18.3
- Go standard library crypto/rand 1.17.11, 1.18.3
- go1.18-openssl SLES for SAP 15 SP3, SLES 15 SP3-LTSS, SLE Real Time 15 SP3 +6 more 1.18.10.1-150000.1.9.1
- go1.18 SLE Module for Development Tools 15 SP4, SLE Module for Development Tools 15 SP3, openSUSE Leap 15.4 +1 more 1.18.3-150000.1.20.1
- go1.17 SLE Module for Development Tools 15 SP4, SLE Module for Development Tools 15 SP3, openSUSE Leap 15.4 +1 more 1.17.11-150000.1.37.1
suse advisories SUSE-SU-2023:2312-1SUSE-SU-2022:2005-1SUSE-SU-2022:2004-1
- go1.17 openSUSE Tumbleweed 1.17.11-1.1
- go1.18 openSUSE Tumbleweed 1.18.3-1.1
opensuse advisories openSUSE-SU-2024:12123-1openSUSE-SU-2024:12124-1
- go Alpine 3.16 1.18.4-r0
alpine advisories ALPINE-CVE-2022-30634
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Is CVE-2022-30634 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerExploit prediction
2.28% chance of exploitation in the next 30 days, higher than 83% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- go.dev https://go.dev/issue/52561 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | golang | <1.17.11 >=1.18.0, <1.18.3 |
1.17.11 1.18.3 |
| go | stdlib | <1.17.11 >=1.18.0-0, <1.18.3 |
1.17.11 1.18.3 |
Affected products
- Go standard library crypto/rand
Classification
- Weakness
-
- CWE-835 Loop with Unreachable Exit Condition
References
-
go.googlesource.com
/go/+/bb1f4416180511231de6d17a1f2f55c82aafc863
mailing-list, patch
-
go.dev
/cl/402257
patch
-
go.dev
/issue/52561
exploit, issue-tracking, evidence, report
-
groups.google.com
/g/golang-announce/c/TzIC9-t8Ytg/m/IWz5T6x7AAAJ
mailing-list, third-party-advisory, advisory, web
-
pkg.go.dev
/vuln/GO-2022-0477
third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2022-30634
web
Sources
- CVE List CVE-2022-30634
- NVD CVE-2022-30634
- OSV BIT-golang-2022-30634
- OSV GO-2022-0477
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.