## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-MAHERAZZOUZI-CVE-2022-37706-LPE-EXPLOIT
**CVE-2022-37706**

ΠΡΠΈΠ²Π΅Ρ, ΡΠ΅Π±ΡΡΠ°, Π½Π° ΡΡΠΎΡ ΡΠ°Π· Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅ΠΌ 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- ΠΠ³ΡΠ°Π΅ΠΌ Ρ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΎΠΌ.
ΠΠ°ΠΏΡΡΡΠΈΠΌ ΡΠ°ΠΉΠ», ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½Π°ΡΠ΅ΠΉ ΡΠ΅Π»ΠΈ:

ΠΠ°ΠΏΡΡΠΊ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠ° Π½Π΅ Π΄Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°:

ΠΡΠ³ΡΠΌΠ΅Π½Ρ --help Π΄Π°Π» ΡΠ°ΠΊΠΎΠΉ Π²ΡΠ²ΠΎΠ΄:

ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ root.
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ strace ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π»ΠΈ ΠΎΠ½ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
execve ΠΈΠ»ΠΈ openat:
strace ./enlightenment_sys 2>&1 | grep open

ΠΠ½ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΠΌΠ΅ΡΡΠ°Ρ
, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Ρ Π½Π°Ρ Π½Π΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²ΠΎ.
strace ./enlightenment_sys 2>&1 | grep exec

2- ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅Π²Π΅ΡΡΠΈΠΌ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ.
Π― ΡΠΎΠ·Π΄Π°Π» Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ghidra ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΠ» ΡΡΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ main ΡΠ΅ΡΠ΅Π· entry.
ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ entry β ΡΡΠΎ ΡΠ°ΠΌΠ° main.
Π― ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π» Π΅Π΅ Π² main Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ
ΡΡΡΠ»ΠΎΠΊ.
ΠΡΠΎΠΊΡΡΡΠΈΠ² Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠ·, Ρ ΡΠΆΠ΅ Π²ΠΈΠΆΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ system().
ΠΠ°ΠΊ pwner, Ρ ΠΏΡΠΎΠ²ΠΎΠΆΡ Π΄Π½ΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ x)
Π― ΡΠ΅Π²Π΅ΡΡΠΈΠ» Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ
ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΊΡΡΠ΅ΠΉ,
Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ ΡΡΡΠ°Π½Π½Π°Ρ ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠΈΠ½Π°ΡΠ½ΠΈΠΊ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅ ΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ system, Π½ΠΎ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ,
ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π²Π½Π΅Π΄ΡΠΈΡΡ ΡΡΠ΄Π° Π½Π°Ρ Π²Π²ΠΎΠ΄.

Π₯ΠΎΡΠΎΡΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΡ ΡΠ²Π΅ΡΡ
Ρ Π²Π½ΠΈΠ· Π΄ΠΎ Π½Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ system, ΠΏΡΡΠ°ΡΡΡ
Π²Π½Π΅Π΄ΡΠΈΡΡ ΡΡΠ΄Π° Π½Π°Ρ Π²Π²ΠΎΠ΄.
Π‘Π½Π°ΡΠ°Π»Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ --help ΠΈΠ»ΠΈ -h, ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅.

ΠΠΎ-Π²ΡΠΎΡΡΡ
, ΠΎΠ½ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π΄ΠΎ root.

ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (ΠΌΠ΅ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ), ΡΡΠΎΠ±Ρ
Π½Π΅ Π²ΡΠ·Π²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ Π½Π΅ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ.

ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π²Π²Π΅Π»ΠΈ, β ΡΡΠΎ "mount", ΠΎΠ½ Π²ΠΎΠΉΠ΄Π΅Ρ Π² ΡΡΡ Π²Π΅ΡΠΊΡ, ΠΏΡΠΎΠ²Π΅ΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅
ΡΠ»Π°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² ΡΡΠ΅ΠΊΠ΅.
ΠΠ°Π»Π΅Π΅ ΠΎΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅ mount Ρ UUID= β ΠΌΡ Π½Π΅ Ρ
ΠΎΡΠΈΠΌ ΡΡΠ΄Π°
ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ "/dev/../tmp/;/tmp/exploit".

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π² ΡΡΡΠΎΠΊΠ΅ 410. ΠΡΠΎΠ²Π΅ΡΠΊΡ strncmp.
ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ /dev/, Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ.
ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π²ΡΠ·ΠΎΠ² stat64 Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ
ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ";" ΠΈ ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΊΡΠΏΠ»ΠΎΠΉΡ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π» ΡΡΠΎΡ ΡΠ°ΠΉΠ» /dev/../tmp/;/tmp/exploit,
Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΡ ΡΠΊΡΠΏΠ»ΠΎΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½.


Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π΅ΠΌΡΡ ΠΊ 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.

ΠΠΈΠ½Π°ΡΠ½ΠΈΠΊ ΡΠ΄Π΅Π»Π°Π» Π²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΡΠΌΡΠ³ΡΠΈΡΡ Π»ΡΠ±ΠΎΠ΅ Π½Π΅ΡΠ΅Π»Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ,
Π²ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·Π»ΠΎΠΌΠ°ΡΡ. Π― Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π», ΡΡΠΎ ΡΠΌΠΎΠ³Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π― Ρ
ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ CVE Π±ΡΠ»Π° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π²Π΅Π΄ΡΡΠΈΠΌ ΠΊ LPE Π΄ΠΎ root.
Π’Π²ΠΈΡΡΠ΅Ρ-ΡΠ°ΡΠΊΡΡΡΠΈΠ΅: https://twitter.com/maherazz2/status/1569665311707734023