Уязвимости Π² OpenSSL, Glibc, util-linux, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… i915 ΠΈ vmwgfx

Раскрыта информация ΠΎΠ± уязвимости (CVE-2021-4160) Π² криптографичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ OpenSSL, Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠΉ ошибкой Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сумматора Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ BN_mod_exp, приводящСй ΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ возвСдСния Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ MIPS32 ΠΈ MIPS64, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° Π±Π°Π·Π΅ эллиптичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² TLS 1.3. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° устранСна Π² Π΄Π΅ΠΊΠ°Π±Ρ€ΡŒΡΠΊΠΈΡ… обновлСниях OpenSSL 1.1.1m ΠΈ 3.0.1.

ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ рСализация Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ‚Π°ΠΊ ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π°Ρ… с использованиСм выявлСнной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ рассматриваСтся для RSA, DSA ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π”ΠΈΡ„Ρ„ΠΈ—Π₯Π΅Π»Π»ΠΌΠ°Π½Π° (DH, Diffie-Hellman) ΠΊΠ°ΠΊ возмоТная, Π½ΠΎ маловСроятная, слишком слоТная для провСдСния ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов. ΠŸΡ€ΠΈ этом Π°Ρ‚Π°ΠΊΠ° Π½Π° TLS ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² 2016 Π³ΠΎΠ΄Ρƒ ΠΏΡ€ΠΈ устранСнии уязвимости CVE-2016-0701 Π±Ρ‹Π»ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ совмСстноС использованиС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° DH.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ нСсколько Π½Π΅Π΄Π°Π²Π½ΠΎ выявлСнных уязвимостСй Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…:

  • НСсколько уязвимостСй (CVE-2022-0330) Π² графичСском Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ i915, связанных с отсутствиСм сброса TLB для GPU. Π’ случаС Ссли Π½Π΅ примСняСтся IOMMU (трансляции адрСсов) ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ позволяСт ΠΈΠ· пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ случайным страницам памяти. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для поврСТдСния ΠΈΠ»ΠΈ чтСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· случайных областСй памяти. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся Π½Π° всСх встроСнных ΠΈ дискрСтных GPU Intel. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сброса TLB Π΄ΠΎ выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ возвращСния Π±ΡƒΡ„Π΅Ρ€Π° GPU Π² систСму, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ сниТСнию ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ВлияниС Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ зависит ΠΎΡ‚ GPU, выполняСмых Π½Π° GPU ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° систСму. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ° доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ‚Ρ‡Π°.
  • Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2022-22942) Π² графичСском Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ vmwgfx, примСняСмом для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ 3D-ускорСния Π² окруТСниях VMware. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° позволяСт Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ процСссами Π² систСмС. Для Π°Ρ‚Π°ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ доступа ΠΊ устройству /dev/dri/card0 ΠΈΠ»ΠΈ /dev/dri/rendererD128, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² ioctl() с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌ дСскриптором.
  • Уязвимости (CVE-2021-3996, CVE-2021-3995) Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ libmount, поставляСмой Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ util-linux, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΡ‚ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дисковыС Ρ€Π°Π·Π΄Π΅Π»Ρ‹, Π½Π΅ имСя Π½Π° это ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° выявлСна Π² Ρ…ΠΎΠ΄Π΅ Π°ΡƒΠ΄ΠΈΡ‚Π° SUID-root ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ umount ΠΈ fusermount.
  • Уязвимости Π² стандартной Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Glibc, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ realpath (CVE-2021-3998) ΠΈ getcwd (CVE-2021-3999).
    • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² realpath() Π²Ρ‹Π·Π²Π°Π½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… условиях Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ значСния, содСрТащСго Π½Π΅ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ остаточныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· стСка. Для SUID-root ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ fusermount ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для получСния ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… свСдСний ΠΈΠ· памяти процСсса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для получСния свСдСний ΠΎΠ± указатСлях.
    • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² getcwd() позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ пСрСполнСния Π±ΡƒΡ„Π΅Ρ€Π° Π½Π° ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²Ρ‹Π·Π²Π°Π½Π° ошибкой, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ с 1995 Π³ΠΎΠ΄Π°. Для Π²Ρ‹Π·ΠΎΠ²Π° пСрСполнСния достаточно Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ пространствС ΠΈΠΌΡ‘Π½ Ρ‚ΠΎΡ‡Π΅ΠΊ монтирования Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² chdir() для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° «/». НС сообщаСтся, ограничиваСтся Π»ΠΈ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ процСсса, Π½ΠΎ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ для ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… уязвимостСй Π±Ρ‹Π»ΠΈ случаи создания Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… эксплоитов, нСсмотря Π½Π° скСптицизм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².
  • Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2022-23220) Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ usbview, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, вошСдшим Π² систСму Ρ‡Π΅Ρ€Π΅Π· SSH, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root, ΠΈΠ·-Π·Π° наличия Π² ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… PolKit настройки (allow_any=yes) для запуска ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ usbview ΠΏΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ root Π±Π΅Π· Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Эксплуатация сводится ΠΊ использованию ΠΎΠΏΡ†ΠΈΠΈ «—gtk-module» для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ своСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² usbview. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° устранСна Π² вСрсии usbview 2.2.

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