Sploitus

Exploit for RK35xx-CopyFail-Hotfix

kitploit ยท 2026-08-27

Exploit Code

MARKDOWN93 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-QENGINEERING-RK35XX-COPYFAIL-HOTFIX
# RK35xx ์ปค๋„ ํŒจ์น˜: CVE-2026-31431 ("Copy Fail")

RK35xx CopyFail ํ•ซํ”ฝ์Šค: **Joshua Riek์˜ Ubuntu 24.04** ์šฉ CVE-2026-31431 ํŒจ์น˜

![fix](https://assets.kitploit.com/production/public/readmes/52962/1a7c628fe7aeaafa1cfe963aa87f1cac44663cf2ac6bfc1a3e1a0381e4ef0f9a/c22f52a0ac8e445b87393556fb3e87c1e9bf249dcd9603b32bc4419b7763fde6-display-v1.webp)  
Joshua Riek์˜ Ubuntu **24.04** (์ปค๋„ 6.1.0-1025-rockchip)์„ ์‹คํ–‰ํ•˜๋Š” **๋ชจ๋“  RK35xx ๋‹จ์ผ ๋ณด๋“œ ์ปดํ“จํ„ฐ(Rock 5, Orange Pi 5, NanoPC ๋“ฑ)**๋ฅผ ์œ„ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ œ๊ณต ์‚ฌ์ „ ์ปดํŒŒ์ผ ์ปค๋„ ํŒจ์น˜์ž…๋‹ˆ๋‹ค.

## ๐Ÿšจ ์ทจ์•ฝ์ 

2026๋…„ 4์›” 29์ผ, **"Copy Fail" (CVE-2026-31431)** ๋กœ ์•Œ๋ ค์ง„ ๋†’์€ ์‹ฌ๊ฐ๋„์˜ ๋กœ์ปฌ ๊ถŒํ•œ ์ƒ์Šน(LPE) ์ทจ์•ฝ์ ์ด ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.  
์ด ๊ฒฐํ•จ์€ ์ปค๋„์˜ ์•”ํ˜ธํ™” ํ•˜์œ„ ์‹œ์Šคํ…œ(`crypto/algif_aead.c`)์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. `AF_ALG` ์†Œ์ผ“ ์ž‘์—…์„ `splice()` ์‹œ์Šคํ…œ ํ˜ธ์ถœ๊ณผ ์—ฐ๊ฒฐํ•จ์œผ๋กœ์จ, ๊ถŒํ•œ์ด ์—†๋Š” ๋กœ์ปฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ปค๋„์˜ ํŽ˜์ด์ง€ ์บ์‹œ์— ์ง์ ‘ ์ œ๋กœ์นดํ”ผ ์“ฐ๊ธฐ๋ฅผ ๊ฐ•์ œํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด setuid-root ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋ฎ์–ด์“ฐ๊ณ  ์ฆ‰์‹œ ๋ฃจํŠธ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.  
  
์ปค๋„ ๊ตฌ์„ฑ(`CONFIG_CRYPTO_USER_API_AEAD=y`)์œผ๋กœ ์ธํ•ด ํ‘œ์ค€ `modprobe` ์™„ํ™” ์ „๋žต์€ ์ด ๋นŒ๋“œ์—์„œ **์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค**.  
์†Œ์Šค ์ˆ˜์ค€์˜ ์ปค๋„ ํŒจ์น˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

## ๐Ÿ›  ์ด ์ €์žฅ์†Œ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

์—…์ŠคํŠธ๋ฆผ Joshua Riek ์ €์žฅ์†Œ๊ฐ€ ํ˜„์žฌ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์–ด, ์‚ฌ์šฉ์ž๋“ค์€ ์ทจ์•ฝํ•œ ์ปค๋„์— ๋ฐœ์ด ๋ฌถ์ธ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.  
SBC ๋ฐ ์—ฃ์ง€ AI ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์˜ค๋žœ ์ง€์ง€์ž๋กœ์„œ Qengineering์€ ๋ฉ”์ธ๋ผ์ธ Linux ์ˆ˜์ • ์‚ฌํ•ญ(์ปค๋ฐ‹ `a664bf3d603d`)์„ ์ˆ˜๋™์œผ๋กœ ๋ฐฑํฌํŠธํ•˜๊ณ , ์ •ํ™•ํ•œ `Ubuntu-rockchip-6.1.0-1025.25` ์†Œ์Šค ํƒœ๊ทธ์—์„œ ์ปค๋„์„ ์žฌ์ปดํŒŒ์ผํ•˜์—ฌ ์ฆ‰์‹œ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฌ๊ธฐ์— ํŒจํ‚ค์ง•ํ–ˆ์Šต๋‹ˆ๋‹ค.

**๋ชจ๋“  ์›๋ž˜ NPU, VPU ๋ฐ ๋„คํŠธ์›Œํ‚น ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ๊ธฐ๋Šฅ์€ 100% ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.**

## ๐Ÿ“ฆ ์„ค์น˜ ์ง€์นจ

Joshua Riek์˜ Ubuntu ์ด๋ฏธ์ง€๋Š” ์—„๊ฒฉํ•˜๊ฒŒ ๋งž์ถคํ™”๋œ U-Boot ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด๋Š” ์›์‹œ(๋น„์••์ถ•) ์ปค๋„ ์ด๋ฏธ์ง€์™€ ํŠน์ • ์žฅ์น˜ ํŠธ๋ฆฌ ๋งคํ•‘์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ์€ ์ €ํฌ๊ฐ€ ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒจ์น˜๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น๋งŒ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

**1\. ํ•„์š”ํ•œ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ:** ๋‹ค์Œ **์„ธ ๊ฐœ** ์˜ ํŒŒ์ผ์„ ๋ณด๋“œ์— ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”:

  * `linux-image-6.1.75-copyfail-patched_*.deb`
  * `linux-headers-6.1.75-copyfail-patched_*.deb`
  * `Image` (์›์‹œ, ๋น„์••์ถ• ์ปค๋„)



root@kitploit:~
    
    
    git clone https://github.com/Qengineering/RK35xx-CopyFail-Hotfix.git
    

**2\. ๋‹ค์šด๋กœ๋“œํ•œ ํŒŒ์ผ์ด ์žˆ๋Š” ํด๋”์—์„œ ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ  ๋‹ค์Œ ๋ช…๋ น ๋ธ”๋ก์„ ์‹คํ–‰ํ•˜์„ธ์š”:**

root@kitploit:~
    
    
    cd RK35xx-CopyFail-Hotfix
    
    # 1. Debian ํŒจํ‚ค์ง€ ์„ค์น˜ (๋ชจ๋“ˆ ๋ฐ initramfs ๊ตฌ์„ฑ)
    sudo dpkg -i linux-image-6.1.75-copyfail-patched_*.deb
    sudo dpkg -i linux-headers-6.1.75-copyfail-patched_*.deb
    
    # 2. ์••์ถ•๋œ ์ปค๋„์„ U-Boot์— ํ•„์š”ํ•œ ์›์‹œ ๋น„์••์ถ• Image๋กœ ๋ฎ์–ด์“ฐ๊ธฐ
    sudo cp Image /boot/vmlinuz-6.1.75-copyfail-patched
    
    # 3. ๊ธฐ์กด ํ•˜๋“œ์›จ์–ด ์žฅ์น˜ ํŠธ๋ฆฌ ์ด์‹
    sudo mkdir -p /lib/firmware/6.1.75-copyfail-patched/
    sudo cp -r /lib/firmware/6.1.0-1025-rockchip/device-tree /lib/firmware/6.1.75-copyfail-patched/
    
    # 4. ๋ถ€ํŠธ๋กœ๋” ๊ตฌ์„ฑ ์žฌ์ƒ์„ฑ
    sudo u-boot-update
    
    # 5. ์‹œ์Šคํ…œ ์žฌ๋ถ€ํŒ…
    sudo reboot
    

## ๐Ÿ” ํˆฌ๋ช…์„ฑ: ์ง์ ‘ ๋นŒ๋“œํ•˜๊ธฐ

์‚ฌ์ „ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•˜์ง€ ์•Š๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด, ์ž์‹ ์˜ ๋ณด๋“œ์—์„œ ์ด ์ •ํ™•ํ•œ ๋นŒ๋“œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.  
Rockchip SDK ์ˆ˜์ •์œผ๋กœ ์ธํ•ด ์—…์ŠคํŠธ๋ฆผ ๋ฉ”์ธ๋ผ์ธ ํŒจ์น˜๋Š” git์„ ํ†ตํ•ด ๊น”๋”ํ•˜๊ฒŒ ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ˆ˜๋™ ์ฝ”๋“œ ํŽธ์ง‘์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

root@kitploit:~
    
    
    # 1. ์ €์žฅ์†Œ ํด๋ก  ๋ฐ ํŠน์ • ํƒœ๊ทธ ์ฒดํฌ์•„์›ƒ
    git clone [https://github.com/Joshua-Riek/linux-rockchip.git](https://github.com/Joshua-Riek/linux-rockchip.git)
    cd linux-rockchip
    git checkout Ubuntu-rockchip-6.1.0-1025.25
    git switch -c copyfail-patch-build
    
    # 2. ์ทจ์•ฝ์  ์ˆ˜๋™ ํŒจ์น˜
    wget "[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/?id=a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/?id=a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5)" -O copy-fail.patch
    # copy-fail.patch๋ฅผ ์—ด๊ณ  ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‹ ์ค‘ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜์„ธ์š”.
    
    # 3. ํ˜„์žฌ ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ ๋ณต์‚ฌ
    cp /boot/config-6.1.0-1025-rockchip .config
    make olddefconfig
    
    # 4. ํŒจํ‚ค์ง€ ์ปดํŒŒ์ผ (Rock 5C์—์„œ ์•ฝ 45~60๋ถ„ ์†Œ์š”)
    make -j$(nproc) bindeb-pkg LOCALVERSION=-copyfail-patched
    
    # 5. ์œ„์˜ ์„ค์น˜ ์ง€์นจ์„ ๋”ฐ๋ฅด๋˜, ์ƒˆ๋กœ ์ปดํŒŒ์ผํ•œ .deb ํŒŒ์ผ๊ณผ
    #    arch/arm64/boot/Image์— ์žˆ๋Š” ๋น„์••์ถ• Image๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.