Sploitus

Exploit for CVE-2026-39987_PoC

kitploit Β· 2026-08-27

Exploit Code

MARKDOWN87 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-WIND010-CVE-2026-39987_POC
# CVE-2026-39987-PoC

**λ©΄μ±… μ‘°ν•­** 이 μŠ€ν¬λ¦½νŠΈλŠ” ꡐ윑 및 승인된 ν…ŒμŠ€νŠΈ λͺ©μ μœΌλ‘œλ§Œ μ‚¬μš©λ©λ‹ˆλ‹€. λͺ…μ‹œμ  ν—ˆκ°€ 없이 μ‹œμŠ€ν…œμ— λŒ€ν•΄ 이 도ꡬλ₯Ό 무단 μ‚¬μš©ν•˜λŠ” 것은 λΆˆλ²•μž…λ‹ˆλ‹€. μž‘μ„±μžλŠ” 이 μ •λ³΄μ˜ μ˜€μš©μ— λŒ€ν•΄ μ–΄λ–€ μ±…μž„λ„ μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

`0.23.0` 이전 λ²„μ „μ˜ Marimoμ—λŠ” 사전 인증 없이 μ•…μš© κ°€λŠ₯ν•œ μ‹¬κ°ν•œ 원격 λͺ…λ Ή μ‹€ν–‰(RCE) 취약점이 μžˆμŠ΅λ‹ˆλ‹€. /terminal/ws μ—”λ“œν¬μΈνŠΈλŠ” μ μ ˆν•œ μ ‘κ·Ό μ œμ–΄λ₯Ό κ΅¬ν˜„ν•˜μ§€ μ•Šμ•„, μΈμ¦λ˜μ§€ μ•Šμ€ κ³΅κ²©μžκ°€ μ‹œμŠ€ν…œμ— λŒ€ν•œ 전체 λŒ€ν™”ν˜• μ…Έ μ•‘μ„ΈμŠ€ κΆŒν•œμ„ 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

μ„ΈλΆ€ 사항| 정보  
---|---  
**CVE**|  CVE-2026-39987  
**심각도**|  CRITICAL  
**CVSS 점수**|  9.3 (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H)  
**μœ ν˜•**|  사전 인증 원격 μ½”λ“œ μ‹€ν–‰ (RCE)  
**벑터**|  WebSocket (`/terminal/ws`)  
**영ν–₯λ°›λŠ” μ œν’ˆ**|  Marimo < 0.23.0  
**패치**|  Marimo β‰₯ 0.23.0  
  
## 식별

### Shodan Dork

http.favicon.hash:-1864630356

### Censys Dork

services.http.response.favicons.hashes: -1864630356

### ν•‘κ±°ν”„λ¦°νŠΈ

  * νŒŒλΉ„μ½˜ ν•΄μ‹œ: `-1864630356`
  * μ—”λ“œν¬μΈνŠΈ 버전: `/api/version`



## μ„€μΉ˜

Python 3.10+κ°€ ν•„μš”ν•©λ‹ˆλ‹€. μ˜μ‘΄μ„±μ€ Astral의 uv둜 κ΄€λ¦¬λ©λ‹ˆλ‹€.

root@kitploit:~
    
    
    # install uv (skip if already installed)
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    uv venv
    uv pip install -r requirements.txt
    

## μ‚¬μš©λ²•

root@kitploit:~
    
    
    uv run poc.py -t <target_url>
    

  * `-t`, `--target_url` (ν•„μˆ˜): λŒ€μƒμ˜ `/terminal/ws` μ—”λ“œν¬μΈνŠΈμ— λŒ€ν•œ WebSocket URIμž…λ‹ˆλ‹€.



root@kitploit:~
    
    
    uv run poc.py -t wss://<target-host>/terminal/ws
    

μ—°κ²°λ˜λ©΄ λŒ€ν™”ν˜• raw pty μ„Έμ…˜μ„ μ–»κ²Œ λ©λ‹ˆλ‹€. λ‘œμ»¬μ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” μΆ”κ°€ λͺ…λ Ήμ–΄(μž…λ ₯ν•œ κ·ΈλŒ€λ‘œ 원격 μ…Έλ‘œ μ „μ†‘λ˜μ§€ μ•ŠμŒ):

λͺ…λ Ήμ–΄| μ„€λͺ…  
---|---  
  
`Ctrl+C`λ₯Ό 눌러 쀑단/μ’…λ£Œν•©λ‹ˆλ‹€.

## μ™„ν™” 쑰치

  * **패치** : Marimoλ₯Ό `>= 0.23.0`으둜 μ—…κ·Έλ ˆμ΄λ“œν•˜μ„Έμš”. `/terminal/ws`의 λˆ„λ½λœ μ ‘κ·Ό μ œμ–΄λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€.
  * **λ„€νŠΈμ›Œν¬ λ…ΈμΆœ μ œν•œ** : Marimo 터미널/νŽΈμ§‘ μ„œλ²„λ₯Ό 인터넷에 직접 λ…ΈμΆœν•˜μ§€ λ§ˆμ„Έμš”. `localhost` λ˜λŠ” λ‚΄λΆ€ μΈν„°νŽ˜μ΄μŠ€μ— λ°”μΈλ”©ν•˜κ³ , 원격 μ•‘μ„ΈμŠ€μ—λŠ” VPN/배슀천 호슀트λ₯Ό μ•žμ— λ‘μ„Έμš”.
  * **인증 μΆ”κ°€** : μ—…κ·Έλ ˆμ΄λ“œκ°€ λ‹Ήμž₯ λΆˆκ°€λŠ₯ν•˜λ‹€λ©΄, `/terminal/ws` 및 기타 API 경둜 μ•žμ—μ„œ 인증을 κ°•μ œν•˜λŠ” λ¦¬λ²„μŠ€ ν”„λ‘μ‹œ(예: OAuth2 ν”„λ‘μ‹œ, mTLS) 뒀에 μ„œλΉ„μŠ€λ₯Ό λ°°μΉ˜ν•˜μ„Έμš”.
  * **λ„€νŠΈμ›Œν¬ 뢄리** : μ‹ λ’°ν•  수 μžˆλŠ” IP/VPN λŒ€μ—­λ§Œ μ ‘κ·Όν•  수 μžˆλ„λ‘ 포트λ₯Ό λ°©ν™”λ²½μœΌλ‘œ μ°¨λ‹¨ν•˜μ„Έμš”.
  * **탐지** : `/terminal/ws`에 λŒ€ν•œ 예기치 μ•Šμ€ WebSocket μ—°κ²°κ³Ό μ„œλ²„ 둜그의 μΈμ¦λ˜μ§€ μ•Šμ€ μ…Έ ν™œλ™μ„ λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”. μœ„μ˜ Shodan/Censys dorkλŠ” λ…ΈμΆœλ˜μ–΄ νŒ¨μΉ˜λ˜μ§€ μ•Šμ€ 자체 μΈμŠ€ν„΄μŠ€λ₯Ό μ°ΎλŠ” 방어적 μš©λ„λ‘œλ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.



### 참고 자료:

  * https://nvd.nist.gov/vuln/detail/CVE-2026-39987
  * https://lyrie.ai/research/research/cve-2026-39987-marimo-pre-auth-rce-root-in-one-request