Lucene search

K
osvGoogleOSV:GO-2024-2962
HistoryJul 02, 2024 - 7:27 p.m.

Output of "go env" does not sanitize values in cmd/go

2024-07-0219:27:52
Google
osv.dev
6
go environment
sanitization
shell script
command execution
arbitrary commands

CVSS3

9.8

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

AI Score

7.4

Confidence

High

EPSS

0

Percentile

15.8%

Command go env is documented as outputting a shell script containing the Go environment. However, go env doesn’t sanitize values, so executing its output as a shell script can cause various bad bahaviors, including executing arbitrary commands or inserting new environment variables.

This issue is relatively minor because, in general, if an attacker can set arbitrary environment variables on a system, they have better attack vectors than making “go env” print them out.

CVSS3

9.8

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

AI Score

7.4

Confidence

High

EPSS

0

Percentile

15.8%