Ранливост Π²ΠΎ VFS Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Linux ΡˆΡ‚ΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΈ Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°Π½Π° Π΅ ранливост (CVE-2022-0185) Π²ΠΎ Filesystem Context API ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΠΎΠ΄ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Linux, ΡˆΡ‚ΠΎ ΠΌΡƒ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈΠΎΡ‚ корисник Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ ΠΏΡ€Π°Π²Π° Π½Π° root Π½Π° систСмот. Π˜ΡΡ‚Ρ€Π°ΠΆΡƒΠ²Π°Ρ‡ΠΎΡ‚ кој Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°ΡˆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ објави Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Сксплоат кој Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊΠΎ root Π½Π° Ubuntu 20.04 Π²ΠΎ стандардната ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°. Π‘Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π° Сксплоат ΠΊΠΎΠ΄ΠΎΡ‚ Π΄Π° Π±ΠΈΠ΄Π΅ објавСн Π½Π° GitHub Π²ΠΎ Ρ€ΠΎΠΊ ΠΎΠ΄ Π΅Π΄Π½Π° Π½Π΅Π΄Π΅Π»Π° ΠΎΡ‚ΠΊΠ°ΠΊΠΎ дистрибуциитС објавија Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ ΡˆΡ‚ΠΎ ќС ја ΠΏΠΎΠΏΡ€Π°Π²ΠΈ ранливоста.

Ранливоста постои Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° legacy_parse_param() Π²ΠΎ VFS ΠΈ Π΅ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° ΠΎΠ΄ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° максималната Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΡ‚Π΅ систСми ΡˆΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Π°Ρ‚ API Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ контСкст. ΠŸΡ€Π΅Π΄Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ кој Π΅ ΠΏΡ€Π΅ΠΌΠ½ΠΎΠ³Ρƒ Π³ΠΎΠ»Π΅ΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° ΠΏΡ€Π΅Π»Π΅Π²Π°ΡšΠ΅ Π½Π° Ρ†Π΅Π»ΠΎΠ±Ρ€ΠΎΡ˜Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΡˆΡ‚ΠΎ сС користи Π·Π° ΠΏΡ€Π΅ΡΠΌΠ΅Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π½Π°ΠΏΠΈΡˆΠ°Ρ‚ - ΠΊΠΎΠ΄ΠΎΡ‚ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΡ€Π΅Π»Π΅Π²Π°ΡšΠ΅ Π½Π° Π±Π°Ρ„Π΅Ρ€ΠΎΡ‚ β€žif (len > PAGE_SIZE - 2 - size)β€œ, ΡˆΡ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π°ΠΊΠΎ врСдноста Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΎΠ΄ 4094. Π·Π° ΠΏΡ€Π΅Π»Π΅Π²Π°ΡšΠ΅ Π½Π° Ρ†Π΅Π» Π±Ρ€ΠΎΡ˜ Π½ΠΈΠ· Π΄ΠΎΠ»Π½Π°Ρ‚Π° Π³Ρ€Π°Π½ΠΈΡ†Π° (Ρ†Π΅Π»ΠΎΠ±Ρ€ΠΎΡ˜Π½ΠΎ ΠΏΠΎΡ‚Ρ‚ΠΎΡ‡ΡƒΠ²Π°ΡšΠ΅, ΠΏΡ€ΠΈ Ρ„Ρ€Π»Π°ΡšΠ΅ 4096 - 2 - 4095 Π½Π° Π½Π΅ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΎ int, Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ Π΅ 2147483648).

Оваа Π³Ρ€Π΅ΡˆΠΊΠ° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°, ΠΊΠΎΠ³Π° пристапуватС Π΄ΠΎ ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½Π° слика Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм, Π΄Π° ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚Π΅ ΠΏΡ€Π΅Π»Π΅Π²Π°ΡšΠ΅ Π½Π° Π±Π°Ρ„Π΅Ρ€ΠΎΡ‚ ΠΈ Π΄Π° Π³ΠΈ ΠΏΡ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ ΠΏΠΎ Π΄ΠΎΠ΄Π΅Π»Π΅Π½Π°Ρ‚Π° мСмориска област. Π—Π° Π΄Π° ја искориститС ранливоста, ΠΌΠΎΡ€Π° Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΡ€Π°Π²Π° CAP_SYS_ADMIN, Ρ‚.Π΅. администраторски ΠΎΠ²Π»Π°ΡΡ‚ΡƒΠ²Π°ΡšΠ°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ Π΅ ΡˆΡ‚ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€Π°Π½ корисник ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ Ρ‚Π°ΠΊΠ²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ Π²ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ Π°ΠΊΠΎ систСмот ΠΈΠΌΠ° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° кориснички простори со имиња. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, корисничкитС простори со имиња сС стандардно ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΈ Π½Π° Ubuntu ΠΈ Fedora, Π½ΠΎ Π½Π΅ сС ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΈ Π½Π° Debian ΠΈ RHEL (освСн Π°ΠΊΠΎ Π½Π΅ сС користат ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ Π·Π° ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ).

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ сС ΠΏΠΎΡ˜Π°Π²ΡƒΠ²Π° ΡƒΡˆΡ‚Π΅ ΠΎΠ΄ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux 5.1 ΠΈ бСшС ΠΏΠΎΠΏΡ€Π°Π²Π΅Π½ Π²ΠΎ Π²Ρ‡Π΅Ρ€Π°ΡˆΠ½ΠΈΡ‚Π΅ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° 5.16.2, 5.15.16, 5.10.93, 5.4.173. ΠΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ°Ρ‚Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ ја ΠΏΠΎΠΏΡ€Π°Π²Π°Π°Ρ‚ ранливоста вСќС сС објавСни Π·Π° RHEL, Debian, Fedora ΠΈ Ubuntu. ΠŸΠΎΠΏΡ€Π°Π²ΠΊΠ°Ρ‚Π° сè ΡƒΡˆΡ‚Π΅ Π½Π΅ Π΅ достапна Π½Π° Arch Linux, Gentoo, SUSE ΠΈ openSUSE. Како бСзбСдносно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° систСми ΠΊΠΎΠΈ Π½Π΅ користат ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја поставитС врСдноста Π½Π° sysctl β€žuser.max_user_namespacesβ€œ Π½Π° 0: echo β€žuser.max_user_namespaces=0β€œ > /etc/sysctl.d/userns.conf # sysctl -p /etc/ sysctl.d/userns.conf

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€