Sploitus

Exploit for wg.copyfail.patch

kitploit Β· 2026-08-27

Exploit Code

MARKDOWN43 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-WGNET-WG.COPYFAIL.PATCH
# CVE-2026-31431, 일λͺ… Copy.Fail eBPF 우회 쑰치

## μ™œ μ€‘μš”ν•œκ°€

이 CVEλŠ” μΈκ°€λœ μ‚¬μš©μžκ°€ 읽을 수 μžˆλŠ” 파일의 μΊμ‹œ 볡사본을 λ³€κ²½ν•  수 있게 ν•˜μ—¬, 둜컬 κΆŒν•œ μƒμŠΉ(일λͺ… 둜컬 루트 μ΅μŠ€ν”Œλ‘œμž‡), μƒŒλ“œλ°•μŠ€/μ»¨ν…Œμ΄λ„ˆ νƒˆμΆœ 및 기타 문제λ₯Ό μ΄ˆλž˜ν•©λ‹ˆλ‹€. μ΄λŠ” algif* 컀널 λͺ¨λ“ˆμ΄ μ œκ³΅ν•˜λŠ” **AF_ALG** μ†ŒμΌ“μ„ μƒμ„±ν•˜μ—¬ μž‘λ™ν•©λ‹ˆλ‹€.

ν˜„μž¬ μ•Œλ €μ§„ 일반적인 우회 μ‘°μΉ˜λŠ” **algif_aead** λͺ¨λ“ˆμ„ λΉ„ν™œμ„±ν™”ν•˜λŠ” 것을 ꢌμž₯ν•˜μ§€λ§Œ, Fedora Linux, Oracle Linux 및 기타 RHEL 계열 배포판처럼 λͺ¨λ“ˆμ΄ 컀널에 λ‚΄μž₯된 κ²½μš°μ—λŠ” λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€. λ˜ν•œ 일뢀 μ—…μŠ€νŠΈλ¦Όμ€ μ—¬μ „νžˆ νŒ¨μΉ˜κ°€ μ μš©λ˜μ§€ μ•Šμ€ μƒνƒœμž…λ‹ˆλ‹€. 즉, 컀널을 νŒ¨μΉ˜ν•  λ•ŒκΉŒμ§€ μ‹œμŠ€ν…œμ€ μ·¨μ•½ν•œ μƒνƒœλ‘œ 남아 μžˆμŠ΅λ‹ˆλ‹€.

## ν•΄κ²° 방법

이 νŒ¨ν‚€μ§€λŠ” 두 κ°€μ§€ eBPF ν”„λ‘œκ·Έλž¨μ„ μ œκ³΅ν•©λ‹ˆλ‹€:

  * **ebpf-alg-socket-filter** : eBPF/LSM 컀널 λ©”μ»€λ‹ˆμ¦˜μœΌλ‘œ AF_ALG μ†ŒμΌ“ 생성을 ν•„ν„°λ§ν•©λ‹ˆλ‹€.
  * **ebpf-alg-socket-killer** : AF_ALG μ†ŒμΌ“μ„ μƒμ„±ν•˜λŠ” λͺ¨λ“  ν”„λ‘œκ·Έλž¨μ„ μ’…λ£Œν•©λ‹ˆλ‹€.



컀널에 eBPF LSM λͺ¨λ“ˆμ΄ ν™œμ„±ν™”λ˜μ–΄ μžˆλ‹€λ©΄ 첫 번째 ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•˜λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€. λ‹€μŒ λͺ…λ ΉμœΌλ‘œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

root@kitploit:~
    
    
    cat /sys/kernel/security/lsm
    

`bpf`κ°€ λͺ©λ‘μ— μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.

eBPF LSM λͺ¨λ“ˆμ΄ μ—†λ‹€λ©΄ 두 번째 ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•˜μ„Έμš”. 더 _거친_ λ°©μ‹μ΄μ§€λ§Œ λ™μΌν•˜κ²Œ λ³΄ν˜Έν•©λ‹ˆλ‹€.

## λΉŒλ“œ

  * clang, kernel-headers, libbpf-devel 및 bpftool을 μ„€μΉ˜ν•˜μ„Έμš”.
  * 컀널 ν—€λ”μ—μ„œ vmlinux.hλ₯Ό λ³΅μ‚¬ν•˜μ„Έμš”.
  * `build.sh build`λ₯Ό μ‹€ν–‰ν•˜μ„Έμš”.



## μ‹€ν–‰

  * λ‘œλ“œν•˜λ €λ©΄ `apply.sh load`λ₯Ό μ‹€ν–‰ν•˜μ„Έμš”.
  * μ–Έλ‘œλ“œν•˜λ €λ©΄ `apply.sh unload`λ₯Ό μ‹€ν–‰ν•˜μ„Έμš”.
  * μƒνƒœλ₯Ό ν™•μΈν•˜λ €λ©΄ `apply.sh status`λ₯Ό μ‹€ν–‰ν•˜μ„Έμš”.