Sploitus

Exploit for CVE-2026-31431-C

kitploit Β· 2026-08-27

Exploit Code

MARKDOWN83 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-B5NULL-CVE-2026-31431-C
# Copy-Fail Exploit (CVE-2026-31431)

Эксплойт для локального ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° copy-on-write Π² ядрС Linux Ρ‡Π΅Ρ€Π΅Π· сокСты AF_ALG ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ splice.

* * *

## ΠžΠ±Π·ΠΎΡ€

Π­Ρ‚ΠΎΡ‚ эксплойт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ условиС поврСТдСния памяти Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра Π² подсистСмС ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Linux (`AF_ALG`) Π² сочСтании с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ zero-copy (`splice`) для измСнСния ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² памяти.

ΠŸΠ°Ρ‚Ρ‡Π° `/usr/bin/su` Π²ΠΎ врСмя выполнСния позволяСт ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π΄ΠΎ root Π±Π΅Π· нСобходимости Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

* * *

## ИспользованиС

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ статичСски, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² любой срСдС Linux Π±Π΅Π· нСобходимости Π² Python ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ….

root@kitploit:~
    
    
    gcc -o exploit exploit.c -lz -static
    ./exploit
    

* * *

## Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

  1. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ `/usr/bin/su`
  2. Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ сокСт `AF_ALG` AEAD
  3. Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ памяти ядра с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ сформированных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с сокСтом
  4. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ `splice()` для манипуляции ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ zero-copy
  5. ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² памяти
  6. ВыполняСт ΠΏΡ€ΠΎΠΏΠ°Ρ‚Ρ‡Π΅Π½Π½Ρ‹ΠΉ `su` для получСния root-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ



* * *

## ВрСбования

  * Уязвимая вСрсия ядра Linux
  * Π’ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹ΠΉ `CONFIG_CRYPTO_USER_API_AEAD`
  * Π Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ пространства ΠΈΠΌΡ‘Π½
  * Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ доступ ΠΊ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅



* * *

## ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ смягчСниС послСдствий

  * УстановитС исправлСниС Π΄ΠΎ исправлСнной вСрсии ядра, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ΠΎ станСт доступно

  * ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ пространства ΠΈΠΌΡ‘Π½, Ссли ΠΎΠ½ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ:

sysctl -w kernel.unprivileged_userns_clone=0

  * ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ использованиС:

    * сокСтов `AF_ALG`
    * систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² `splice()`
  * ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ усилСниС ядра (LSM, seccomp ΠΈ Ρ‚. Π΄.)




* * *

## ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚ отвСтствСнности

**Волько для ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ ΠΈ санкционированных исслСдований Π² области бСзопасности.**  
НСсанкционированноС использованиС этого эксплойта ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ. **Π― Π½Π΅ являюсь Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ исходного ΠΊΠΎΠ΄Π° ΠΈ Π½Π΅ Π±Ρ‹Π» Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» CVE.**

* * *

## Бсылка

  * CVE: CVE-2026-31431
  * ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚: ядро Linux (`AF_ALG` / подсистСма ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ)
  * Класс: Use-After-Free / ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Copy-On-Write