CVE-2022-24921: Input Validation

Published Mar 3, 2022
·
Updated

A stack overflow flaw was found in Golang's regexp module, which can crash the runtime if the application using regexp accepts very long or arbitrarily long regexps from untrusted sources that have sufficient nesting depths. To exploit this vulnerability, an attacker would need to send large regexps with deep nesting to the application. Triggering this flaw leads to a crash of the runtime, which causes a denial of service.

Other sources

Golang Go is vulnerable to a denial of service, caused by improper input validation. By using a specially-crafted deeply nested expression, a remote attacker could exploit this vulnerability to cause a goroutine stack exhaustion, and results in a denial of service condition.

IBM

regexp.Compile in Go before 1.16.15 and 1.17.x before 1.17.8 allows stack exhaustion via a deeply nested expression.

Affected Software

24 affected componentsFixes available
redhat/openshift-serverless-clients<0:1.3.1-4.el8
0:1.3.1-4.el8
redhat/servicemesh<0:2.1.5-1.el8
0:2.1.5-1.el8
redhat/go-toolset<1.17-golang-0:1.17.10-1.el7_9
1.17-golang-0:1.17.10-1.el7_9
redhat/golang<0:1.17.12-1.el9_0
0:1.17.12-1.el9_0
redhat/go-toolset<0:1.17.12-1.el9_0
0:1.17.12-1.el9_0
redhat/cri-o<0:1.23.3-11.rhaos4.10.gitddf4b1a.1.el7
0:1.23.3-11.rhaos4.10.gitddf4b1a.1.el7
redhat/cri-tools<0:1.23.0-1.1.el8
0:1.23.0-1.1.el8
redhat/butane<0:0.15.0-1.rhaos4.11.el8
0:0.15.0-1.rhaos4.11.el8
redhat/ignition<0:2.14.0-3.rhaos4.11.el8
0:2.14.0-3.rhaos4.11.el8
redhat/openshift-clients<0:4.11.0-202207291716.p0.g7075089.assembly.stream.el8
0:4.11.0-202207291716.p0.g7075089.assembly.stream.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
IBM Cloud Pak for Security<=1.10.0.0 - 1.10.11.0
IBM QRadar Suite Software<=1.10.12.0 - 1.10.16.0
Golang Go<1.16.15
Golang Go>=1.17<1.17.8
NetApp Astra Trident
Debian Debian Linux=9.0
redhat/golang<1.16.15
1.16.15
redhat/golang<1.17.8
1.17.8
Microsoft azl3 python-tensorboard 2.16.2-2<2.16.2-2
2.16.2-2
Microsoft azl3 python-tensorboard 2.11.0-3<2.16.2-2
2.16.2-2
Microsoft cbl2 golang 1.17.8-1<1.17.8-1
1.17.8-1
Microsoft cm1 golang 1.16.15-1<1.16.15-1
1.16.15-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/servicemesh to a version that resolves this vulnerability.

    Fixed in 0:2.1.5-1.el8
  3. Upgrade

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

    Fixed in 1.17-golang-0:1.17.10-1.el7_9
  4. Upgrade

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

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

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

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

    Upgrade redhat/cri-o to a version that resolves this vulnerability.

    Fixed in 0:1.23.3-11.rhaos4.10.gitddf4b1a.1.el7
  7. Upgrade

    Upgrade redhat/cri-tools to a version that resolves this vulnerability.

    Fixed in 0:1.23.0-1.1.el8
  8. Upgrade

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

    Fixed in 0:0.15.0-1.rhaos4.11.el8
  9. Upgrade

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

    Fixed in 0:2.14.0-3.rhaos4.11.el8
  10. Upgrade

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

    Fixed in 0:4.11.0-202207291716.p0.g7075089.assembly.stream.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 redhat/golang to a version that resolves this vulnerability.

    Fixed in 1.16.15
  14. Upgrade

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

    Fixed in 1.17.8
  15. Upgrade

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

    Fixed in 2.16.2-2
  16. Upgrade

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

    Fixed in 1.17.8-1
  17. Upgrade

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

    Fixed in 1.16.15-1

Event History

Mar 3, 2022
CVE Published
12:00 AM
Mar 5, 2022
CVE Published
via MITRE·12:00 AM
Data Sourced
via MITRE·12:00 AM
Description
Mar 11, 2022
Data Sourced
via Microsoft·08:00 AM
DescriptionSeverityWeaknessAffected Software
Updated
via Microsoft·08:00 AM
Affected Software
Updated
via Microsoft·08:00 AM
DescriptionSeverityWeakness
Mar 16, 2022
Data Sourced
via Red Hat·07:02 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

What is CVE-2022-24921?

CVE-2022-24921 is a vulnerability found in Golang's regexp module that can cause a stack overflow leading to a runtime crash.

2

How does CVE-2022-24921 impact the affected software?

CVE-2022-24921 can crash the runtime if the application using regexp accepts very long or arbitrarily long regexps, potentially leading to denial of service.

3

Which versions of Golang are affected by CVE-2022-24921?

Golang versions before 1.16.15 and 1.17.x before 1.17.8 are affected by CVE-2022-24921.

4

What is the severity of CVE-2022-24921?

CVE-2022-24921 has a severity score of 7.5 (high).

5

How can I fix CVE-2022-24921?

To fix CVE-2022-24921, upgrade to Golang version 1.16.15 or 1.17.8, depending on the version you are using.

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