## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-0XBLACKASH-CVE-2026-60004
# ๐จ CVE-2026-60004 - RCE

### Gitea์ `diffpatch` Git ํ
์ ํตํ ์น๋ช
์ ์๊ฒฉ ์ฝ๋ ์คํ
    
_Git ํ
์คํ์ ์
์ฉํ์ฌ`diffpatch` API ์๋ํฌ์ธํธ๋ฅผ ํตํด ์์ ๋ช
๋ น ์คํ์ ํ์ฉํ๋ ์น๋ช
์ ์ธ ์๊ฒฉ ์ฝ๋ ์คํ(RCE) ์ทจ์ฝ์ ์
๋๋ค._
* * *
# ๐ ๊ฐ์
**CVE-2026-60004** ๋ **Gitea** ์ ์ํฅ์ ๋ฏธ์น๋ **์น๋ช
์ ์ธ ์๊ฒฉ ์ฝ๋ ์คํ(RCE)** ์ทจ์ฝ์ ์
๋๋ค. ์ด ๊ฒฐํจ์ `diffpatch` ์๋ํฌ์ธํธ ๊ตฌํ์ ์กด์ฌํ๋ฉฐ, ํน์ํ๊ฒ ์กฐ์๋ ํจ์น๊ฐ ํจ์น ์ ์ฉ ์ค Git์ ํ
(hook) ๋ฉ์ปค๋์ฆ์ ์
์ฉํ ์ ์์ต๋๋ค.
์ฑ๊ณต์ ์ผ๋ก ์
์ฉํ๋ฉด ์ ์ฅ์ ์ฐ๊ธฐ ๊ถํ์ด ์๋ ์ธ์ฆ๋ ๊ณต๊ฒฉ์๊ฐ Gitea ์๋น์ค ๊ถํ์ผ๋ก Gitea ์๋ฒ์์ ์์ ๋ช
๋ น์ ์คํํ ์ ์์ต๋๋ค.
* * *
# ๐ฅ ์ฌ๊ฐ๋
* * *
# ๐ฏ ์ํฅ๋ฐ๋ ์ ํ
* Gitea **1.17**
* Gitea **1.18**
* Gitea **1.19**
* Gitea **1.20**
* Gitea **1.21**
* Gitea **1.22**
* Gitea **1.23**
* Gitea **1.24**
* Gitea **1.25**
* Gitea **1.26**
* Gitea **1.27.0**
* * *
# โ
์์ ๋ ๋ฒ์
root@kitploit:~
Gitea 1.27.1
* * *
# โก ์ทจ์ฝ์ ์์ฝ
์ด ์ทจ์ฝ์ ์ **`POST /api/v1/repos/{owner}/{repo}/diffpatch`** ์๋ํฌ์ธํธ์์ ๋ฐ์ํฉ๋๋ค.
์
์ฑ ํจ์น๋ ํจ์น ์ฒ๋ฆฌ ์ค ์์ฑ๋ ์์ ์ ์ฅ์์ **Git ํ
** ์ ์ฝ์
ํ ์ ์์ต๋๋ค. ์ดํ Git์ด ์ ์ฅ์ ์์
์ ์คํํ๋ฉด ์ฃผ์
๋ ํ
์ด ์๋์ผ๋ก ์คํ๋์ด ์๋ฒ์์ ์์ ๋ช
๋ น ์คํ์ผ๋ก ์ด์ด์ง๋๋ค.
* * *
# ๐ ๊ณต๊ฒฉ ์๊ตฌ ์ฌํญ
๊ณต๊ฒฉ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์์ด ํ์ํฉ๋๋ค:
* ์ธ์ฆ๋ ๊ณ์
* ์ ์ฅ์ ์์ฑ ๋๋ ์์ ๊ธฐ๋ฅ
* ์ ์ฅ์ ์ฐ๊ธฐ ๊ถํ
> โ ๏ธ ๊ณต๊ฐ ์ฌ์ฉ์ ๋ฑ๋ก์ด ํ์ฑํ๋ ์ธ์คํด์ค๋ ์ํ์ด ํจ์ฌ ๋ ๋์ต๋๋ค.
* * *
# ๐ฅ ์ ์ฌ์ ์ํฅ
์ฑ๊ณต์ ์ผ๋ก ์
์ฉ๋ ๊ฒฝ์ฐ ๊ณต๊ฒฉ์๋ ๋ค์์ ์ํํ ์ ์์ต๋๋ค:
* ์์ ์ด์ ์ฒด์ ๋ช
๋ น ์คํ
* Gitea ์๋ฒ ์์ ์ฅ์
* ๋น๊ณต๊ฐ ์ ์ฅ์ ์ ๊ทผ
* SSH ํค ํ์ทจ
* CI/CD ๋น๋ฐ ์ ๋ณด ํ๋
* API ํ ํฐ ์ถ์ถ
* ๋ฐฐํฌ ์๊ฒฉ ์ฆ๋ช
์ ๊ทผ
* ๋ด๋ถ ์ธํ๋ผ๋ก์ ์ํ ์ด๋
* * *
# ๐ ์
์ฉ ํ๋ฆ
root@kitploit:~
Attacker
โ
โผ
Craft malicious diff patch
โ
โผ
POST /api/v1/repos/.../diffpatch
โ
โผ
Git applies patch
โ
โผ
Malicious Git Hook installed
โ
โผ
Git executes hook
โ
โผ
Arbitrary Command Execution
* * *
# ๐ ๊ณต๊ฒฉ ํ๋ฉด
root@kitploit:~
Internet
โ
โผ
Authenticated User
โ
โผ
diffpatch API
โ
โผ
Temporary Git Repository
โ
โผ
Git Hook Execution
โ
โผ
Remote Code Execution
* * *
# ๐ก ์ํ ์กฐ์น
์ฆ์:
* ์ต์ ๋ฒ์ ์ธ **Gitea 1.27.1** ์ด์์ผ๋ก ์
๊ทธ๋ ์ด๋ํ์ธ์.
* ํ์ํ์ง ์์ผ๋ฉด ๊ณต๊ฐ ๋ฑ๋ก์ ๋นํ์ฑํํ์ธ์.
* ์ ์ฅ์ ์์ฑ์ ์ ํํ์ธ์.
* ์ ์ฅ์ ์ฐ๊ธฐ ๊ถํ์ ์ ํํ์ธ์.
* ๋น์ ์์ ์ธ `diffpatch` ์์ฒญ์ ๋ชจ๋ํฐ๋งํ์ธ์.
* Git ์ ์ฅ์์์ ๋ฌด๋จ ํ
์ ๊ฐ์ฌํ์ธ์.
* ์นจํด๊ฐ ์์ฌ๋๋ฉด ๋
ธ์ถ๋ ์๊ฒฉ ์ฆ๋ช
์ ๊ต์ฒดํ์ธ์.
* * *
# ๐ ์นจํด ์งํ
์กฐ์ฌ์๋ ๋ค์์ ์ฐพ์๋ด์ผ ํฉ๋๋ค:
* ์์์น ๋ชปํ Git ํ
ํ์ผ
* Gitea๊ฐ ์์ฑํ ์์ฌ์ค๋ฌ์ด ์์ ํ๋ก์ธ์ค
* ์ ์ ์๋ ์
ธ ์คํ
* `/diffpatch`์ ๋ํ ๋น์ ์์ ์ธ API ํธ์ถ
* ํ๊ฐ๋์ง ์์ ์ ์ฅ์ ์์
* ์์์น ๋ชปํ ์ธ๋ถ ๋คํธ์ํฌ ์ฐ๊ฒฐ
* * *
# ๐ ์ํ ํ๊ฐ
๋ฒ์ฃผ| ํ๊ฐ
---|---
์
์ฉ ๊ฐ๋ฅ์ฑ| ๐ด ๋งค์ฐ ๋์
์ํฅ| ๐ด ์น๋ช
์
๋ณต์ก๋| ๐ข ๋ฎ์
๊ณต๊ฐ ๋
ธ์ถ| ๐ ๋์
ํจ์น ์ฌ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ| โ
์
* * *
# ๐ ๊ธฐ์ ์ธ๋ถ ์ ๋ณด
* * *
# ๐จ ๋ณด์ ๊ถ์ฅ ์ฌํญ
โ ์ฆ์ ์
๊ทธ๋ ์ด๋ํ์ธ์.
โ API ๋ก๊ทธ๋ฅผ ๋ชจ๋ํฐ๋งํ์ธ์.
โ ์ ์ฅ์ ๊ถํ์ ์ ํํ์ธ์.
โ ์ฌ์ฉํ์ง ์๋ ๋ฑ๋ก ๊ธฐ๋ฅ์ ๋นํ์ฑํํ์ธ์.
โ ์นจํด๊ฐ ์์ฌ๋๋ฉด ๋น๋ฐ ์ ๋ณด๋ฅผ ๊ต์ฒดํ์ธ์.
โ Git ํ
๋ฌด๊ฒฐ์ฑ์ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ์ธ์.
* * *
# ๐ ๋ฉด์ฑ
์กฐํญ
์ด ์ ์ฅ์๋ **๊ต์ก, ๋ฐฉ์ด ๋ฐ ์ฐ๊ตฌ ๋ชฉ์ ์ผ๋ก๋ง** ์ ๊ณต๋ฉ๋๋ค.
์ฌ๊ธฐ์ ํฌํจ๋ ์ ๋ณด๋ ๋ณด์ ์ ๋ฌธ๊ฐ๊ฐ ์ทจ์ฝ์ ์ ์ดํดํ๊ณ , ํ์งํ๋ฉฐ, ์ํํ๋ ๋ฐ ๋์์ ์ฃผ๊ธฐ ์ํ ๊ฒ์
๋๋ค. ๋ช
์์ ์น์ธ ์์ด ์ด ์ ๋ณด๋ฅผ ์์คํ
์ ์ฌ์ฉํ์ง **๋ง์ญ์์ค**.
* * *
### โ ๏ธ ์ฆ์ ํจ์นํ์ธ์ โ ์ธํฐ๋ท์ ๋
ธ์ถ๋ Gitea ์ธ์คํด์ค๋ ์ฌ๊ฐํ ์ํ์ ์ฒํ ์ ์์ต๋๋ค
โญ ์ต์ ๋ณด์ ๊ถ๊ณ ๋ฅผ ํ์ธํ๊ณ ์ํํธ์จ์ด๋ฅผ ํจ์น๋ ์ํ๋ก ์ ์งํ์ธ์.