Во 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), что затрудняет получение доступа к остальной системе после эксплуатации уязвимости.

<<<

    • 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.