## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-0XER0-CVE-2026-31431-COPY-FAIL-ADD-ARM64
## ์ทจ์ฝ์ ๊ฐ์
ํญ๋ชฉ| ๋ด์ฉ
---|---
CVE ๋ฒํธ| CVE-2026-31431
์ทจ์ฝ์ ์ด๋ฆ| Copy Fail
์ทจ์ฝ์ ์ ํ| Linux ์ปค๋ ๋ก์ปฌ ๊ถํ ์์น (LPE)
CVSS 3.1 ์ ์| 7.8 (HIGH)
CWE| CWE-669: Incorrect Resource Transfer Between Spheres
์ํฅ ๋ฒ์| 2017๋
๋ถํฐ 2026๋
4์๊น์ง ๋น๋๋ ๋ชจ๋ Linux ์ปค๋
CISA KEV| ๋ฑ์ฌ๋จ, ์์ ๊ธฐํ 2026-05-15
๊ณต๊ฐ ์๊ฐ| 2026-04-29
### ์ทจ์ฝ์ ์๋ฆฌ
2017๋
์ปค๋์ `algif_aead` ์ํธํ ๋ชจ๋์ ์ ์๋ฆฌ ์ํธํ ์ต์ ํ(in-place optimization)๋ฅผ ๋์
ํ์ต๋๋ค. ์ด ์ต์ ํ๋ก ์ธํด page-cache ํ์ด์ง๊ฐ ์๋ชปํ์ฌ ์ฐ๊ธฐ ๊ฐ๋ฅํ ๋์ scatterlist์ ํฌํจ๋ฉ๋๋ค. ๊ณต๊ฒฉ์๋ `AF_ALG` ์์ผ๊ณผ `splice()` ์์คํ
์ฝ์ ์กฐํฉํ์ฌ ์์ ํ์ผ(root ์์ ์ ์ฝ๊ธฐ ์ ์ฉ ํ์ผ ํฌํจ)์ page cache์ ๋ฐ์ดํฐ๋ฅผ ์ธ ์ ์์ต๋๋ค.
**๊ณต๊ฒฉ ์ฒด์ธ** : `AF_ALG socket` โ `splice()` โ page-cache ์ฐ๊ธฐ ํ๋ฆฌ๋ฏธํฐ๋ธ โ setuid ๋ฐ์ด๋๋ฆฌ page cache ๋ณ์กฐ โ ํด๋น ํ์ผ ์คํ์ผ๋ก root ๊ถํ ํ๋
**๊ณต๊ฒฉ ํน์ง** :
* ๊ฒฝ์ ์กฐ๊ฑด ์์(race condition์ด ์๋ ์ง์ ์ ์ธ ๋
ผ๋ฆฌ ๊ฒฐํจ)
* ์ปค๋ ๋๋ฒ๊ทธ ๊ธฐ๋ฅ ๋ถํ์
* ํน์ ์ํคํ
์ฒ ์คํ์
์กฐ์ ๋ถํ์
* ๋ฒ์ฉ ์ต์คํ๋ก์ ์คํฌ๋ฆฝํธ๋ ์ฝ 732๋ฐ์ดํธ์ ๋ถ๊ณผํ๋ฉฐ ๋ชจ๋ ์ฃผ์ ๋ฐฐํฌํ์์ ์ ํจ
* * *
## ์ํฅ ๋ฒ์
### ๊ฒ์ฆ๋ ์ํฅ ๋ฐฐํฌํ
๋ฐฐํฌํ| ์ํฅ ์ปค๋ ๋ฒ์
---|---
Ubuntu 24.04 LTS| 6.17.0-1007-aws
Amazon Linux 2023| 6.18.8-9.213.amzn2023
RHEL 10.1| 6.12.0-124.45.1.el10_1
SUSE 16| 6.12.0-160000.9-default
Debian, Arch, Fedora, Rocky, Alma, Oracle ๋ฑ์ ๋ฐฐํฌํ์์๋ ๋์ผํ ์ปค๋ ๋ฒ์๊ฐ ์ํฅ์ ๋ฐ์ต๋๋ค.
### ์ํฅ ์ปค๋ ๋ฒ์ ๋ฒ์
์ปค๋ ๋ฒ์ ์ด ์๋ ์์ ๋ฒ์ ๋ณด๋ค ๋ฎ์ ๊ฒฝ์ฐ ๋ชจ๋ ์ํฅ ๋ฒ์์ ํด๋นํฉ๋๋ค:
* * *
## ์ง๋จ ๋ฐฉ๋ฒ
### 1\. ์ปค๋ ๋ฒ์ ํ์ธ
root@kitploit:~
uname -r
์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ ํ์ ์์ ๋ฒ์ ๊ณผ ๋น๊ตํ์ฌ, ์์ ๋ฒ์ ๋ณด๋ค ๋ฎ์ผ๋ฉด ์ํฅ ๋ฒ์์ ํด๋นํฉ๋๋ค.
### 2\. AF_ALG ์ฐ๊ฒฐ ํ์ธ
root@kitploit:~
# ํ์ฌ AF_ALG ์ฐ๊ฒฐ์ด ์๋์ง ํ์ธ
lsof | grep AF_ALG
# AF_ALG socket ์ํ ํ์ธ
ss -xa | grep alg
### 3\. algif_aead ๋ชจ๋ ๋ก๋ ์ฌ๋ถ ํ์ธ
root@kitploit:~
lsmod | grep algif_aead
์ถ๋ ฅ์ด ์์ผ๋ฉด ๋ชจ๋์ด ๋ก๋๋ ๊ฒ์ด๋ฉฐ, ์
์ฉ ์ํ์ด ์กด์ฌํฉ๋๋ค.
### 4\. ์ทจ์ฝ์ ๊ฒ์ฆ(์น์ธ๋ ํ
์คํธ ํ๊ฒฝ์์๋ง)
root@kitploit:~
# PoC ์ ์ฅ์ ํด๋ก
git clone https://github.com/cx330zer0/CVE-2026-31431-Copy-Fail-add-arm64.git
cd CVE-2026-31431-Copy-Fail-add-arm64
# PoC ์คํ(๋นํน๊ถ ์ฌ์ฉ์ ๊ถํ ํ์)
python3 copy-fail-dual-arch.py

PoC๊ฐ ์ฑ๊ณต์ ์ผ๋ก root ์
ธ์ ํ๋ํ๋ฉด ์์คํ
์ ํด๋น ์ทจ์ฝ์ ์ด ์กด์ฌํจ์ ์๋ฏธํฉ๋๋ค.