CVE-2021-44717: Infoleak

Published Dec 9, 2021
·
Updated

Go before 1.16.12 and 1.17.x before 1.17.5 on UNIX allows write operations to an unintended file or unintended network connection as a consequence of erroneous closing of file descriptor 0 after file-descriptor exhaustion.

Other sources

There's a flaw in golang's syscall.ForkExec() interface. An attacker who manages to first cause a file descriptor exhaustion for the process, then cause syscall.ForkExec() to be called repeatedly, could compromise data integrity and/or confidentiality in a somewhat uncontrolled way in programs linked with and using syscall.ForkExec().

When a Go program running on a Unix system is out of file descriptors and calls syscall.ForkExec (including indirectly by using the os/exec package), syscall.ForkExec can close file descriptor 0 as it fails. If this happens (or can be provoked) repeatedly, it can result in misdirected I/O such as writing network traffic intended for one connection to a different connection, or content intended for one file to a different one.

Reference: https://github.com/golang/go/issues/50057

Red Hat

Affected Software

23 affected componentsFixes available
redhat/openshift-serverless-clients<0:1.0.0-2.el8
0:1.0.0-2.el8
redhat/go-toolset<1.16-0:1.16.12-1.el7_9
1.16-0:1.16.12-1.el7_9
redhat/go-toolset<1.16-golang-0:1.16.12-1.el7_9
1.16-golang-0:1.16.12-1.el7_9
redhat/cri-o<0:1.23.1-9.rhaos4.10.gitbdffb9a.el8
0:1.23.1-9.rhaos4.10.gitbdffb9a.el8
redhat/openshift<0:4.10.0-202202250816.p0.ge419edf.assembly.stream.el8
0:4.10.0-202202250816.p0.ge419edf.assembly.stream.el8
redhat/openshift-clients<0:4.10.0-202202160023.p0.gf93da17.assembly.stream.el8
0:4.10.0-202202160023.p0.gf93da17.assembly.stream.el8
redhat/containernetworking-plugins<0:0.9.1-2.rhaos4.10.el8
0:0.9.1-2.rhaos4.10.el8
redhat/runc<3:1.1.0-2.rhaos4.10.el8
3:1.1.0-2.rhaos4.10.el8
redhat/butane<0:0.13.1-2.rhaos4.9.el8
0:0.13.1-2.rhaos4.9.el8
redhat/cri-tools<0:1.22.0-2.el8
0:1.22.0-2.el8
redhat/ignition<0:2.12.0-3.rhaos4.9.el8
0:2.12.0-3.rhaos4.9.el8
redhat/mcg<0:5.10.0-72.el8
0:5.10.0-72.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
redhat/Go<1.17.5
1.17.5
redhat/Go<1.16.12
1.16.12
All of the following
Any of the following
Golang Go<1.16.12
Golang Go>=1.17.0<1.17.5
Opengroup Unix
Debian Debian Linux=9.0
Golang Go<1.16.12
Golang Go>=1.17.0<1.17.5
Opengroup Unix

Remediation

Information

This bug can be mitigated by raising the per-process file descriptor limit.

Event History

Dec 9, 2021
CVE Published
12:00 AM
Data Sourced
via Red Hat·06:41 PM
DescriptionSeverityAffected Software
Jan 1, 2022
CVE Published
via MITRE·12:00 AM
Data Sourced
via MITRE·12:00 AM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is CVE-2021-44717?

CVE-2021-44717 is a vulnerability in Go before version 1.16.12 and 1.17.x before 1.17.5 on UNIX that allows write operations to an unintended file or program.

2

What is the severity of CVE-2021-44717?

The severity of CVE-2021-44717 is medium with a CVSS score of 4.8.

3

Which software versions are affected by CVE-2021-44717?

Golang Go versions up to 1.16.12 and 1.17.0 to 1.17.5 on UNIX are affected by CVE-2021-44717.

4

How can an attacker exploit CVE-2021-44717?

An attacker can exploit CVE-2021-44717 by causing file descriptor exhaustion for the process and then repeatedly calling syscall.ForkExec().

5

Are Opengroup Unix and Debian Debian Linux affected by CVE-2021-44717?

No, Opengroup Unix and Debian Debian Linux are not vulnerable to CVE-2021-44717.

6

What is the remedy for CVE-2021-44717?

The recommended remedy for CVE-2021-44717 is to update to Go version 1.17.5 if you are using 1.17.x, or to update to Go version 1.16.12 if you are using 1.16.x.

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