Sploitus

Exploit for cve-2024-23113-poc

kitploit Β· 2026-08-27

Exploit Code

MARKDOWN52 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-OWNOUWA-CVE-2024-23113-POC
# CVE-2024-23113-poc

CVE-2024-23113 β€” это ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, обнаруТСнная Π² **Linux Kernel** , относящаяся ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ **уязвимостСй ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния ΠΊΠΎΠ΄Π°** , Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰Π°Ρ подсистСму **bpf** (Berkeley Packet Filter). Π’ частности, эта ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ влияСт Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° `bpf_prog` ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ `bpf` ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ врСдоносный ΠΊΠΎΠ΄ Π² пространствС ядра ΠΏΡƒΡ‚Π΅ΠΌ создания врСдоносной BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

### ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ уязвимости:

  1. **BPF (Berkeley Packet Filter)** β€” это Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π² ядрС Linux, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π·Π°Ρ…Π²Π°Ρ‚Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Он позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ядром ΠΏΡƒΡ‚Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚Π°ΠΊΠΈΡ… областях, ΠΊΠ°ΠΊ сСти, трассировка, Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

  2. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎ сути Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² процСссС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π² **BPF Type Format (BTF)**. ΠΡ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π²Ρ€Π΅Π΄ΠΎΠ½ΠΎΡΠ½ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ… BTF, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ смСщСния указатСля Π² ΠΊΠΎΠ΄Π΅ ядра, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ памяти ядра ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°.

  3. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сконструированного Π²Π²ΠΎΠ΄Π° Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ бСзопасности ядра, выполняя ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ получая ΠΏΡ€Π°Π²Π° root.




### Эксплуатация уязвимости:

  1. **Условия Π°Ρ‚Π°ΠΊΠΈ** : ΠΡ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Π²Ρ€Π΅Π΄ΠΎΠ½ΠΎΡΠ½ΡƒΡŽ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² систСму ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° сСтСвой стСк систСмы.

  2. **Бпособ эксплуатации** : ΠΡ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ создаСт Π²Ρ€Π΅Π΄ΠΎΠ½ΠΎΡΠ½ΡƒΡŽ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΅Π΅ Π² систСму, вызывая ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² подсистСмС BPF ΠΈ получая ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ядром. ΠŸΡ€ΠΈ эксплуатации Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ошибки ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с указатСлями, ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти ΠΈ Ρ‚. Π΄. Π² ядрС, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

  3. **ЦСль** : ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ эксплуатации уязвимости Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π΄ΠΎ root, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… систСмных ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Ρ‚. Π΄.




### ΠœΠ΅Ρ€Ρ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹:

  1. **ОбновлСниС ядра** : Π‘Π°ΠΌΡ‹ΠΉ прямой способ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ β€” ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ вСрсии ядра, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ исправлСна эта ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ. Команда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра Linux ΡƒΠΆΠ΅ выпустила ΠΏΠ°Ρ‚Ρ‡ΠΈ для исправлСния CVE-2024-23113.

  2. **ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ** : НСкоторыС дистрибутивы Linux ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ.

  3. **УсилСниС настроСк бСзопасности ядра** : Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΉ `kernel hardening`, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ конфигурация `CONFIG_BPF_SYSCALL`, для дальнСйшСго ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ бСзопасности подсистСмы BPF.

  4. **ИспользованиС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ бСзопасности SELinux/AppArmor** : УсилСниС контроля доступа Π² систСмС, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ процСссов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌ.




### ВлияниС уязвимости:

  * **CVE-2024-23113** ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° (RCE), Ρ‡Ρ‚ΠΎ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ обСспСчиваСт ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ систСмой. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ находится Π² ядрС, ΠΏΡ€ΠΈ эксплуатации ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρƒ пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

  * Π—Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ вСрсии ядра: ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ вСрсии, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ влияСт эта ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, зависят ΠΎΡ‚ истории ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ядра; ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… вСрсиях ядра ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ исправлСниС, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ΅ Π² Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‡ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ядра ΠΈ своСврСмСнно ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ исправлСнной вСрсии.




### РСзюмС:

CVE-2024-23113 β€” это высокоопасная ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰Π°Ρ ядро Linux. ИспользованиС врСдоносной BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°. Π›ΡƒΡ‡ΡˆΠΈΠΉ способ устранСния этой уязвимости β€” своСврСмСнноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ядра ΠΈ принятиС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ€ бСзопасности для сниТСния риска воздСйствия Π½Π° систСму.