Sploitus

CVE-2022-37706-LPE-exploit

kitploit Β· 2026-09-02

Exploit Code

MARKDOWN181 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-MAHERAZZOUZI-CVE-2022-37706-LPE-EXPLOIT
**CVE-2022-37706**  
  
![CVE-2022-37706-poc-zoom](https://assets.kitploit.com/production/public/readmes/37783/dddc4ec99bb220f39f25dee2ea130fdc65ee9d42c219f6710332e8daf04f463c.gif)

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, рСбята, Π½Π° этот Ρ€Π°Π· я расскаТу ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅ΠΌ 0-day, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я нашСл Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ·  
основных ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² Linux ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Enlightenment (https://www.enlightenment.org/).  
Π­Ρ‚ΠΎΡ‚ 0-day ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ любого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎ root.  
Эксплойт протСстирован Π½Π° Ubuntu 22.04, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любом дистрибутивС.  


ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Enlightenment β€” это ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ ΠΈ минимальноС Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅  
для Linux (основная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°), BSD ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… совмСстимых UNIX-систСм.  


Π― установил этот ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π½ΠΈΠΌ. МнС Π±Ρ‹Π»ΠΎ интСрСсно,  
Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ содСрТит мноТСство инструмСнтов ΠΈ выглядит довольно Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ, чСстно говоря.  


ПослС установки ΠΏΠ°ΠΊΠ΅Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `apt install enlightenment` я ΠΈΠ·ΡƒΡ‡ΠΈΠ»  
установлСнныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π² ΠΌΠΎΠ΅ΠΉ систСмС: мноТСство ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ мноТСство Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…  
Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΎΠ², Π½ΠΎ самоС интСрСсноС β€” это:  


root@kitploit:~
    
    
    ➜  enlightenment cd /usr/lib/x86_64-linux-gnu/enlightenment/
    ➜  enlightenment find . -perm -4000                         
    ./utils/enlightenment_ckpasswd
    ./utils/enlightenment_system
    ./utils/enlightenment_sys
    

Он устанавливаСт нСсколько SUID-Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΎΠ², ΠΈ я ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», смогу Π»ΠΈ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…  
для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π΄ΠΎ root. ВсС Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΈ выглядСли бСзопасными ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанными.  
Π‘ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, β€” это enlightenment_sys.  


Как ΠΈ Π² любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ†Π΅Π»ΠΈ, ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ послС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ†Π΅Π½ΠΊΠΈ  
(см. ΠΌΠΎΠΉ Π±Π»ΠΎΠ³, Ссли Π΅Ρ‰Π΅ Π½Π΅: https://pwn-maher.blogspot.com/2020/10/vulnerability-assessment.html).  


Π― ΠΏΡ€ΠΎΠ²Π΅Π» Π°ΡƒΠ΄ΠΈΡ‚ ΠΊΠΎΠ΄Π° ΠΏΠΎ нисходящСму ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ.  
И ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, исходный ΠΊΠΎΠ΄ доступСн  
для всСх этих Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.  
ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ я Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» `apt source enlightenment`, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ вСсь исходный ΠΊΠΎΠ΄,  
ΠΈ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ покопавшись, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ ΠΊΠΎΠ΄Π° Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ°.  


Но для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ° я Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» Π΅Π³ΠΎ Π² Ghidra для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ получСния адрСсов  
для установки Ρ‚ΠΎΡ‡Π΅ΠΊ останова ΠΈ всСго ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ.  
Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π½Π΅ нашлось, Π½ΠΎ ΠΎΠ½ΠΈ ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ  
оказался ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшим.  
Π£Π΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ ΠΌΠ½Π΅ Π±Ρ‹Π»ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ приятнСС ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ псСвдокод  
Ghidra, Ρ‡Π΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π° исходники (избСгая макросов ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π½Π°  
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ОБ для компиляции ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°).  


Π˜Ρ‚Π°ΠΊ, Π½Π°Ρ‡Π½Π΅ΠΌ Π°Π½Π°Π»ΠΈΠ·.  


1- Π˜Π³Ρ€Π°Π΅ΠΌ с Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΎΠΌ.  
Запустим Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ нашСй Ρ†Π΅Π»ΠΈ:  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/fec14572b685ca069a34aca6c6d7eeae30c93eb15341ad6bd15fc4a8f934962c.png)  


Запуск Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ° Π½Π΅ Π΄Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°:  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/56167830f4efde62077f66dc61dd35052caf82e1091191353a849f4b91f954a3.png)  


АргумСнт --help Π΄Π°Π» Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄:  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/ad895956ec7f69c47915ada13b9b57ac1d0194a478995581681e3c68a89fef79.png)  
Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ root.  


Π”Π°Π»Π΅Π΅ просто Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ strace ΠΈ посмотрим, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€  
execve ΠΈΠ»ΠΈ openat:  
strace ./enlightenment_sys 2>&1 | grep open   
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/8ada0e522eaeb14deb3739844ab5e34c25d9ab60e602ab38cc82a2a9ccb732b3.png)  
Он просто ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ извСстныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² мСстах, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρƒ нас Π½Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ.  


strace ./enlightenment_sys 2>&1 | grep exec  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/eeee1f4ee0f0e2a61be3ca8ffe0cddcacc0e959de777ae54a83cc6a5d19d65f0.png)  


2- Π”Π°Π²Π°ΠΉΡ‚Π΅ рСвСрсим Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ, Π° Π·Π°Ρ‚Π΅ΠΌ эксплуатируСм Π΅Π³ΠΎ.  


Π― создал Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ghidra ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» этот ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ.  
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ символы Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ main Ρ‡Π΅Ρ€Π΅Π· entry.  
ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ entry β€” это сама main.  
Π― ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π» Π΅Π΅ Π² main для Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… ссылок.  
ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΠ² Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠ·, я ΡƒΠΆΠ΅ Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция system().  


Как pwner, я ΠΏΡ€ΠΎΠ²ΠΎΠΆΡƒ Π΄Π½ΠΈ Π·Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ эту ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ x)  
Π― рСвСрсил Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ Π² поисках ошибки поврСТдСния памяти ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΊΡƒΡ‡Π΅ΠΉ,  
Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ это оказалась странная ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄.  
Π‘ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ всС ΠΌΠ΅Ρ€Ρ‹ прСдостороТности ΠΏΠ΅Ρ€Π΅Π΄ запуском system, Π½ΠΎ, ΠΊ соТалСнию,  
ΠΌΡ‹ всСгда ΠΌΠΎΠΆΠ΅ΠΌ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° наш Π²Π²ΠΎΠ΄.  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/d064ca5512049d46ce3c83f3e272964e30609ca9b7f3ab7807844a22c9d24837.png)  


Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ пройдСмся ΠΏΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΡƒ свСрху Π²Π½ΠΈΠ· Π΄ΠΎ нашСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ system, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ  
Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° наш Π²Π²ΠΎΠ΄.  


Π‘Π½Π°Ρ‡Π°Π»Π° Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ просто провСряСт, являСтся Π»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ --help ΠΈΠ»ΠΈ -h, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎ  
сообщСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Ρ€Π°Π½Π΅Π΅.  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/e4b1a64f89c60b895357af79172c2ae5b67a2e0e77893b75d7f7fce271f5170b.png)  


Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΎΠ½ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ свои ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π΄ΠΎ root.  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/051237c2c47c65c3b4097637b0dca2f4bd36e2aa34deac26f1fdd35f6066b895.png)  


Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ сбрасываСт ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния (ΠΌΠ΅Ρ€Ρ‹ бСзопасности), Ρ‡Ρ‚ΠΎΠ±Ρ‹  
Π½Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½Π΅Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ.  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/f2b51670f076e04d8d785304c04fdae671f4c6944d26e0ed0f8dc988f14c8f8a.png)  


Π˜Ρ‚Π°ΠΊ, Ссли ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π²Π²Π΅Π»ΠΈ, β€” это "mount", ΠΎΠ½ Π²ΠΎΠΉΠ΄Π΅Ρ‚ Π² эту Π²Π΅Ρ‚ΠΊΡƒ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅  
Ρ„Π»Π°Π³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ установлСны Π² стСкС.  


Π”Π°Π»Π΅Π΅ ΠΎΠ½ провСряСт, начинаСтся Π»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ послС mount с UUID= β€” ΠΌΡ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ‚ΡƒΠ΄Π°  
ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ, поэтому ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ "/dev/../tmp/;/tmp/exploit".  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/5cdf566aa096e0637ad12a76795c78c82bba696e410900c375a1a02d7a33f376.png)  
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π² строкС 410. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ strncmp.  
ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ссли ΠΎΠ½ Π½Π΅ начинаСтся с /dev/, Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ.  
Π—Π°Ρ‚Π΅ΠΌ происходит Π²Ρ‹Π·ΠΎΠ² stat64 для этого Ρ„Π°ΠΉΠ»Π°. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ  
ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ";" ΠΈ это Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.  
На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ эксплойт ΡƒΠΆΠ΅ создал этот Ρ„Π°ΠΉΠ» /dev/../tmp/;/tmp/exploit,  
Π½ΠΎ это Π½Π΅ Ρ‚ΠΎΡ‚ эксплойт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½.  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/7ed53d02ec4a09e9a8a25f6181215bf8944a12ff25a05b3684790b155126781f.png)  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/7adb572897044c1cebe04ab2f922495212cbe1be80a82c6502a7aa2b9cfd5da1.png)  


Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ приблиТаСмся ΠΊ system().  
Π’Π΅ΠΏΠ΅Ρ€ΡŒ p (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ) обновляСтся Π΄ΠΎ послСднСго Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡˆΠ΅ΠΌΡƒ SUID-Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΡƒ:  
/tmp///net.  


Π—Π°Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ /tmp///net, Ссли ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ /tmp/net?  
ΠœΡ‹ ΠΎΠ±ΠΎΠΉΠ΄Π΅ΠΌ эту ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ:  
`if (((next_next == (char *)0x0) || (next_next[1] == '\0')) || ((long)next_next - (long)p != 6))`  
Нам Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ /tmp/net сущСствовал, Π° /tmp/// ΠΈΠΌΠ΅Π» Π΄Π»ΠΈΠ½Ρƒ 6.  


Π’Π΅ΠΏΠ΅Ρ€ΡŒ послСдний stat64 ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ сущСствованиС "/dev/net"  
__snprintf_chk(cmd,0x1000,1,0x1000,"/dev%s",next_next);  
И ΠΎΠ½ Π½Π°ΠΉΠ΄Π΅Ρ‚ Π΅Π³ΠΎ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ послСднюю ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ.  


Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π½ΠΎ это ΡƒΠΆΠ΅ Π½Π΅Π²Π°ΠΆΠ½ΠΎ  
Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ всё Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΈ ΠΌΡ‹ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ запуску ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ  
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.  


Π’Π΅ΠΏΠ΅Ρ€ΡŒ eina_strbuf_new() просто ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π°  
system. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²Π²Π΅Π»ΠΈ Π΅Ρ‘ ΠΊΠ°ΠΊ:  


/bin/mount -o noexec,nosuid,utf8,nodev,iocharset=utf8,utf8=0,utf8=1,uid=$(id -u), "/dev/../tmp/;/tmp/exploit" /tmp///net  


Но Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ eina_strbuf_append_printf() нСсколько Ρ€Π°Π· ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚  
/bin/mount -o noexec,nosuid,utf8,nodev,iocharset=utf8,utf8=0,utf8=1,uid=$(id -u), /dev/../tmp/;/tmp/exploit /tmp///net  
ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹, ΠΈ ΠΌΡ‹ смоТСм Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ /tmp/exploit  
ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ root.  
![Screenshot](https://assets.kitploit.com/production/public/readmes/37783/0abd481baf7a53305da4e50fe122b80341f228413fa72c359201ed215a9b5af9.png)  


Π‘ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ сдСлал всё Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΌΡΠ³Ρ‡ΠΈΡ‚ΡŒ любоС Π½Π΅Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ,  
всё ΠΌΠΎΠΆΠ½ΠΎ Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ. Π― Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π», Ρ‡Ρ‚ΠΎ смогу ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΎΠΉ логичСской ошибки.  
Π― Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ CVE Π±Ρ‹Π»Π° связана с ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ памяти, Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ ΠΊ LPE Π΄ΠΎ root.  


Π’Π²ΠΈΡ‚Ρ‚Π΅Ρ€-раскрытиС: https://twitter.com/maherazz2/status/1569665311707734023