Sploitus

Exploit for CVE-2026-60004

kitploit ยท 2026-08-27

Exploit Code

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

![ChatGPT Image Jul 30, 2026, 11_32_26 PM](https://assets.kitploit.com/production/public/readmes/46438/1272aad5ec5ebe9d03ac233c72fd9acfe23b6cb0ee7745d2d677d8b7044cb2e7.png)

### Gitea์˜ `diffpatch` Git ํ›…์„ ํ†ตํ•œ ์น˜๋ช…์  ์›๊ฒฉ ์ฝ”๋“œ ์‹คํ–‰

![](https://img.shields.io/badge/CVE-CVE--2026--60004-red?style=for-the-badge) ![](https://img.shields.io/badge/Severity-Critical-darkred?style=for-the-badge) ![](https://img.shields.io/badge/CVSS-9.8%20Critical-orange?style=for-the-badge) ![](https://img.shields.io/badge/Product-Gitea-blue?style=for-the-badge) ![](https://img.shields.io/badge/Status-Patched-success?style=for-the-badge)

_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 ์ธ์Šคํ„ด์Šค๋Š” ์‹ฌ๊ฐํ•œ ์œ„ํ—˜์— ์ฒ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

โญ ์ตœ์‹  ๋ณด์•ˆ ๊ถŒ๊ณ ๋ฅผ ํ™•์ธํ•˜๊ณ  ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํŒจ์น˜๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜์„ธ์š”.