0-day ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ n_gsm, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра Linux

Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ доступС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π΄Π²Π° эксплоита, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… задСйствована Ρ€Π°Π½Π΅Π΅ нСизвСстная ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ n_gsm, входящСм Π² состав ядра Linux. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ позволяСт Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра ΠΈ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ свои ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π² систСмС. CVE-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π΅ присвоСн. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΠΊΠ° остаётся нСисправлСнной.

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ n_gsm прСдоставляСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° GSM 07.10, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² GSM-ΠΌΠΎΠ΄Π΅ΠΌΠ°Ρ… для ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ соСдинСний ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΠΎΡ€Ρ‚Ρƒ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° состояниСм Π³ΠΎΠ½ΠΊΠΈ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ioctl GSMIOC_SETCONF_DLCI, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ для обновлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ DLCI (Data Link Connection Identifier). Π§Π΅Ρ€Π΅Π· манипуляции с ioctl ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ обращСния ΠΊ памяти послС Π΅Ρ‘ освобоТдСния (use-after-free).

Эксплоит ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° систСмах с ядрами Linux, начиная с 5.15 ΠΈ заканчивая 6.5. НапримСр, ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ root-доступа продСмонстрировано Π² Fedora, Ubuntu 22.04 с ядром 6.5 ΠΈ Π² Debian 12 с ядром 6.1. Начиная с ядра 6.6 для эксплуатации Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²Π° доступа CAP_NET_ADMIN. Π’ качСствС ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ блокирования уязвимости ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ модуля ядра n_gsm, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Ρ„Π°ΠΉΠ» /etc/modprobe.d/blacklist.conf строку «blacklist n_gsm».

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π² январС Π±Ρ‹Π»Π° раскрыта информация ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ уязвимости (CVE-2023-6546) Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ n_gsm, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ доступСн эксплоит. Данная ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π΅ пСрСсСкаСтся с ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, хотя Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π·Π²Π°Π½Π° ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ памяти послС освобоТдСния ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со структурой gsm_dlci, Π½ΠΎ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ioctl GSMIOC_SETCONF. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° исправлСна Π² августС ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° (исправлСниС вошло Π² состав ядра 6.5).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ