CVE-2023-22726
published 2023-01-20CVE-2023-22726: act is a project which allows for local running of github actions. The artifact server that stores artifacts from Github Action runs does not sanitize path…
PriorityP353high8.8CVSS 3.1
AVNACLPRLUINSUCHIHAH
EPSS
1.26%
67.7th percentile
act is a project which allows for local running of github actions. The artifact server that stores artifacts from Github Action runs does not sanitize path inputs. This allows an attacker to download and overwrite arbitrary files on the host from a Github Action. This issue may lead to privilege escalation. The /upload endpoint is vulnerable to path traversal as filepath is user controlled, and ultimately flows into os.Mkdir and os.Open. The /artifact endpoint is vulnerable to path traversal as the path is variable is user controlled, and the specified file is ultimately returned by the server. This has been addressed in version 0.2.40. Users are advised to upgrade. Users unable to upgrade may, during implementation of Open and OpenAtEnd for FS, ensure to use ValidPath() to check against path traversal or clean the user-provided paths manually.
Affected
3 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| act_project | act | < 0.2.40 | 0.2.40 |
| github.com | nektos_act | >= 0 < 0.2.40 | 0.2.40 |
| nektos | act | < 0.2.40 | 0.2.40 |
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
act vulnerable to arbitrary file upload in artifact server in github.com/nektos/act
osv·2024-08-20
CVE-2023-22726 act vulnerable to arbitrary file upload in artifact server in github.com/nektos/act
act vulnerable to arbitrary file upload in artifact server in github.com/nektos/act
act vulnerable to arbitrary file upload in artifact server in github.com/nektos/act
GHSA
act vulnerable to arbitrary file upload in artifact server
ghsa·2023-01-20
CVE-2023-22726 [HIGH] CWE-22 act vulnerable to arbitrary file upload in artifact server
act vulnerable to arbitrary file upload in artifact server
### Impact
The artifact server that stores artifacts from Github Action runs does not sanitize path inputs. This allows an attacker to download and overwrite arbitrary files on the host from a Github Action. This issue may lead to privilege escalation.
#### Issue 1: Arbitrary file upload in artifact server (GHSL-2023-004)
The [/upload endpoint](https://github.com/nektos/act/blob/v0.2.35/pkg/artifacts/server.go#LL103C2-L103C2) is vulnerable to path traversal as filepath is user controlled, and ultimately flows into os.Mkdir and os.Open.
```
router.PUT("/upload/:runId", func(w http.ResponseWriter, req *http.Request, params httprouter.Params) {
itemPath := req.URL.Query().Get("itemPath")
runID := params.ByName("runId")
if req.Hea
OSV
act vulnerable to arbitrary file upload in artifact server
osv·2023-01-20
CVE-2023-22726 [HIGH] act vulnerable to arbitrary file upload in artifact server
act vulnerable to arbitrary file upload in artifact server
### Impact
The artifact server that stores artifacts from Github Action runs does not sanitize path inputs. This allows an attacker to download and overwrite arbitrary files on the host from a Github Action. This issue may lead to privilege escalation.
#### Issue 1: Arbitrary file upload in artifact server (GHSL-2023-004)
The [/upload endpoint](https://github.com/nektos/act/blob/v0.2.35/pkg/artifacts/server.go#LL103C2-L103C2) is vulnerable to path traversal as filepath is user controlled, and ultimately flows into os.Mkdir and os.Open.
```
router.PUT("/upload/:runId", func(w http.ResponseWriter, req *http.Request, params httprouter.Params) {
itemPath := req.URL.Query().Get("itemPath")
runID := params.ByName("runId")
if req.Hea
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://github.com/nektos/act/blob/master/pkg/artifacts/server.go#L65https://github.com/nektos/act/blob/v0.2.35/pkg/artifacts/server.go#L245https://github.com/nektos/act/blob/v0.2.35/pkg/artifacts/server.go#LL103C2-L103C2https://github.com/nektos/act/commit/63ae215071f94569d910964bdee866d91d6e3a10https://github.com/nektos/act/issues/1553https://github.com/nektos/act/security/advisories/GHSA-pc99-qmg4-rcffhttps://securitylab.github.com/advisories/GHSL-2023-004_act/https://github.com/nektos/act/blob/master/pkg/artifacts/server.go#L65https://github.com/nektos/act/blob/v0.2.35/pkg/artifacts/server.go#L245https://github.com/nektos/act/blob/v0.2.35/pkg/artifacts/server.go#LL103C2-L103C2https://github.com/nektos/act/commit/63ae215071f94569d910964bdee866d91d6e3a10https://github.com/nektos/act/issues/1553https://github.com/nektos/act/security/advisories/GHSA-pc99-qmg4-rcffhttps://securitylab.github.com/advisories/GHSL-2023-004_act/
2023-01-20
Published