blob: e9fe0ceb77981eccac1478d42c079875dee1360f [file] [log] [blame]
id: GO-2023-1840
modules:
- module: std
versions:
- fixed: 1.19.10
- introduced: 1.20.0-0
fixed: 1.20.5
vulnerable_at: 1.20.4
packages:
- package: runtime
summary: Unsafe behavior in setuid/setgid binaries in runtime
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.
credits:
- Vincent Dehors from Synacktiv
references:
- report: https://go.dev/issue/60272
- fix: https://go.dev/cl/501223
- web: https://groups.google.com/g/golang-announce/c/q5135a9d924/m/j0ZoAJOHAwAJ
cve_metadata:
id: CVE-2023-29403
cwe: 'CWE-642: External Control of Critical State Data'
references:
- 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
review_status: REVIEWED