CVE-2023-29403: Vulnerability in golang package - Unexpected Content Read or Written with Elevated Privileges
Summary
CVE-2023-29403: Unsafe behavior in setuid/setgid binaries in runtime. Affects golang across 2 version ranges.
< 1.19.10
>= 1.20.0, < 1.20.5
Fixed in 1.19.10 or 1.20.5, depending on the release line you run. How to fix ↓
Also tracked for
- golang-1.15 · Debian:11
- stdlib · Go
The same CVE-2023-29403 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The golang package is a popular open-source programming language that provides a robust and efficient environment for developing applications. It is widely used for its simplicity, concurrency support, and extensive standard library. However, the package is vulnerable to a critical issue that affects its behavior when executed with the setuid/setgid bits on Unix platforms.
Vulnerability Detail
When a setuid/setgid binary is run with standard I/O file descriptors closed, the Go runtime does not behave differently, which can lead to unexpected content being read or written with elevated privileges. This can be particularly dangerous when dumping memory state or assuming the status of standard I/O file descriptors. Additionally, if a setuid/setgid program is terminated, it may inadvertently leak the contents of its registers. These vulnerabilities pose a significant risk as they can be exploited to gain unauthorized access or extract sensitive information.
How To Fix
Fixed versions by release line
The minimum fixed version depends on the release line you run.
-
< 1.19.101.19.10 -
>= 1.20.0, < 1.20.51.20.5
Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →
Workaround
There is currently no known workaround for this vulnerability. It is crucial to update the golang package to the fixed versions mentioned above.
Conclusion
The vulnerability in the golang package can lead to unexpected content being read or written with elevated privileges, potentially enabling unauthorized access or information disclosure. It is crucial to update the package to the fixed versions mentioned above to mitigate the risk. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for golang →
FAQ
This vulnerability can allow an attacker to read or write unexpected content with elevated privileges, potentially leading to unauthorized access or information disclosure.
No, this vulnerability requires local execution of a setuid/setgid binary.
No, only versions prior to 1.19.10 and 1.20.5 are affected. It is recommended to update to the fixed versions to ensure security.
There are currently no known public exploits for this vulnerability.
In most cases, restarting the affected applications is not required after updating the golang package. However, it is recommended to review the specific application's documentation or consult with the application's developers for any additional steps.
References
Related vulnerabilities
Recent vulnerabilities recorded for golang.