Во FreeBSD выявлена уязвимость (CVE-2022-23093) в утилите ping, входящей в базовую поставку. Проблема потенциально может привести к удалённому выполнению кода с правами root при проверке при помощи ping внешнего хоста, подконтрольного злоумышленнику. Исправление предложено в обновлениях FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 и 12.3-RELEASE-p10. Подвержены ли другие BSD-системы выявленной уязвимости пока не ясно (отчётов об уязвимости в NetBSD, DragonFlyBSD и OpenBSD пока не появилось).

Уязвимость вызвана переполнением буфера в коде разбора ICMP-сообщений, приходящих в ответ на проверочный запрос. Код отправки и приёма ICMP-сообщений в ping использует raw-сокеты и выполняется с повышеннымми привилегиями (утилита поставляется с флагом setuid root). Обработка ответа производится на стороне ping через реконструкцию IP- и ICMP-заголовков пакетов, получаемых из raw-сокета. Выделенные IP- и ICMP-заголовки копируются функцией pr_pack() в буферы, не принимая во внимание то, что в пакете после заголовка IP могут присутствовать дополнительные расширенные заголовки.

Подобные заголовки выделяются из пакета и включаются в блок заголовков, но не учитываются при расчёте размера буфера. В случае если хост в ответ на отправленный ICMP-запрос вернёт пакет с дополнительными заголовками, их содержимое будет записано в область за границей буфера в стеке. В итоге атакующий может перезаписать до 40 байт данных в стеке, что потенциально позволяет добиться выполнения своего кода. Опасность проблемы смягчает то, что в момент проявления ошибки, процесс находится в состоянии изоляции системных вызовов (capability mode), что затрудняет получение доступа к остальной системе после эксплуатации уязвимости.

<<<

  • crypt
    link
    fedilink
    arrow-up
    0
    ·
    4 years ago

    точно знаешь? драйверы я бы подобрал, их немного.

    • cocuckaOP
      link
      fedilink
      arrow-up
      0
      ·
      4 years ago

      Скажем так, я видел некоторое дерьмо, но это было на высоконагруженной системе.

      • crypt
        link
        fedilink
        arrow-up
        0
        ·
        4 years ago

        я бы поставил в виртуалку. но торрент 20 гб, плюс инсталяция 30. :(

      • crypt
        link
        fedilink
        arrow-up
        0
        ·
        4 years ago

        пытался ALMA/RHEL 9.1 поставить в виртуалке, так vbox additions (драйверы) не идут в поставке в виде RPM и даже не собираются компилятором. какой-то бред. корпоративное решение само с собой не дружит.:(

        а VESA драйвер из RHEL 9 выкинули. в итоге нет графического режима. просто бред. чем дальше редхат катится, тем меньше я их понимаю.

        • odalist
          link
          fedilink
          arrow-up
          0
          ·
          4 years ago

          так vbox additions (драйверы) не идут в поставке в виде RPM

          А если попробовать поставить на KVM?

          • crypt
            link
            fedilink
            arrow-up
            0
            ·
            4 years ago

            а под FreeBSD не работает сразу две виртуализации.

            дебиановцы хотя бы молодцы, взяли LTS ядро 5.10. а редхатовцы 5.14, а 5.15 LTS не взяли, вот зачем они это делают…

            • odalist
              link
              fedilink
              arrow-up
              0
              ·
              4 years ago

              сразу две виртуализации.

              Так поставь одну.

              • crypt
                link
                fedilink
                arrow-up
                0
                ·
                4 years ago

                так я сразу несколько виртуальных машин могу использовать. часть у меня уже инсталирована в vbox. кучу времени тратить на все эти извраты со cli-виртуализацией.

                • odalist
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  4 years ago

                  со cli-виртуализацией.

                  Можно использовать virt-manager.

                    • odalist
                      link
                      fedilink
                      arrow-up
                      0
                      ·
                      4 years ago

                      не во freebsd же

                      А ведь ты прав. Ничего не нашел про KVM. В freebsd handbook написано только про virtualbox, bhyve и xen. Ничего хорошего…

                      • crypt
                        link
                        fedilink
                        arrow-up
                        0
                        ·
                        4 years ago

                        bhyve становится аналогом kvm на *bsd платформах.

                        vbox хорош именно кроссплатформенностью на linux, mac и bsd. но на bsd нет работы с usb и проброса.

                        • odalist
                          link
                          fedilink
                          arrow-up
                          0
                          ·
                          4 years ago

                          bhyve становится аналогом kvm на *bsd платформах.

                          Очень интересно. Спасибо за наводку. Нужно будет почитать.

          • crypt
            link
            fedilink
            arrow-up
            0
            ·
            4 years ago

            и 20 лет во всех линуксах таскают перл ради старых скриптов…

            • odalist
              link
              fedilink
              arrow-up
              0
              ·
              4 years ago

              и 20 лет во всех линуксах таскают перл ради старых скриптов…

              Просто по субъективным наблюдениям, KVM работает лучше.

          • crypt
            link
            fedilink
            arrow-up
            0
            ·
            4 years ago

            сейчас смотрю этот новый RHEL… запущен journald и rsyslogd. при этом файл настроек journald полностью чист (одни комменты). то есть по логике редхатовцев я должен знать все дефолты, с которыми он запущен??

              • Minona
                link
                fedilink
                arrow-up
                0
                ·
                4 years ago

                В убунте эти 2 команды выдают одинаковый результат:

                #  This file is part of systemd.
                #
                #  systemd is free software; you can redistribute it and/or modify it
                #  under the terms of the GNU Lesser General Public License as published by
                #  the Free Software Foundation; either version 2.1 of the License, or
                #  (at your option) any later version.
                #
                # Entries in this file show the compile time defaults.
                # You can change settings by editing this file.
                # Defaults can be restored by simply deleting this file.
                #
                # See journald.conf(5) for details.
                
                [Journal]
                #Storage=auto
                #Compress=yes
                #Seal=yes
                #SplitMode=uid
                #SyncIntervalSec=5m
                #RateLimitIntervalSec=30s
                #RateLimitBurst=10000
                #SystemMaxUse=
                #SystemKeepFree=
                #SystemMaxFileSize=
                #SystemMaxFiles=100
                #RuntimeMaxUse=
                #RuntimeKeepFree=
                #RuntimeMaxFileSize=
                #RuntimeMaxFiles=100
                #MaxRetentionSec=
                #MaxFileSec=1month
                #ForwardToSyslog=yes
                #ForwardToKMsg=no
                #ForwardToConsole=no
                #ForwardToWall=yes
                #TTYPath=/dev/console
                #MaxLevelStore=debug
                #MaxLevelSyslog=debug
                #MaxLevelKMsg=notice
                #MaxLevelConsole=info
                #MaxLevelWall=emerg
                #LineMax=48K
                #ReadKMsg=yes
                
                • crypt
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  4 years ago

                  понятно, что выдают один результат. тут претензия, что поттер переизобретает стандартные инструменты, как, например, cron.

            • Minona
              link
              fedilink
              arrow-up
              0
              ·
              4 years ago

              при этом файл настроек journald полностью чист (одни комменты). то есть по логике редхатовцев я должен знать все дефолты, с которыми он запущен??

              Ты про journald.conf ? Ну там же написано:

              # Entries in this file show the compile time defaults.
              # See journald.conf(5) for details.
              
              • crypt
                link
                fedilink
                arrow-up
                0
                ·
                4 years ago

                да тут уместно сказать, что я тупой:( вот из-за такой фигни последние годы и невозможно работать стало.

                • Minona
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  4 years ago

                  Судя по ману, конфиги journald могут находиться:

                  SYNOPSIS
                         /etc/systemd/journald.conf
                  
                         /etc/systemd/journald.conf.d/*.conf
                  
                         /run/systemd/journald.conf.d/*.conf
                  
                         /usr/lib/systemd/journald.conf.d/*.conf
                  
                         /etc/systemd/[email protected]
                  

                  Моя не уверен, но вполне возможно, что команда systemd-analyze cat-config systemd/journald.conf должна выводить сводный список параметров из всех этих мест.

                  • crypt
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    4 years ago
                    localhost ~ # mkdir -p /run/systemd/journald.conf.d/
                    localhost ~ # echo 'foo=bar' > /run/systemd/journald.conf.d/bla.conf
                    localhost ~ # systemd-analyze cat-config systemd/journald.conf |grep bla
                    # /run/systemd/journald.conf.d/bla.conf
                    localhost ~ # systemd-analyze cat-config systemd/journald.conf |grep bar
                    foo=bar
                    

                    ну да… сначала 4 диры для конфигов, а потом эти проблемы решаем…

                    • Minona
                      link
                      fedilink
                      arrow-up
                      0
                      ·
                      4 years ago

                      Ну так… у каждой диры своё назначение - юниксвей йопт. =) Самое печальное что в Фряхе это перенимать начали… куда катится мир… эх.

                      • crypt
                        link
                        fedilink
                        arrow-up
                        0
                        ·
                        4 years ago

                        да нету такого в unix way. там одна дира для конфигов. ну во фряхе две, ок, есть /usr/local/etc.

                        а вот, когда начинают делать windows-комбайны “все включено”, то начинается вот такое усложнение.

                        не знаю, может, все-таки надо поставить эту байду на реальное железо. уж больно фряха глючная. падает fsck и с raid массивом тоже явно как-то хреново работает, то звук заикнется, то вообще по-моему машину можно убить.