Vulnerability · Published Jun 8, 2023 · Assigned by Go
CVE-2023-29403Unsafe behavior in setuid/setgid binaries in runtime
High 7.8
In plain English
A high-severity security flaw in runtime from Go standard library. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 37% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
On Unix platforms, the Go runtime does not behave differently when a binary is run with the setuid/setgid bits. This can be dangerous in certain cases, such as when dumping memory state, or assuming the status of standard i/o file descriptors. If a setuid/setgid binary is executed with standard I/O file descriptors closed, opening any files can result in unexpected content being read or written with elevated privileges. Similarly, if a setuid/setgid program is terminated, either via panic or signal, it may leak the contents of its registers.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:8 | delve | 1.9.1-1.module_el8.8.0+3471+a62632a0 | ALSA-2023:3922 |
| AlmaLinux:8 | go-toolset | 1.19.10-1.module_el8.8.0+3571+89db2ae0 | ALSA-2023:3922 |
| AlmaLinux:9 | go-toolset | 1.19.10-1.el9_2 | ALSA-2023:3923 |
| AlmaLinux:8 | golang | 1.19.10-1.module_el8.8.0+3571+89db2ae0 | ALSA-2023:3922 |
| AlmaLinux:9 | golang | 1.19.10-1.el9_2 | ALSA-2023:3923 |
| AlmaLinux:8 | golang-bin | 1.19.10-1.module_el8.8.0+3571+89db2ae0 | ALSA-2023:3922 |
| AlmaLinux:9 | golang-bin | 1.19.10-1.el9_2 | ALSA-2023:3923 |
| AlmaLinux:8 | golang-docs | 1.19.10-1.module_el8.8.0+3571+89db2ae0 | ALSA-2023:3922 |
| AlmaLinux:9 | golang-docs | 1.19.10-1.el9_2 | ALSA-2023:3923 |
| AlmaLinux:8 | golang-misc | 1.19.10-1.module_el8.8.0+3571+89db2ae0 | ALSA-2023:3922 |
| AlmaLinux:9 | golang-misc | 1.19.10-1.el9_2 | ALSA-2023:3923 |
| AlmaLinux:8 | golang-race | 1.19.10-1.module_el8.8.0+3571+89db2ae0 | ALSA-2023:3922 |
| AlmaLinux:9 | golang-race | 1.19.10-1.el9_2 | ALSA-2023:3923 |
| AlmaLinux:8 | golang-src | 1.19.10-1.module_el8.8.0+3571+89db2ae0 | ALSA-2023:3922 |
| AlmaLinux:9 | golang-src | 1.19.10-1.el9_2 | ALSA-2023:3923 |
| AlmaLinux:8 | golang-tests | 1.19.10-1.module_el8.8.0+3571+89db2ae0 | ALSA-2023:3922 |
| AlmaLinux:9 | golang-tests | 1.19.10-1.el9_2 | ALSA-2023:3923 |
| Alpine:v3.20 | go | 1.20.5-r0 | ALPINE-CVE-2023-29403 |
| Alpine:v3.21 | go | 1.20.5-r0 | ALPINE-CVE-2023-29403 |
| Alpine:v3.22 | go | 1.20.5-r0 | ALPINE-CVE-2023-29403 |
| Alpine:v3.23 | go | 1.20.5-r0 | ALPINE-CVE-2023-29403 |
| Alpine:v3.24 | go | 1.20.5-r0 | ALPINE-CVE-2023-29403 |
| Debian:12 | golang-1.19 | no fix listed | DEBIAN-CVE-2023-29403 |
| Go | stdlib | 1.19.10, 1.20.5 | GO-2023-1840 |
| Rocky Linux:9 | go-toolset | 0:1.19.10-1.el9_2 | RLSA-2023:3923 |
| Rocky Linux:9 | golang | 0:1.19.10-1.el9_2 | RLSA-2023:3923 |
| Ubuntu:22.04:LTS | golang-1.17 | 1.17.13-3ubuntu1.2 | USN-7061-1 |
| Ubuntu:22.04:LTS | golang-1.17 | 1.17.13-3ubuntu1.2 | UBUNTU-CVE-2023-29403 |
| Ubuntu:22.04:LTS | golang-1.18 | 1.18.1-1ubuntu1.2 | USN-7109-1 |
| Ubuntu:22.04:LTS | golang-1.18 | 1.18.1-1ubuntu1.2 | UBUNTU-CVE-2023-29403 |
| Ubuntu:22.04:LTS | golang-1.20 | no fix listed | UBUNTU-CVE-2023-29403 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Go standard library | runtime | 0 – before 1.19.101.20.0-0 – before 1.20.5 |
References
- https://go.dev/issue/60272
- https://go.dev/cl/501223
- https://groups.google.com/g/golang-announce/c/q5135a9d924/m/j0ZoAJOHAwAJ
- https://pkg.go.dev/vuln/GO-2023-1840
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XBS3IIK6ADV24C5ULQU55QLT2UE762ZX/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NZ2O6YCO2IZMZJELQGZYR2WAUNEDLYV6/
- https://security.gentoo.org/glsa/202311-09
- https://security.netapp.com/advisory/ntap-20241220-0009/