## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-DNLID-CVE-2026-43499
# CVE-2026-43499 β Use-After-Free Π² futex PI ΡΠ΄ΡΠ° Linux
## ΠΡΠΈΠ±ΠΊΠ°
`remove_waiter()` Π² `kernel/locking/rtmutex.c` ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΡΡΠΌΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ Π·Π°Ρ
Π²Π°ΡΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (slowlock), Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΎΡΠΊΠ°ΡΠ° proxy-Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² `rt_mutex_start_proxy_lock()` ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΈΠ· `futex_requeue()`.
Π ΡΠ»ΡΡΠ°Π΅ proxy-Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ `waiter::task` Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ `current`, ΠΎΠ΄Π½Π°ΠΊΠΎ `remove_waiter()` Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ `current`. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΡΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ:
1. ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· rbtree ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π±Π΅Π· ΡΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ `waiter::task::pi_lock`.
2. ΠΠΎΠ»Π΅ `pi_blocked_on` Π·Π°Π΄Π°ΡΠΈ-ΠΎΠΆΠΈΠ΄Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ, ΠΎΡΡΠ°Π²Π»ΡΡ Π²ΠΈΡΡΡΠΈΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ (use-after-free).
3. `rt_mutex_adjust_prio_chain()` ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ Π½Π΅ ΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ.
**CWE-416** (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ). CVSS 3.1: **7.8 HIGH** (Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π½ΠΈΠ·ΠΊΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ, ΡΡΠ΅Π±ΡΡΡΡΡ Π½ΠΈΠ·ΠΊΠΈΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ).
ΠΠ°ΡΡΠΎΠ½ΡΡΡ: Linux 2.6.39 β 6.18.x; ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π² 6.1.175, 6.6.140, 6.12.86, 6.18.27, 7.0.4.
## PoC Π΄Π»Ρ Xiaomi Mi 11T (amber / agate)
ΠΠ΅ ΠΏΠΎΠ²ΡΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΎΡΠ½ΡΠΉ ΡΡΠ΅Π½Π΄ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
**ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ:** `test_package/` (ΡΠ±ΠΎΡΠΊΠ°, Ρ
Π΅ΡΠΈ, ΡΠ°Π³ΠΈ ADB, ΡΠ°ΡΠΊΡΡΡΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ).
**ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:** Android NDK r27+, `adb`. Π Windows: `.\build.ps1`.
root@kitploit:~
.\build.ps1
adb push build/ghostlock_validate /data/local/tmp/ghostlock_validate
adb shell chmod 755 /data/local/tmp/ghostlock_validate
# ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ)
adb shell /data/local/tmp/ghostlock_validate --dry-run --retries 3
# ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ±Π½ΡΠΉ ΡΠ±ΠΎΠΉ (ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΏΠ°Π½ΠΈΠΊΡ) β Π½Π΅ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ
# adb shell /data/local/tmp/ghostlock_validate --probe --retries 1
Π£ΡΠΏΠ΅Ρ
`--dry-run`: `EDEADLK=1` \+ `DRY_RUN_STOP_BEFORE_CORRUPTION=1`.
**ΠΠ°ΠΊΠ΅Ρ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ² (ΡΡΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ / Π½Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅):** `evidence/PROOF.md`
**ΠΠ°ΠΊΠ΅Ρ Π΄Π»Ρ Π²Π΅Π½Π΄ΠΎΡΠ° (ΡΡΠ°Π½ΡΠΊΡΠΈΠΏΡΡ dry-run + ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠ°ΡΠΊΡΡΡΠΈΡ):** `evidence/vendor_package_20260726/`
Π Π°ΡΠΊΡΡΡΠΈΠ΅ Π²Π΅Π½Π΄ΠΎΡΡ: `test_package/docs/VENDOR_DISCLOSURE.md`.
ΠΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
ΡΡΡΡΠΎΠΉΡΡΠ² (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ, ΠΊ amber Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ): `evidence/OTHER_DEVICE_REPOS.md`
ΠΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ°ΠΏΡ Ρ ΡΡΡΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ / SELinux / CFI / root Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ.
## ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ
**Π‘ΠΎΠΎΠ±ΡΠΈΠ»ΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅:**
* Yuan Tan
* Yifan Wu
* Juefei Pu
* Xin Liu
**ΠΠ²ΡΠΎΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:** Keenan Dong
**ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΠ»:** Thomas Gleixner
**ΠΠΎΠΌΠΌΠΈΡ:** `3bfdc63` β rtmutex: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ waiter::task Π²ΠΌΠ΅ΡΡΠΎ current Π² remove_waiter()