| id: GO-2022-0526 |
| modules: |
| - module: std |
| versions: |
| - fixed: 1.17.12 |
| - introduced: 1.18.0-0 |
| fixed: 1.18.4 |
| vulnerable_at: 1.18.3 |
| packages: |
| - package: encoding/gob |
| symbols: |
| - Decoder.decIgnoreOpFor |
| - Decoder.compileIgnoreSingle |
| - Decoder.compileDec |
| summary: Stack exhaustion when decoding certain messages in encoding/gob |
| description: |- |
| Calling Decoder.Decode on a message which contains deeply nested structures can |
| cause a panic due to stack exhaustion. |
| published: 2022-07-20T20:52:17Z |
| references: |
| - fix: https://go.dev/cl/417064 |
| - fix: https://go.googlesource.com/go/+/6fa37e98ea4382bf881428ee0c150ce591500eb7 |
| - report: https://go.dev/issue/53615 |
| - web: https://groups.google.com/g/golang-announce/c/nqrv9fbR0zE |
| cve_metadata: |
| id: CVE-2022-30635 |
| cwe: 'CWE-674: Uncontrolled Recursion' |
| description: |- |
| Uncontrolled recursion in Decoder.Decode in encoding/gob before Go 1.17.12 and |
| Go 1.18.4 allows an attacker to cause a panic due to stack exhaustion via a |
| message which contains deeply nested structures. |
| review_status: REVIEWED |