Sploitus

Exploit for cve-2026-31431 CVE-2026-31431

kitploit Β· 2026-08-27

Exploit Code

MARKDOWN133 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-LEELONG2020-CVE-2026-31431
# CVE-2026-31431 (Copy Fail) β€” инструмСнт обнаруТСния ΠΈ смягчСния

![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ прСдоставляСт Π½Π°Π±ΠΎΡ€ Bash-скриптов для обнаруТСния ΠΈ смягчСния уязвимости **CVE-2026-31431** (Ρ‚Π°ΠΊΠΆΠ΅ извСстной ΠΊΠ°ΠΊ "Copy Fail") β€” локального ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π² ядрС Linux.

## ΠžΠ±Π·ΠΎΡ€ уязвимости

  * **Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ CVE** : CVE-2026-31431
  * **Π’ΠΈΠΏ уязвимости** : локальноС ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ (Local Privilege Escalation)
  * **Π—Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚** : Linux Kernel β€” AF_ALG socket / интСрфСйс ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ AEAD
  * **Π˜ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚** : `a664bf3d603d` ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‡ΠΈ
  * **ΠŸΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅** : Copy Fail



Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ сущСствуСт Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ AF_ALG socket Π² ядрС Linux; Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ локального ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, создав ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ привязки `authencesn`.

## Π€Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π€Π°ΠΉΠ»| НазначСниС| ΠŸΡ€Π°Π²Π° запуска  
---|---|---  
`check_cve_2026_31431.sh`| ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ уязвимости ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ° риска| ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ root  
`cve-2026-31431-mitigate.sh`| Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ€ смягчСния (ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ модуля, гСнСрация ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ seccomp)| **ВрСбуСтся root**  
  
## Быстрый старт

### 1\. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Π° Π»ΠΈ систСма

root@kitploit:~
    
    
    bash check_cve_2026_31431.sh
    

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ провСряСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  * БостояниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ядра `CONFIG_CRYPTO_USER_API_AEAD`
  * БостояниС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ `algif_aead` / `af_alg`
  * Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания AF_ALG socket
  * НаличиС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ смягчСния
  * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ привязки `authencesn` (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ Π»ΠΈ смягчСниС)
  * НахоТдСниС дистрибутива Π² извСстном спискС Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Ρ…



Π’ ΠΈΡ‚ΠΎΠ³Π΅ выводится ΠΎΠ±Ρ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ риска: `UNKNOWN` / `LOW` / `MEDIUM` / `HIGH`.

### 2\. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ€ смягчСния

> **Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅** : скрипт смягчСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π² root.

root@kitploit:~
    
    
    sudo bash cve-2026-31431-mitigate.sh
    

ΠœΠ΅Ρ€Ρ‹ смягчСния Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

  * Π—Π°ΠΏΠΈΡΡŒ `/etc/modprobe.d/disable-algif-aead.conf` для Π·Π°ΠΏΡ€Π΅Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ модуля `algif_aead`
  * Если `algif_aead` ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ (`rmmod`)
  * Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ `depmod -a` для обновлСния зависимостСй ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
  * АвтоматичСская ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТности создания AF_ALG socket ΠΈ привязки Π΄ΠΎ ΠΈ послС смягчСния



#### Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

root@kitploit:~
    
    
    sudo bash cve-2026-31431-mitigate.sh --verify-only          # Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Π±Π΅Π· записи ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
    sudo bash cve-2026-31431-mitigate.sh --write-seccomp        # Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ seccomp для Docker
    sudo bash cve-2026-31431-mitigate.sh --seccomp-path /path   # ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° seccomp
    

## ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° эффСктивности смягчСния

Π—ΠΎΠ»ΠΎΡ‚ΠΎΠΉ стандарт опрСдСлСния, сработало Π»ΠΈ смягчСниС: **сбой привязки`authencesn`**.

Β«ΠŸΡƒΠ½ΠΊΡ‚ 5: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° смягчСния (bind authencesn)Β» Π² скриптС обнаруТСния пытаСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ:

root@kitploit:~
    
    
    import socket
    s = socket.socket(38, 5, 0)  # AF_ALG
    s.bind(("aead", "authencesn(hmac(sha256),cbc(aes))"))
    

  * Если возвращаСтся ошибка (сбой привязки) β†’ **смягчСниС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π°**
  * Если возвращаСтся успСх β†’ **смягчСниС Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ** , Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ дальнСйшиС дСйствия



## Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹Π΅ ограничСния

  1. **НСэффСктивно ΠΏΡ€ΠΈ статичСской компиляции** : Ссли конфигурация ядра `CONFIG_CRYPTO_USER_API_AEAD=y` (статичСски Π²ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² ядро), ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ модуля ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ β€” трСбуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ядра.
  2. **Π—Π°Π½ΡΡ‚ΠΎΡΡ‚ΡŒ модуля** : Ссли `algif_aead` ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, `rmmod` ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ; рСкомСндуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² ΠΎΠΊΠ½Π΅ обслуТивания.
  3. **ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Π΅ срСды** : рСкомСндуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ seccomp для Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²Π° `socket(AF_ALG)`.



## Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ

  1. **ПолноС исправлСниС** : ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ΡΡŒ Π΄ΠΎ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ вСрсии ядра, содСрТащСй ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ `a664bf3d603d` ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‡ΠΈ.
  2. **ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π±ΡŽΠ»Π»Π΅Ρ‚Π΅Π½Π΅ΠΉ** : 
     * Ubuntu: https://ubuntu.com/security/CVE-2026-31431
     * RHEL: https://access.redhat.com/security/cve/CVE-2026-31431
     * SUSE: см. Π±ΡŽΠ»Π»Π΅Ρ‚Π΅Π½ΠΈ бСзопасности дистрибутива
  3. **ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½Π°Ρ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°** : послС обновлСния ΠΈΠ»ΠΈ смягчСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ запуститС скрипт обнаруТСния ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° привязки Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ сбоСм.



## Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ протСстированы Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… срСдах:

  * Bash 4.x / 5.x
  * Зависимости: стандартныС инструмСнты GNU (`grep`, `sed`, `lsmod`, `modprobe`, `rmmod`, `depmod`)
  * ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ: `python3` ΠΈΠ»ΠΈ `python` (для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ AF_ALG socket)



## ЛицСнзия

MIT License

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

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹, прСдоставляСмыС этим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ бСзопасности ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ смягчСния ΠΈ **Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ‚Ρ‡Π° ядра**. ΠŸΠ΅Ρ€Π΅Π΄ использованиСм скриптов ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ осознайтС ΠΈΡ… дСйствия (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра) ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΈΡ… Π² тСстовой срСдС. Автор Π½Π΅ нСсёт отвСтствСнности Π·Π° Π»ΡŽΠ±Ρ‹Π΅ прямыС ΠΈΠ»ΠΈ косвСнныС ΡƒΠ±Ρ‹Ρ‚ΠΊΠΈ, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Π΅ использованиСм этого инструмСнта.