CVE-2022-30635: Stack exhaustion when decoding certain messages in encoding/gob

Published Jul 12, 2022
·
Updated

A flaw was found in golang. When calling Decoder, Decode on a message that contains deeply nested structures, a panic can occur due to stack exhaustion and allows an attacker to impact system availability.

Other sources

Calling Decoder.Decode on a message which contains deeply nested structures can cause a panic due to stack exhaustion.

Red Hat

Stack exhaustion when decoding certain messages in encoding/gob

Microsoft

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.

Affected Software

20 affected componentsFixes available
redhat/openshift-serverless-clients<0:1.3.1-4.el8
0:1.3.1-4.el8
redhat/go-toolset<1.17-golang-0:1.17.12-1.el7_9
1.17-golang-0:1.17.12-1.el7_9
redhat/git-lfs<0:2.13.3-3.el8_6
0:2.13.3-3.el8_6
redhat/grafana<0:7.5.15-3.el8
0:7.5.15-3.el8
redhat/grafana-pcp<0:3.2.0-2.el8
0:3.2.0-2.el8
redhat/golang<0:1.17.12-1.el9_0
0:1.17.12-1.el9_0
redhat/grafana<0:7.5.15-3.el9
0:7.5.15-3.el9
redhat/grafana-pcp<0:3.2.0-3.el9
0:3.2.0-3.el9
redhat/git-lfs<0:3.2.0-1.el9
0:3.2.0-1.el9
redhat/etcd<0:3.3.23-12.el8
0:3.3.23-12.el8
redhat/kubevirt<0:4.12.0-1057.el7
0:4.12.0-1057.el7
redhat/kubevirt<0:4.12.0-1057.el8
0:4.12.0-1057.el8
debian/golang-1.15<=1.15.15-1~deb11u4
debian/golang-1.19
1.19.8-2
Golang Go<1.17.12
Golang Go>=1.18.0<1.18.4
redhat/golang<1.18.4
1.18.4
redhat/golang<1.17.12
1.17.12
Microsoft cbl2 golang 1.18.5-1<1.18.5-1
1.18.5-1
Microsoft cm1 golang 1.18.5-1<1.18.5-1
1.18.5-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade redhat/openshift-serverless-clients to a version that resolves this vulnerability.

    Fixed in 0:1.3.1-4.el8
  2. Upgrade

    Upgrade redhat/go-toolset to a version that resolves this vulnerability.

    Fixed in 1.17-golang-0:1.17.12-1.el7_9
  3. Upgrade

    Upgrade redhat/git-lfs to a version that resolves this vulnerability.

    Fixed in 0:2.13.3-3.el8_6
  4. Upgrade

    Upgrade redhat/grafana to a version that resolves this vulnerability.

    Fixed in 0:7.5.15-3.el8
  5. Upgrade

    Upgrade redhat/grafana-pcp to a version that resolves this vulnerability.

    Fixed in 0:3.2.0-2.el8
  6. Upgrade

    Upgrade redhat/golang to a version that resolves this vulnerability.

    Fixed in 0:1.17.12-1.el9_0
  7. Upgrade

    Upgrade redhat/grafana to a version that resolves this vulnerability.

    Fixed in 0:7.5.15-3.el9
  8. Upgrade

    Upgrade redhat/grafana-pcp to a version that resolves this vulnerability.

    Fixed in 0:3.2.0-3.el9
  9. Upgrade

    Upgrade redhat/git-lfs to a version that resolves this vulnerability.

    Fixed in 0:3.2.0-1.el9
  10. Upgrade

    Upgrade redhat/etcd to a version that resolves this vulnerability.

    Fixed in 0:3.3.23-12.el8
  11. Upgrade

    Upgrade redhat/kubevirt to a version that resolves this vulnerability.

    Fixed in 0:4.12.0-1057.el7
  12. Upgrade

    Upgrade redhat/kubevirt to a version that resolves this vulnerability.

    Fixed in 0:4.12.0-1057.el8
  13. Upgrade

    Upgrade debian/golang-1.19 to a version that resolves this vulnerability.

    Fixed in 1.19.8-2
  14. Upgrade

    Upgrade redhat/golang to a version that resolves this vulnerability.

    Fixed in 1.18.4
  15. Upgrade

    Upgrade redhat/golang to a version that resolves this vulnerability.

    Fixed in 1.17.12
  16. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 1.18.5-1
  17. Upgrade

    Upgrade golang to a version that resolves this vulnerability.

    Fixed in Go 1.17.12
  18. Upgrade

    Upgrade golang to a version that resolves this vulnerability.

    Fixed in Go 1.18.4
  19. Compensating control

    Mitigate availability impact by preventing untrusted clients from sending deeply nested gob messages to encoding/gob Decoder.Decode until Go is upgraded to Go 1.17.12 or Go 1.18.4.

Event History

Jul 12, 2022
CVE Published
12:00 AM
Jul 14, 2022
Data Sourced
via Red Hat·09:38 PM
DescriptionSeverityAffected Software
Aug 9, 2022
CVE Published
via MITRE·08:16 PM
Data Sourced
via MITRE·08:16 PM
DescriptionWeakness
Aug 10, 2022
Data Sourced
via NVD·08:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Aug 16, 2022
Data Sourced
via Microsoft·07:00 AM
DescriptionSeverityWeakness
Data Sourced
via Microsoft·07:00 AM
Affected Software
Updated
via Microsoft·07:00 AM
Affected Software
Updated
via Microsoft·07:00 AM
DescriptionSeverityWeakness
Oct 10, 2024
Data Sourced
via Ubuntu·01:15 PM
RemedyDescriptionSeverityAffected Software
Data Sourced
via Launchpad·01:16 PM
Description

Frequently Asked Questions

1

What is CVE-2022-30635?

CVE-2022-30635 is a vulnerability in golang that allows an attacker to cause a panic due to stack exhaustion and impact system availability.

2

How does CVE-2022-30635 affect software?

CVE-2022-30635 affects versions before Go 1.17.12 and Go 1.18.4, as well as other software packages mentioned in the affected software list.

3

What is the severity of CVE-2022-30635?

CVE-2022-30635 has a severity level of high (7 out of 10).

4

How can I fix CVE-2022-30635?

To fix CVE-2022-30635, update to Go 1.17.12 or Go 1.18.4, or apply the appropriate fix for the affected software packages.

5

Where can I find more information about CVE-2022-30635?

You can find more information about CVE-2022-30635 in the references provided: [CVE website](https://www.cve.org/CVERecord?id=CVE-2022-30635), [NVD](https://nvd.nist.gov/vuln/detail/CVE-2022-30635), [Go issue tracker](https://go.dev/issue/53615), [Red Hat Bugzilla](https://bugzilla.redhat.com/show_bug.cgi?id=2107388), [Red Hat Advisory](https://access.redhat.com/errata/RHSA-2022:6345).

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203