Sploitus

Exploit for CVE-2026-7867-disk2root

kitploit Β· 2026-08-25

Exploit Code

MARKDOWN678 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-AZQZAZQ1-CVE-2026-7867-DISK2ROOT
![](https://capsule-render.vercel.app/api?type=waving&color=0:8B0000,35:DC143C,70:FF4500,100:111111&height=240%C2%A7ion=header&text=CVE-2026-7867&fontSize=58&fontColor=ffffff&animation=fadeIn&fontAlignY=36&desc=udisks2%20Local%20Privilege%20Escalation%20via%20as-user%20Mount%20Spoofing&descSize=17&descAlignY=58)   
![](https://img.shields.io/badge/CVE-2026--7867-ff0033?style=for-the-badge&logo=redhat&logoColor=white&labelColor=111111) ![](https://img.shields.io/badge/Component-udisks2-cc0000?style=for-the-badge&logo=linux&logoColor=white&labelColor=111111) ![](https://img.shields.io/badge/Impact-Local%20Privilege%20Escalation-ff4500?style=for-the-badge&logo=gnubash&logoColor=white&labelColor=111111) ![](https://img.shields.io/badge/Status-Private%20Research-f39c12?style=for-the-badge&logo=gitbook&logoColor=white&labelColor=111111)

  
  


![](https://img.shields.io/badge/Vector-D--Bus%20Filesystem.Mount-8B0000?style=flat-square) ![](https://img.shields.io/badge/Primitive-as--user%20Spoofing-B22222?style=flat-square) ![](https://img.shields.io/badge/Bypass-PolicyKit%20Flow-DC143C?style=flat-square) ![](https://img.shields.io/badge/Result-root%20context%20mount-FF4500?style=flat-square)

  
  


### Filesystem.Mount β†’ `as-user` μŠ€ν‘Έν•‘ β†’ κΆŒν•œ λΆ€μ—¬ 우회 β†’ 루트 μ»¨ν…μŠ€νŠΈ 마운트 β†’ LPE

* * *

## κ°œμš”

**CVE-2026-7867** 은 `Filesystem.Mount` D-Bus λ©”μ„œλ“œ, `as-user` μ˜΅μ…˜, fstab 관리 마운트 흐름 및 결함이 μžˆλŠ” κΆŒν•œ λΆ€μ—¬ μ²˜λ¦¬μ™€ κ΄€λ ¨λœ **udisks2** 의 둜컬 κΆŒν•œ μƒμŠΉ μ·¨μ•½μ μž…λ‹ˆλ‹€.

이 λΉ„κ³΅κ°œ μ €μž₯μ†Œμ—λŠ” ν†΅μ œλœ μ‹€ν—˜μ‹€ ν™˜κ²½μ—μ„œ ν•΄λ‹Ή 문제λ₯Ό κ²€μ¦ν•˜λŠ” 데 μ‚¬μš©λœ 기술 연ꡬ λ…ΈνŠΈμ™€ PoC μŠ€ν¬λ¦½νŠΈκ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

이 취약점은 λ‹€μŒ μ—°κ΅¬μžμ— μ˜ν•΄ 발견 및 λ³΄κ³ λ˜μ—ˆμŠ΅λ‹ˆλ‹€:

**Azizcan Daştan**| `azqzazq1`  
---|---  
**Γ–zlem Ozan**| `oz7oz7`  
  
이 λ¬Έμ œμ—λŠ” λ‹€μŒ CVE IDκ°€ ν• λ‹Ήλ˜μ—ˆμŠ΅λ‹ˆλ‹€:

root@kitploit:~
    
    
    CVE-2026-7867
    

* * *

## 핡심 μš”μ•½

이 취약점은 **μ‹€μ œ D-Bus 호좜자 UID** 와 **`as-user` 마운트 μ˜΅μ…˜μœΌλ‘œ μƒμ„±λœ 계산/유효 UID** μ‚¬μ΄μ˜ 잘λͺ»λœ μ‹ λ’° κ΄€κ³„λ‘œ 인해 λ°œμƒν•©λ‹ˆλ‹€.

μ·¨μ•½ν•œ νλ¦„μ—μ„œ κΆŒν•œμ΄ μ—†λŠ” 둜컬 μ‚¬μš©μžλŠ” 마운트 μ‹€ν–‰ κ²½λ‘œμ— 영ν–₯을 μ£Όμ–΄ μ˜ˆμƒλœ PolicyKit κΆŒν•œ λΆ€μ—¬ λ™μž‘ 없이 νŒŒμΌμ‹œμŠ€ν…œ λ§ˆμš΄νŠΈκ°€ κΆŒν•œ μžˆλŠ”/루트 μ»¨ν…μŠ€νŠΈμ—μ„œ μˆ˜ν–‰λ˜λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

핡심 λ²„κ·ΈλŠ” λ‹¨μˆœνžˆ "μ‚¬μš©μžκ°€ μ œμ–΄ν•˜λŠ” 마운트 μ˜΅μ…˜"이 μ•„λ‹™λ‹ˆλ‹€.

μ‹€μ œ λ¬Έμ œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

> `udisks2`λŠ” fstab 마운트 κΆŒν•œ λΆ€μ—¬ 및 μ‹€ν–‰ 쀑에 μ›λž˜ 호좜자 ID와 κ³„μ‚°λœ `as-user` IDλ₯Ό μΌκ΄€λ˜κ²Œ κ΅¬λΆ„ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€.

* * *

## ν•œλˆˆμ— λ³΄λŠ” 취약점

* * *

## 영ν–₯λ°›λŠ” μ˜μ—­

μ·¨μ•½ν•œ λ‘œμ§μ€ `udisks2` λ‚΄λΆ€μ˜ fstab 마운트 처리 κ²½λ‘œμ™€ 관련이 있으며, 특히 마운트 μš”μ²­μ— λ‹€μŒμ΄ 포함될 λ•Œ λ°œμƒν•©λ‹ˆλ‹€:

root@kitploit:~
    
    
    Filesystem.Mount
    as-user
    x-udisks-auth
    user
    users
    

κ΄€λ ¨ λ³΄μ•ˆ 민감 μ˜μ—­μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

root@kitploit:~
    
    
    D-Bus caller identity
            ↓
    as-user option handling
            ↓
    fstab authorization logic
            ↓
    PolicyKit decision flow
            ↓
    root-context mount execution
    

* * *

## 곡격 흐름

root@kitploit:~
    
    
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Unprivileged Local User     β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
                   β”‚ Filesystem.Mount
                   β”‚ with as-user influence
                   β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ udisks2 / udisksd           β”‚
    β”‚ privileged system daemon    β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
                   β”‚ fstab logic evaluates
                   β”‚ user/auth options
                   β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Authorization Gap           β”‚
    β”‚ mount_other_user not        β”‚
    β”‚ enforced in skipped path    β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
                   β”‚ root-context branch reached
                   β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Filesystem Mounted          β”‚
    β”‚ without expected auth flow  β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
                   β”‚ impact depends on mount flags
                   β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Local Privilege Escalation  β”‚
    β”‚ controlled lab validation   β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    

* * *

## κ·Όλ³Έ 원인

μ·¨μ•½ν•œ λ™μž‘μ€ ID ν˜Όλ™ λ²„κ·Έμ—μ„œ λΉ„λ‘―λ©λ‹ˆλ‹€.

μ‹œμŠ€ν…œμ—λŠ” μ—¬λŸ¬ ID κ°œλ…μ΄ μžˆμŠ΅λ‹ˆλ‹€:

root@kitploit:~
    
    
    real D-Bus caller UID
    computed as-user UID
    effective mount UID
    udisksd daemon privilege context
    

μ·¨μ•½ν•œ 흐름은 μ΄λŸ¬ν•œ IDλ₯Ό μΌκ΄€λ˜κ²Œ κ°•μ œν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€.

특히:

  * `as-user`κ°€ μ‚¬μš©λ˜λ―€λ‘œ `mount_other_user`κ°€ trueκ°€ 될 수 있음
  * `x-udisks-auth`, `user` λ˜λŠ” `users`와 같은 fstab μ˜΅μ…˜μ΄ κΆŒν•œ λΆ€μ—¬ κ²½λ‘œμ— 영ν–₯을 쀄 수 있음
  * κΆŒν•œ λΆ€μ—¬ 블둝이 κ±΄λ„ˆλ›Έ 수 있음
  * `mount_other_user` 검사가 ν•΄λ‹Ή 블둝 μ™ΈλΆ€μ—μ„œλŠ” μ•ˆμ •μ μœΌλ‘œ κ°•μ œλ˜μ§€ μ•ŠμŒ
  * 마운트 κ²½λ‘œκ°€ μ‹€μ œ 루트/κ΄€λ¦¬μž 싀행을 μœ„ν•œ 뢄기에 도달할 수 있음
  * λ§ˆμš΄νŠΈκ°€ κΆŒν•œ μžˆλŠ” 데λͺ¬ μ»¨ν…μŠ€νŠΈμ— μ˜ν•΄ μˆ˜ν–‰λ¨



κ·Έ κ²°κ³Ό 둜컬 κΆŒν•œ 경계가 μš°νšŒλ©λ‹ˆλ‹€.

* * *

## `x-udisks-auth` 문제

`x-udisks-auth` μ˜΅μ…˜μ€ κ΄€λ¦¬ν˜• PolicyKit κΆŒν•œ λΆ€μ—¬ 흐름을 κ°•μ œν•˜κΈ° μœ„ν•œ κ²ƒμž…λ‹ˆλ‹€.

μ˜ˆμƒ λ™μž‘:

root@kitploit:~
    
    
    mount request
        ↓
    attempt mount as caller
        ↓
    permission/auth failure
        ↓
    PolicyKit filesystem-fstab check
        ↓
    admin approval
        ↓
    mount as authorized privileged action
    

μ·¨μ•½ν•œ λ™μž‘:

root@kitploit:~
    
    
    mount request with as-user influence
        ↓
    computed identity affects execution
        ↓
    mount succeeds too early
        ↓
    PolicyKit auth path is not reached as expected
        ↓
    privileged mount state is achieved
    

이둜 인해 μ·¨μ•½ν•œ κ²½λ‘œμ—μ„œ `x-udisks-auth` κ΄€λ ¨ λ³΄μ•ˆ λͺ¨λΈμ΄ μ‹ λ’°ν•  수 μ—†κ²Œ λ©λ‹ˆλ‹€.

* * *

## λ³΄μ•ˆ λͺ¨λΈ μœ„λ°˜

μ˜ˆμƒ λͺ¨λΈ:

root@kitploit:~
    
    
    Unprivileged user
        ↓
    D-Bus mount request
        ↓
    PolicyKit / fstab authorization
        ↓
    restricted mount behavior
    

κΉ¨μ§„ λͺ¨λΈ:

root@kitploit:~
    
    
    Unprivileged user
        ↓
    D-Bus mount request with as-user spoofing
        ↓
    authorization logic mismatch
        ↓
    root-context mount execution
    

이 λ²„κ·ΈλŠ” 영ν–₯을 λ°›λŠ” μ„œλΉ„μŠ€κ°€ μƒμŠΉλœ κΆŒν•œμœΌλ‘œ μ‹€ν–‰λ˜κΈ° λ•Œλ¬Έμ— 특히 μ‹¬κ°ν•©λ‹ˆλ‹€.

* * *

## 영ν–₯

성곡적인 μ•…μš© μ‹œ 둜컬의 κΆŒν•œ μ—†λŠ” μ‚¬μš©μžκ°€ μ˜ˆμƒλœ κΆŒν•œ λΆ€μ—¬ ν”„λ‘¬ν”„νŠΈ 없이 `udisks2`λ₯Ό 톡해 루트 μ»¨ν…μŠ€νŠΈ μ‹€ν–‰ κ²½λ‘œμ—μ„œ νŒŒμΌμ‹œμŠ€ν…œμ„ λ§ˆμš΄νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€.

νŒŒμΌμ‹œμŠ€ν…œ 및 마운트 ν”Œλž˜κ·Έμ— 따라 영ν–₯은 λ‹€μŒκ³Ό 같을 수 μžˆμŠ΅λ‹ˆλ‹€:

  * 둜컬 κΆŒν•œ μƒμŠΉ
  * κΆŒν•œ μ—†λŠ” 루트 μ»¨ν…μŠ€νŠΈ νŒŒμΌμ‹œμŠ€ν…œ 마운트
  * μ˜ˆμƒλœ PolicyKit κΆŒν•œ λΆ€μ—¬ 우회
  * μ•ˆμ „ν•˜μ§€ μ•Šμ€ fstab 관리 μž₯치 마운트
  * 영ν–₯λ°›λŠ” μ‹€ν—˜μ‹€ κ΅¬μ„±μ—μ„œ setuid 기반 κΆŒν•œ μƒμŠΉ
  * κ³΅κ²©μžκ°€ μ œμ–΄ν•˜κ±°λ‚˜ μ€€λΉ„ν•œ νŒŒμΌμ‹œμŠ€ν…œμ—μ„œ 예기치 μ•Šμ€ 파일 μ‹€ν–‰



* * *

## μ•…μš© 쑰건

μ΄λŠ” **둜컬** μ·¨μ•½μ μž…λ‹ˆλ‹€.

κ΄€λ ¨ 쑰건은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

* * *

## μ €μž₯μ†Œ ꡬ쑰

root@kitploit:~
    
    
    .
    β”œβ”€β”€ README.md
    β”œβ”€β”€ disk2root.sh              ← main exploit (self-contained LPE)
    └── poc/
        β”œβ”€β”€ setup_lpe_env.sh       ← lab environment setup
        β”œβ”€β”€ f2_mount_as_user_bypass.sh
        β”œβ”€β”€ f2_check_nosuid.sh
        β”œβ”€β”€ f2_suid_test.sh
        β”œβ”€β”€ f2_final.sh
        └── cleanup_lpe_env.sh
    

* * *

## μ΅μŠ€ν”Œλ‘œμž‡ β€” `disk2root.sh`

자체 ν¬ν•¨λœ 무기화 μ΅μŠ€ν”Œλ‘œμž‡μž…λ‹ˆλ‹€. 자체 SUID 루트 νŽ˜μ΄λ‘œλ“œλ₯Ό λΉŒλ“œν•˜κ³ , μ€€λΉ„λœ λ””μŠ€ν¬ 이미지λ₯Ό μƒμ„±ν•œ λ‹€μŒ `as-user=root` polkit 우회λ₯Ό 톡해 λ§ˆμš΄νŠΈν•˜κ³  루트 μ…Έλ‘œ μ „ν™˜ν•©λ‹ˆλ‹€.

### λΉ λ₯Έ μ‹œμž‘

**μ˜΅μ…˜ 1 β€” 루트둜 μ‹€ν–‰ (SSHλ₯Ό ν¬ν•¨ν•œ λͺ¨λ“  ν™˜κ²½μ—μ„œ λ™μž‘):**

root@kitploit:~
    
    
    ./disk2root.sh
    

μŠ€ν¬λ¦½νŠΈλŠ” μžλ™μœΌλ‘œ λ‹€μŒμ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€:

  1. 정적 SUID 루트 μ…Έ λ°”μ΄λ„ˆλ¦¬ 컴파일
  2. 루프 μž₯μΉ˜μ— 32MB ext4 이미지 생성
  3. `debugfs`λ₯Ό 톡해 `uid=0 mode=4755`둜 λ°”μ΄λ„ˆλ¦¬ μ£Όμž…
  4. `x-udisks-auth`κ°€ ν¬ν•¨λœ fstab ν•­λͺ© μΆ”κ°€
  5. `su`λ₯Ό 톡해 κΆŒν•œ μ—†λŠ” μ‚¬μš©μžλ‘œ μ „ν™˜
  6. `as-user=root`둜 `Filesystem.Mount` 호좜 (polkit 우회)
  7. SUID λ°”μ΄λ„ˆλ¦¬ μ‹€ν–‰ β†’ **루트 μ…Έ**
  8. μ’…λ£Œ μ‹œ λͺ¨λ“  ν•­λͺ© 정리



κΆŒν•œ μƒμŠΉμ„ μ‹œμž‘ν•  μ‚¬μš©μžλ₯Ό μ§€μ •ν•˜λ €λ©΄:

root@kitploit:~
    
    
    ./disk2root.sh testuser
    

μ‚¬μš©μžλ₯Ό μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ μŠ€ν¬λ¦½νŠΈλŠ” μ‹œμŠ€ν…œμ˜ 첫 번째 일반 μ‚¬μš©μžλ₯Ό μ„ νƒν•˜κ±°λ‚˜ μž„μ‹œ μ‚¬μš©μžλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

* * *

**μ˜΅μ…˜ 2 β€” κΆŒν•œ μ—†λŠ” μ‚¬μš©μžλ‘œ μ‹€ν–‰ (λ°μŠ€ν¬ν†± / ν™œμ„± μ„Έμ…˜):**

root@kitploit:~
    
    
    ./disk2root.sh
    

ν™œμ„± polkit μ„Έμ…˜(λ°μŠ€ν¬ν†± 둜그인, GNOME/KDE)이 μžˆλŠ” μ‹œμŠ€ν…œμ—μ„œλŠ” μŠ€ν¬λ¦½νŠΈκ°€ μ™„μ „νžˆ 자체 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€ β€” `udisksctl` λ˜λŠ” D-Bus `LoopSetup`을 톡해 자체 루프 μž₯치λ₯Ό μƒμ„±ν•˜κ³  `as-user=root`둜 λ§ˆμš΄νŠΈν•˜μ—¬ 사전 μ„€μ • 없이 κΆŒν•œμ„ μƒμŠΉμ‹œν‚΅λ‹ˆλ‹€.

* * *

**μ˜΅μ…˜ 3 β€” κΆŒν•œ μ—†λŠ” μ‚¬μš©μžλ‘œ μ‹€ν–‰ (SSH, μ„€μ • 이후):**

ν™˜κ²½μ΄ 이미 μ€€λΉ„λœ 경우(예: 루트둜 `poc/setup_lpe_env.sh`λ₯Ό μ‹€ν–‰ν–ˆκ±°λ‚˜ 이전에 루트둜 `./disk2root.sh`λ₯Ό μ‹€ν–‰ν•œ 경우), λͺ¨λ“  κΆŒν•œ μ—†λŠ” μ‚¬μš©μžκ°€ λ‹€μ‹œ μ•…μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

root@kitploit:~
    
    
    ./disk2root.sh
    

μŠ€ν¬λ¦½νŠΈλŠ” μ·¨μ•½ν•œ fstab ν•­λͺ©μ„ μžλ™μœΌλ‘œ κ°μ§€ν•˜μ—¬ μ‚¬μš©ν•©λ‹ˆλ‹€.

* * *

### 정리

root@kitploit:~
    
    
    ./disk2root.sh --cleanup
    

λͺ¨λ“  μ‚°μΆœλ¬Όμ„ μ œκ±°ν•©λ‹ˆλ‹€: fstab ν•­λͺ©, 루프 μž₯치, 마운트 지점, μž„μ‹œ μ‚¬μš©μž.

* * *

### μ „λž΅ μ‹€ν–‰ μˆœμ„œ

κΆŒν•œ μ—†λŠ” μ‚¬μš©μžλ‘œ μ‹€ν–‰λ˜λ©΄ μŠ€ν¬λ¦½νŠΈλŠ” λ‹€μŒ μ—¬λŸ¬ 경둜λ₯Ό μˆœμ„œλŒ€λ‘œ μ‹œλ„ν•©λ‹ˆλ‹€:

root@kitploit:~
    
    
    [A] Self-contained
        build payload β†’ create ext4 image β†’ debugfs inject SUID binary
        β†’ loop-setup (python3 GIO / udisksctl) β†’ mount as-user=root
        βœ“ works on desktop sessions
    
    [B] Fstab fallback
        scan /etc/fstab for x-udisks-auth / user / users entries
        β†’ mount as-user=root β†’ find SUID binary on mounted fs
        βœ“ works on SSH when environment is prepared
    

* * *

### 좜λ ₯ μ˜ˆμ‹œ

root@kitploit:~
    
    
    ╔═════════════════════════════════════════════════════╗
    β•‘  CVE-2026-7867 β€” disk2root                          β•‘
    β•‘  udisks2 as-user polkit bypass β†’ LPE root shell     β•‘
    β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
    
    [*] uid=1002 (testuser) β€” exploiting...
        fstab: /dev/loop5 β†’ /mnt/disk2root (x-udisks-auth)
        mounted: /mnt/disk2root
        nosuid: not set
        suid: pwn (4755 root:root)
    
    ╔═════════════════════════════════════════════════════╗
    β•‘  dropping into root shell β€” type 'exit' to return   β•‘
    β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
    
    [+] root shell β€” uid=0 euid=0
    root@target:/tmp#
    

* * *

### μš”κ΅¬ 사항

* * *

## PoC 슀크립트 (`poc/`)

연ꡬ 쀑 μ‚¬μš©λœ κ°œλ³„ 검증 μŠ€ν¬λ¦½νŠΈμž…λ‹ˆλ‹€. 이듀은 `disk2root.sh`둜 이어진 ꡬ성 μš”μ†Œμž…λ‹ˆλ‹€.

### μ‹€ν—˜μ‹€ 흐름 (κ°œλ³„ PoC 슀크립트 μ‚¬μš©)

root@kitploit:~
    
    
    1. Run poc/setup_lpe_env.sh as root
    2. su - testuser
    3. Run poc/f2_mount_as_user_bypass.sh
    4. Run poc/f2_final.sh for full validation
    5. Run poc/cleanup_lpe_env.sh as root
    

λ˜λŠ” μœ„μ˜ λͺ¨λ“  κΈ°λŠ₯을 κ²°ν•©ν•œ `disk2root.sh`λ₯Ό μ‚¬μš©ν•˜λ©΄ λ©λ‹ˆλ‹€.

* * *

## 기술 ν”„λ¦¬λ―Έν‹°λΈŒ

이 μ—°κ΅¬μ—μ„œ μž…μ¦λœ ν”„λ¦¬λ―Έν‹°λΈŒλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

root@kitploit:~
    
    
    as-user option spoofing inside privileged mount orchestration
    

핡심 μ „ν™˜ 과정은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

root@kitploit:~
    
    
    unprivileged D-Bus caller
            ↓
    spoofed/computed mount identity
            ↓
    authorization path confusion
            ↓
    root-context mount execution
    

이것이 이 λ¬Έμ œκ°€ 둜컬 κΆŒν•œ μƒμŠΉ μ·¨μ•½μ μœΌλ‘œ λΆ„λ₯˜λ˜λŠ” μ΄μœ μž…λ‹ˆλ‹€.

* * *

## 이 버그가 μ€‘μš”ν•œ 이유

`udisks2`λŠ” 일반적으둜 κΆŒν•œ μžˆλŠ” μŠ€ν† λ¦¬μ§€ 관리 데λͺ¬μœΌλ‘œ μ‹ λ’°λ©λ‹ˆλ‹€.

이 κ³„μΈ΅μ˜ λ²„κ·ΈλŠ” λ‹€μŒ 사이에 μœ„μΉ˜ν•˜κΈ° λ•Œλ¬Έμ— 영ν–₯λ ₯이 ν½λ‹ˆλ‹€:

root@kitploit:~
    
    
    desktop/session users
    D-Bus method calls
    PolicyKit authorization
    filesystem mount operations
    root daemon privileges
    

μ—¬κΈ°μ„œ ID 처리의 결함은 둜컬 κΆŒν•œ 경계에 직접적인 영ν–₯을 쀄 수 μžˆμŠ΅λ‹ˆλ‹€.

* * *

## 탐지 아이디어

λ°©μ–΄μžλŠ” `as-user`와 κ΄€λ ¨λœ μ˜μ‹¬μŠ€λŸ¬μš΄ `udisks2` 마운트 ν™œλ™μ„ λͺ¨λ‹ˆν„°λ§ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μœ μš©ν•œ ν…”λ ˆλ©”νŠΈλ¦¬ μ†ŒμŠ€:

root@kitploit:~
    
    
    udisksd logs
    D-Bus method calls
    PolicyKit logs
    mount table changes
    /proc/mounts
    /etc/fstab
    journalctl
    

μœ μš©ν•œ λͺ…λ Ή:

root@kitploit:~
    
    
    findmnt
    mount
    cat /proc/mounts
    journalctl -u udisks2
    journalctl | grep -i udisks
    journalctl | grep -i polkit
    

μ˜μ‹¬μŠ€λŸ¬μš΄ νŒ¨ν„΄:

root@kitploit:~
    
    
    non-root user triggering Filesystem.Mount
    as-user=root usage
    unexpected mount without PolicyKit prompt
    mounts lacking nosuid/noexec/nodev
    setuid execution from recently mounted filesystems
    unexpected loop device mounts
    

* * *

## μ™„ν™”

### `udisks2` μ—…λ°μ΄νŠΈ

곡급업체가 μ œκ³΅ν•˜λŠ” μˆ˜μ • 사항이 제곡되면 μ μš©ν•˜μ‹­μ‹œμ˜€.

μ˜ˆμ •λœ μˆ˜μ • 릴리슀:

root@kitploit:~
    
    
    udisks 2.11.2
    

* * *

### fstab ν•­λͺ© κ²€ν† 

λ‹€μŒμ„ μ‚¬μš©ν•˜λŠ” ν•­λͺ©μ„ κ°μ‚¬ν•˜μ‹­μ‹œμ˜€:

root@kitploit:~
    
    
    x-udisks-auth
    user
    users
    

특히 μ‹€ν–‰ 파일 λ˜λŠ” setuid μ½˜ν…μΈ λ₯Ό 포함할 수 μžˆλŠ” νŒŒμΌμ‹œμŠ€ν…œμ„ κ²€ν† ν•˜μ‹­μ‹œμ˜€.

* * *

### 둜컬 μ…Έ μ ‘κ·Ό μ œν•œ

μ΄λŠ” 둜컬 μ·¨μ•½μ μ΄λ―€λ‘œ μ‹ λ’°ν•  수 μ—†λŠ” 둜컬 접근을 쀄이면 λ…ΈμΆœμ΄ κ°μ†Œν•©λ‹ˆλ‹€.

* * *

### 마운트 ν™œλ™ λͺ¨λ‹ˆν„°λ§

λ‹€μŒμ„ 톡해 예기치 μ•Šμ€ 마운트 μž‘μ—…μ„ λͺ¨λ‹ˆν„°λ§ν•˜μ‹­μ‹œμ˜€:

root@kitploit:~
    
    
    udisksd
    

특히 λΉ„λ£¨νŠΈ μ‚¬μš©μžκ°€ νŠΈλ¦¬κ±°ν•  λ•Œ λ”μš± μ£Όμ˜ν•˜μ‹­μ‹œμ˜€.

* * *

### 더 μ•ˆμ „ν•œ 마운트 ν”Œλž˜κ·Έ 적용

ν•΄λ‹Ήλ˜λŠ” 경우 λ‹€μŒμ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€:

root@kitploit:~
    
    
    nosuid
    noexec
    nodev
    

μ΄λŸ¬ν•œ ν”Œλž˜κ·ΈλŠ” 마운트 ν›„ 영ν–₯을 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€.

* * *

### PolicyKit κ·œμΉ™ κ°•ν™”

udisks 마운트 μž‘μ—…κ³Ό κ΄€λ ¨λœ PolicyKit κ·œμΉ™μ„ κ²€ν† ν•˜μ‹­μ‹œμ˜€.

κΆŒν•œ μ—†λŠ” μ‚¬μš©μžκ°€ λͺ…μ‹œμ  κΆŒν•œ λΆ€μ—¬ 없이 λ―Όκ°ν•œ 마운트 경둜λ₯Ό νŠΈλ¦¬κ±°ν•  수 없도둝 ν•˜μ‹­μ‹œμ˜€.

* * *

## μˆ˜μ • λ°©ν–₯

κ°•λ ₯ν•œ μˆ˜μ • 사항은 λ‹€μŒμ„ 보μž₯ν•΄μ•Ό ν•©λ‹ˆλ‹€:

  * μ›λž˜ D-Bus 호좜자 UIDκ°€ 보쑴됨
  * κ³„μ‚°λœ `as-user` UIDκ°€ κΆŒν•œ λΆ€μ—¬ μ‹œ 호좜자 IDλ₯Ό λŒ€μ²΄ν•˜μ§€ μ•ŠμŒ
  * `mount_other_user`κ°€ 항상 μ μ ˆν•œ PolicyKit 검사λ₯Ό νŠΈλ¦¬κ±°ν•¨
  * 루트 μ»¨ν…μŠ€νŠΈ 마운트 싀행이 μ§„μ •ν•œ 인증된 루트/κ΄€λ¦¬μž νλ¦„μœΌλ‘œ μ œν•œλ¨
  * `x-udisks-auth`κ°€ 인증을 μΌκ΄€λ˜κ²Œ κ°•μ œν•¨
  * μ•”ν˜Έν™”λœ νŒŒμΌμ‹œμŠ€ν…œ μ²˜λ¦¬μ™€ 같은 κ΄€λ ¨ μ½”λ“œ κ²½λ‘œκ°€ 감사됨



* * *

## 곡개 νƒ€μž„λΌμΈ

* * *

## ν¬λ ˆλ”§

* * *

## 곡개 릴리슀 κ³„νš

μ— λ°”κ³  ν•΄μ œ ν›„ 이 μ €μž₯μ†ŒλŠ” λ‹€μŒ ꡬ쑰의 곡개 연ꡬ μ €μž₯μ†Œλ‘œ μ „ν™˜λ  수 μžˆμŠ΅λ‹ˆλ‹€:

root@kitploit:~
    
    
    docs/
    β”œβ”€β”€ technical-analysis.md
    β”œβ”€β”€ root-cause.md
    β”œβ”€β”€ lab-setup.md
    β”œβ”€β”€ exploit-flow.md
    β”œβ”€β”€ detection.md
    └── mitigation.md
    

ꢌμž₯ 곡개 μΆ”κ°€ ν•­λͺ©:

  * 곡식 CVE 링크
  * Red Hat ꢌ고 링크
  * μ—…μŠ€νŠΈλ¦Ό 패치 링크
  * 영ν–₯/μˆ˜μ • 버전 맀트릭슀
  * μ•ˆμ „ν•œ μž¬ν˜„ κ°€μ΄λ“œ
  * ν†΅μ œλœ PoC μ‚¬μš© λ©”λͺ¨
  * 탐지 및 κ°•ν™” κ°€μ΄λ“œ



* * *

## λ©΄μ±… μ‘°ν•­

이 μ €μž₯μ†ŒλŠ” 승인된 λ³΄μ•ˆ 연ꡬ, 곡급업체 μ‘°μ • 및 방어적 검증 μ „μš©μž…λ‹ˆλ‹€.

PoC μŠ€ν¬λ¦½νŠΈλŠ” 격리된 ν…ŒμŠ€νŠΈ ν™˜κ²½μ„ λŒ€μƒμœΌλ‘œ ν•©λ‹ˆλ‹€.

μ†Œμœ ν•˜μ§€ μ•Šμ•˜κ±°λ‚˜ ν…ŒμŠ€νŠΈμ— λŒ€ν•œ λͺ…μ‹œμ  ν—ˆκ°€κ°€ μ—†λŠ” μ‹œμŠ€ν…œμ—μ„œ μ΄λŸ¬ν•œ 슀크립트λ₯Ό μ‹€ν–‰ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

μ €μžλŠ” 이 μ—°κ΅¬μ˜ μ˜€μš©μ— λŒ€ν•΄ μ±…μž„μ„ μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

* * *

![](https://capsule-render.vercel.app/api?type=waving&color=0:111111,40:8B0000,75:DC143C,100:FF4500&height=120%C2%A7ion=footer)   


**CVE-2026-7867**  
udisks2 둜컬 κΆŒν•œ μƒμŠΉ 연ꡬ

  
  


![](https://img.shields.io/badge/Linux-LPE-red?style=for-the-badge&logo=linux&logoColor=white&labelColor=111111) ![](https://img.shields.io/badge/D--Bus-Filesystem.Mount-orange?style=for-the-badge&labelColor=111111) ![](https://img.shields.io/badge/PolicyKit-Bypass-darkred?style=for-the-badge&labelColor=111111)