Skip to content

goreleaser shows environment by default

Moderate severity GitHub Reviewed Published May 15, 2024 in goreleaser/goreleaser • Updated May 15, 2024

Package

gomod github.com/goreleaser/goreleaser (Go)

Affected versions

= 1.26.0

Patched versions

1.26.1

Description

Summary

Since #4787 the log output is printed on the INFO level, while previously it was logged on DEBUG. This means if the go build output is non-empty, goreleaser leaks the environment.

PoC

  • Create a Go project with dependencies, do not pull them yet (or run goreleaser later in a container, or delete $GOPATH/pkg).
  • Make sure to have secrets set in the environment
  • Make sure to not have go mod tidy in a before hook
  • Run goreleaser release --clean
  • Go prints lots of go: downloading ... lines, which triggers the "if output not empty, log it" line, which includes the environment.

Impact

Credentials and tokens are leaked.

References

@caarlos0 caarlos0 published to goreleaser/goreleaser May 15, 2024
Published to the GitHub Advisory Database May 15, 2024
Reviewed May 15, 2024
Last updated May 15, 2024

Severity

Moderate
6.2
/ 10

CVSS base metrics

Attack vector
Local
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Weaknesses

CVE ID

No known CVE

GHSA ID

GHSA-f6mm-5fc7-3g3c

Source code

Credits

Checking history
See something to contribute? Suggest improvements for this vulnerability.