CVE-2022-39213: Go-CVSS has Out-of-bounds Read vulnerability in ParseVector function
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.37567%
CWE
Published
9/16/2022
Updated
2/15/2023
KEV Status
No
Technology
Go
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| github.com/pandatix/go-cvss | go | >= 0.2.0, < 0.4.0 | 0.4.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability manifests in the ParseVector function as shown in the panic trace and commit diff analysis. The pre-patch code split the vector into parts and iterated through metric groups using nested slices (slcs). When processing a full 14-component vector, the loop would increment 'slci' beyond the length of the 'slcs' array (length=3, index=3), causing an out-of-bounds read. The patched commit introduced a fixed 'order' array and added a bounds check ('if slci == 4') to prevent this. The exploit example directly triggers this code path, confirming the function's vulnerability.