Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products

ECS. Решение для устранения уязвимости CVE-2022-31231 в версиях 3.5.x/3.6.x

Summary: Устраняет ненадлежащее управление доступом в модуле управления идентификацией и доступом (IAM). Удаленный злоумышленник, не прошедший проверку подлинности, может воспользоваться этой уязвимостью для получения несанкционированного доступа на чтение данных. Эта проблема затрагивает все версии ECS 3.5.x.x и ECS 3.6.x.x. ...

This article applies to   This article does not apply to 

Symptoms

Идентификатор CVE: CVE-2022-31231
Степень серьезности: Medium

Cause

Ненадлежащее управление доступом в модуле управления идентификацией и доступом (IAM).

Resolution

Кто должен выполнять эту процедуру?
Dell требует, чтобы эту процедуру модернизации xDoctor и установки исправления выполняли заказчики. Это самый быстрый и безопасный метод, который позволяет избежать длительного воздействия этой уязвимости. Все шаги подробно описаны в данной статье базы знаний. Также имеется видеоруководство которое дополняет эту статью базы знаний и которое можно посмотреть по ссылке ниже.



Влияние процедуры.
Предполагается истечение времени ожидания ввода-вывода при перезапуске служб. Приложения должны получать доступ к кластеру с помощью балансировщика нагрузки и иметь возможность обрабатывать истечение времени ожидания ввода-вывода. Для выполнения этой процедуры рекомендуется использовать окно технического обслуживания.

Исключение только для контейнеров CAS:
если все контейнеры в системе являются контейнерами CAS, выделенными ниже, то эта уязвимость их не затрагивает. Поэтому нет необходимости применять исправление, и не требуется выполнять указания из этой статьи базы знаний.

Команда: svc_bucket list
Пример.

admin@ecs-n1:~> svc_bucket list
svc_bucket v1.0.33 (svc_tools v2.5.1)                 Started 2022-07-08 08:49:11

                                                                                                                                       Bucket     Temp
                                                                 Replication         Owner            Owner           API     FS       Versioning Failed
Bucket Name                            Namespace                 Group               User             VDC             Type    Enabled  Enabled    (TSO)

cas_bucket                             region_ns                 RG1                 casuser          VDC1            CAS     false    Disabled   False
cas_bu                                 region_ns                 RG1                 cas_obj          VDC1            CAS     false    Disabled   False
test                                   region_ns                 RG1                 test1            VDC1            CAS     false    Disabled   False
test_cas                               region_ns                 RG1                 test_cas         VDC1            CAS     false    Disabled   False
test_bkt_cas                           region_ns                 RG1                 user_test        VDC1            CAS     false    Disabled   False
Friday_cas                             region_ns                 RG1                 Friday_cas       VDC1            CAS     false    Disabled   False


Время, затраченное на выполнение (приблизительно).
По умолчанию для каждого узла между перезапусками службы устанавливается задержка в 60 секунд. Количество узлов в виртуальном центре обработки данных (VDC), умноженное на 60 секунд + 30 минут для подготовки, стабилизации служб и необходимых проверок после выполнения.

Примеры.
Для системы VDC с 48 узлами может потребоваться приблизительно 80 минут:
60 секунд X 48 (количество узлов VDC) + 30 минут (подготовка) = около 80 минут.

Для системы VDC с 8 узлами может потребоваться приблизительно 40 минут:
60 секунд X 8 (количество узлов VDC) + 30 минут (подготовка) = около 40 минут.


Часто задаваемые вопросы.
В. Является ли исправление частью выпуска xDoctor?
О. Сценарий установки исправления является частью выпуска xDoctor 4.8-84 и выше. Инструкции по скачиванию xDoctor и установке исправлений приведены в шагах по решению проблемы.

В. Можно ли обновить несколько VDC параллельно?
О. Нет, исправление применяется к 1 VDC за раз.

В. Если я модернизирую ECS после выполнения этой процедуры, нужно ли повторять процедуру после модернизации? 
О. Нет, если выполняется модернизация до версии кода, указанной в DSA-2022-153, которая содержит постоянное исправление. Да, если выполняется модернизация до версии кода, не указанной в той же DSA.

В. Необходимо ли повторно применить исправление к системе, в которой оно было ранее установлено после замены узла, восстановления образа или расширения?
О. Нет, если версия кода VDC соответствует версии, указанной в DSA-2022-153 и включающей постоянное исправление. Да, если любое из этих действий выполняется с VDC, на котором выполняется версия кода, не указанная в той же DSA. Если для этих сценариев требуется исправление, инженер Dell свяжется с вами, чтобы сообщить о необходимости обновления.

В. Что делать, если я использую только устаревших пользователей, но не использую IAM?
О. Необходимо применить исправление даже в том случае, если используются только устаревшие пользователи, но не IAM.

В. Какой пользователь должен войти в систему, чтобы выполнить все команды, указанные в этой статье базы знаний?
О. Администратор

В. Нужно ли запускать на всех стойках исправление svc_patch или специализированный файл MACHINES, если в виртуальном ЦОД несколько стоек?
О. Нет, исправление автоматически определяет наличие нескольких стоек и устанавливается на все узлы во всех стойках этого виртуального ЦОД.

В. Я заметил, что целевой выпуск xDoctor теперь не 4.8-84.0. Почему?
О.Выпуски xDoctor выходят часто, поэтому всегда рекомендуется модернизировать версию до самой последней. Однако если ранее вы выполняли исправление с помощью версии 4.8-84.0, система полностью защищена от уязвимости и повторный запуск не требуется.

Сводка решения.

  1. Модернизируйте программное обеспечение ECS xDoctor до версии 4.8-84.0 или более поздней.
  2. Выполните предварительные проверки.
  3. Установите исправление системы с помощью инструмента svc_patch, входящего в комплект xDoctor.
  4. Убедитесь, что исправление применено.
  5. Поиск и устранение неисправностей.

Действия по решению.

  1. Модернизируйте программное обеспечение ECS xDoctor до последней доступной версии.

  1. Проверьте версию xDoctor, установленную в системе. Если версия 4.8-84.0 или более поздняя, перейдите к шагу 2 «Выполнение предварительных проверок». В противном случае выполните следующие действия.
Команда: 
# sudo xdoctor --version

Пример.
admin@node1:~> sudo xdoctor --version
4.8-84.0
  1. Войдите на сайт поддержки Dell, перейдите непосредственно по этой ссылке для скачивания, выполните поиск xDoctor в строке поиска по ключевым словам и нажмите RPM-ссылку xDoctor 4.8-84.0, чтобы скачать файл. Чтобы просмотреть примечания к выпуску, перейдите по ссылке Примечания к выпуску, выберите «Руководства и документы» на боковой панели, где они должны быть доступны для скачивания.
  2. После загрузки RPM используйте любую удаленную программу SCP для загрузки файла в каталог /home/admin на первом узле ECS.
  3. После завершения загрузки подключитесь по SSH к первому узлу системы ECS с помощью учетной записи администратора.
  4. Модернизируйте xDoctor на всех узлах с помощью новой распределенной версии. 
Команда:
# sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-84.0.noarch.rpm
 
Пример.
admin@ecs-n1:~> sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-84.0.noarch.rpm
2022-07-04 07:41:49,209: xDoctor_4.8-83.0 - INFO    : xDoctor Upgrader Instance (1:SFTP_ONLY)
2022-07-04 07:41:49,210: xDoctor_4.8-83.0 - INFO    : Local Upgrade (/home/admin/xDoctor4ECS-4.8-84.0.noarch.rpm)
2022-07-04 07:41:49,226: xDoctor_4.8-83.0 - INFO    : Current Installed xDoctor version is 4.8-83.0
2022-07-04 07:41:49,242: xDoctor_4.8-83.0 - INFO    : Requested package version is 4.8-84.0
2022-07-04 07:41:49,242: xDoctor_4.8-83.0 - INFO    : Updating xDoctor RPM Package (RPM)
2022-07-04 07:41:49,293: xDoctor_4.8-83.0 - INFO    :  - Distribute package
2022-07-04 07:41:50,759: xDoctor_4.8-83.0 - INFO    :  - Install new rpm package
2022-07-04 07:42:04,401: xDoctor_4.8-83.0 - INFO    : xDoctor successfully updated to version 4.8-84.0
  1. Если среда представляет собой многостоечный виртуальный ЦОД, новый пакет xDoctor должен быть установлен на первом узле каждой стойки. Чтобы определить основные узлы стоек, выполните следующую команду. В данном случае имеется четыре стойки, и, следовательно, выделены четыре основных узла стоек.
  1. Найдите основные узлы стойки
Команда:
# svc_exec -m "ip address show private.4 |grep -w inet"

Пример.
admin@ecsnode1~> svc_exec -m "ip address show private.4 |grep -w inet"
svc_exec v1.0.2 (svc_tools v2.1.0)                 Started 2021-12-20 14:03:33
 
Output from node: r1n1                                retval: 0
    inet 169.254.1.1/16 brd 169.254.255.255 scope global private.4
 
Output from node: r2n1                                retval: 0
    inet 169.254.2.1/16 brd 169.254.255.255 scope global private.4
 
Output from node: r3n1                                retval: 0
    inet 169.254.3.1/16 brd 169.254.255.255 scope global private.4
 
Output from node: r4n1                                retval: 0
    inet 169.254.4.1/16 brd 169.254.255.255 scope global private.4
  1. Скопируйте пакет из первого узла системы (R1N1) в другие основные узлы стойки, как описано ниже:
Пример.
admin@ecs-n1:  scp xDoctor4ECS-4.8-84.0.noarch.rpm 169.254.2.1:/home/admin/
xDoctor4ECS-4.8-84.0.noarch.rpm                                                                                                                        100%   32MB  31.9MB/s   00:00
admin@ecsnode1~> scp xDoctor4ECS-4.8-84.0.noarch.rpm 169.254.3.1:/home/admin/
xDoctor4ECS-4.8-84.0.noarch.rpm                                                                                                                        100%   32MB  31.9MB/s   00:00
admin@ecsnode1~> scp xDoctor4ECS-4.8-784.0.noarch.rpm 169.254.4.1:/home/admin/
xDoctor4ECS-4.8-84.0.noarch.rpm                                                                                                                        100%   32MB  31.9MB/s   00:00
admin@ecsnode1~>
  1. В соответствии с информацией в шаге 1 выше, выполните ту же команду установки xDoctor для каждого из указанных выше первичных узлов стойки. 
Команда:
# sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-84.0.noarch.rpm
 
  1. Выполните предварительные проверки
  1. Используйте команду svc_dt, чтобы проверить стабильность DT. DT стабильны, если в столбце «Unready #» отображается 0. Если это так, перейдите к следующей проверке. Если нет, подождите 15 минут и повторите проверку. Если DT не стабилизировались, откройте сервисную заявку в службе поддержки ECS.
Команда:
# svc_dt check -b
 
Пример.
admin@ecs-n1: svc_dt check -b

svc_dt v1.0.27 (svc_tools v2.4.1)                 Started 2022-06-14 11:34:26

Date                     Total DT       Unknown #      Unready #      RIS Fail #     Dump Fail #    Check type     Time since check   Check successful

2022-06-14 11:34:09      1920           0              0              0              0              AutoCheck      0m 17s             True
2022-06-14 11:32:59      1920           0              0              0              0              AutoCheck      1m 27s             True
2022-06-14 11:31:48      1920           0              0              0              0              AutoCheck      2m 38s             True
2022-06-14 11:30:38      1920           0              0              0              0              AutoCheck      3m 48s             True
2022-06-14 11:29:28      1920           0              0              0              0              AutoCheck      4m 58s             True
2022-06-14 11:28:18      1920           0              0              0              0              AutoCheck      6m 8s              True
2022-06-14 11:27:07      1920           0              0              0              0              AutoCheck      7m 19s             True
2022-06-14 11:25:57      1920           0              0              0              0              AutoCheck      8m 29s             True
2022-06-14 11:24:47      1920           0              0              0              0              AutoCheck      9m 39s             True
2022-06-14 11:23:37      1920           0              0              0              0              AutoCheck      10m 49s            True
  1. Используйте команду svc_patch для проверки того, что все узлы находятся в оперативном режиме. Если это так, перейдите к следующему шагу. Если нет, выясните причину, верните узлы в оперативный режим и повторите проверку. Если узел не переходит в оперативный режим, откройте сервисную заявку в службе поддержки ECS для расследования.
Команда:
# /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status
 
Пример.
admin@ecs-n1:~> /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status
svc_patch Version 2.9.2

Verifying patch bundle consistency                    DONE
Detecting nodes in current VDC                        DONE
Reading in patch details (1 of 2)                     DONE
Reading in patch details (2 of 2)                     DONE
Validating nodes are online                           DONE
Checking Installed Patches and Dependencies           DONE

Patches/releases currently installed:
        n/a                                      (Base release)

Patches that need to be installed:
        CVE-2022-31231_iam-fix                                  (PatchID: 3525)

Files that need to be installed:
        /opt/storageos/conf/iam.object.properties               (from CVE-2022-31231_iam-fix)
        /opt/storageos/lib/storageos-iam.jar                    (from CVE-2022-31231_iam-fix)

The following services need to be restarted:
        dataheadsvc
 
  1. Установите исправление системы с помощью инструмента svc_patch, входящего в комплект xDoctor.
  1. Запустите команду svc_patch, введите «y» и нажмите клавишу «Enter» при появлении запроса на установку исправления. Эта команда может выполняться на любом узле ECS. 
Команды:
# screen -S patchinstall
# unset TMOUT
# /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch install

Пример.
Примечание. Появится запрос на продолжение работы со следующим выводом.
admin@ecs-n1:~> screen -S patchinstall
admin@ecs-n1:~> unset TMOUT
admin@ecs-n1:~> /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch install
svc_patch Version 2.9.2

Verifying patch bundle consistency                    DONE
Detecting nodes in current VDC                        DONE
Reading in patch details (1 of 2)                     DONE
Reading in patch details (2 of 2)                     DONE
Validating nodes are online                           DONE
Checking Installed Patches and Dependencies           DONE

Patches/releases currently installed:
        n/a                                      (Base release)

Patches that will be installed:
        CVE-2022-31231_iam-fix                                  (PatchID: 3525)

Files that will be installed:
        /opt/storageos/conf/iam.object.properties               (from CVE-2022-31231_iam-fix)
        /opt/storageos/lib/storageos-iam.jar                    (from CVE-2022-31231_iam-fix)

The following services will be restarted:
        dataheadsvc

Patch Type:                                                     Standalone
Number of nodes:                                                5
Number of seconds to wait between restarting node services:     60
Check DT status between node service restarts:                  false

Do you wish to continue (y/n)?y


Distributing files to node 169.254.1.1
        Distributing patch installer to node '169.254.1.1'
Distributing files to node 169.254.1.2
        Distributing patch installer to node '169.254.1.2'
Distributing files to node 169.254.1.3
        Distributing patch installer to node '169.254.1.3'
Distributing files to node 169.254.1.4
        Distributing patch installer to node '169.254.1.4'
Distributing files to node 169.254.1.5
        Distributing patch installer to node '169.254.1.5'


Restarting services on 169.254.1.1
        Restarting dataheadsvc
        Waiting 60 seconds for services to stabilize...DONE
Restarting services on 169.254.1.2
        Restarting dataheadsvc
        Waiting 60 seconds for services to stabilize...DONE
Restarting services on 169.254.1.3
        Restarting dataheadsvc
        Waiting 60 seconds for services to stabilize...DONE
Restarting services on 169.254.1.4
        Restarting dataheadsvc
        Waiting 60 seconds for services to stabilize...DONE
Restarting services on 169.254.1.5
        Restarting dataheadsvc
        Waiting 60 seconds for services to stabilize...DONE

Patching complete. 
  1. Закройте экран сеанса, когда исправление завершено в соответствии с выходными данными, приведенными выше.
Пример.
admin@node1:/> exit
logout

[screen is terminating]
admin@node1:/>
Примечание. 
Если вы случайно закрыли сеанс PuTTY во время выполнения, вы можете повторно подключить его, выполнив вход в тот же узел и выполнив следующую команду:
 
Команда:
# screen -ls
admin@node 1:~> screen -ls
There is a screen on:
        113275.pts-0.ecs-n3     (Detached)
1 Socket in /var/run/uscreens/S-admin.
Повторно подключитесь к отсоединенной сессии из предыдущего вывода
admin@node1:~> screen -r 113277.pts-0.ecs-n3
 
  1. Убедитесь, что исправление применено.
  1. Приведенный ниже вывод относится к системе, в которой применено исправление.
Команда:
# /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status

Пример.
admin@ecs-n1:~> /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status
svc_patch Version 2.9.2

Verifying patch bundle consistency                    DONE
Detecting nodes in current VDC                        DONE
Reading in patch details (1 of 2)                     DONE
Reading in patch details (2 of 2)                     DONE
Validating nodes are online                           DONE
Checking Installed Patches and Dependencies           DONE

Patches/releases currently installed:
        CVE-2022-31231_iam-fix                   (PatchID: 3525)        Fix for ECS iam vulnerability CVE-2022-31231
        n/a                                      (Base release)

Patches that need to be installed:

        No files need to be installed.


The following services need to be restarted:
        No services need to be restarted.
  1. Приведенный ниже вывод относится к системе, в которой исправление не было применено.
Пример. 
admin@ecs-n1:~> /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status
svc_patch Version 2.9.2

Verifying patch bundle consistency                    DONE
Detecting nodes in current VDC                        DONE
Reading in patch details (1 of 2)                     DONE
Reading in patch details (2 of 2)                     DONE
Validating nodes are online                           DONE
Checking Installed Patches and Dependencies           DONE

Patches/releases currently installed:
        n/a                                      (Base release)

Patches that need to be installed:
        CVE-2022-31231_iam-fix                                  (PatchID: 3525)

Files that need to be installed:
        /opt/storageos/conf/iam.object.properties               (from CVE-2022-31231_iam-fix)
        /opt/storageos/lib/storageos-iam.jar                    (from CVE-2022-31231_iam-fix)

The following services need to be restarted:
        dataheadsvc


Поиск и устранение неисправностей

  1. Во время предварительной проверки исправление сообщает о показанной ниже ошибке. В этом случае обратитесь в службу удаленной поддержки, которая предоставит изолированное исправление для конкретной среды.
Пример. 
admin@ecs-n1 /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status
svc_patch Version 2.9.2

Verifying patch bundle consistency                    DONE
Detecting nodes in current VDC                        DONE
Reading in patch details (1 of 2)                     DONE
Reading in patch details (2 of 2)                     DONE
Validating nodes are online                           DONE
Checking Installed Patches and Dependencies           FAILED
Fatal:  Currently installed version of storageos-iam.jar is unknown.
        This likely means that a custom Isolated Patch is installed.
        Please contact your next level of support for further steps, and
        include this information
        Detected md5sum:  6ec26421d426365ecb2a63d8e0f8ee4f
  1. Не удалось добавить хост в список известных хостов при применении исправления.
Пример. 
svc_patch Version 2.9.2

Verifying patch bundle consistency                    DONE
Detecting nodes in current VDC                        DONE
Reading in patch details (1 of 2)                     DONE
Reading in patch details (2 of 2)                     DONE
Validating nodes are online                           FAILED

ERROR: Could not execute commands on the object-main container on 169.254.x.x
  Output was 'Failed to add the host to the list of known hosts (/home/admin/.ssh/known_hosts).
:patchtest:'

Patching is unable to continue with unreachable nodes.  To proceed:
 - Resolve problems accessing node(s) from this one.
 - Manually pass a MACHINES file containing the list of working nodes to patch (not recommended).
 - Contact your next level of support for other options or assistance.
Способ устранения.
Причиной может быть то, что пользователь файла /home/admin/.ssh/known_hosts был пользователем root, который по умолчанию должен быть пользователем admin. 
 
Пример. 
admin@node1:~> ls -l  /home/admin/.ssh/known_hosts
-rw------- 1 root root 1802 Jul 23  2019 /home/admin/.ssh/known_hosts
admin@ecs:~>
 
Чтобы устранить проблему из другого сеанса PuTTY, войдите в указанный узел или узлы и измените пользователя на admin на узлах, где он присутствует в качестве пользователя root, используя следующую команду на всех указанных узлах:
 
Команда:
#  sudo chown admin:users /home/admin/.ssh/known_hosts
 
Пример.
admin@node1:~> sudo chown admin:users /home/admin/.ssh/known_hosts
 Теперь повторно запустите команду svc_patch и она должна выполниться успешно.
admin@node1:~> /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch install
 
  1. Не удалось выполнить команды для контейнера object-main по адресу 169.254.x.x из-за неверного ключа хоста в /home/admin/.ssh/known_hosts.
Пример.
svc_patch Version 2.9.2

Verifying patch bundle consistency                    DONE
Detecting nodes in current VDC                        DONE
Reading in patch details (1 of 2)                     DONE
Reading in patch details (2 of 2)                     DONE
Validating nodes are online                           FAILED

ERROR: Could not execute commands on the object-main container on 169.254.x.x
  Output was '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:RcwOsFj7zPA5p5kSeYovF4UlZTm125nLVeCL1zCqOzc.
Please contact your system administrator.
Add correct host key in /home/admin/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/admin/.ssh/known_hosts:14
You can use following command to remove the offending key:
ssh-keygen -R 169.254.x.x -f /home/admin/.ssh/known_hosts
Password authentication is disabled to avoid man-in-the-middle attacks.
Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.
:patchtest:'

Patching is unable to continue with unreachable nodes.  To proceed:
 - Resolve problems accessing node(s) from this one.
 - Manually pass a MACHINES file containing the list of working nodes to patch (not recommended).
 - Contact your next level of support for other options or assistance.
 
Решение.
 Обратитесь в службу поддержки ECS для получения решения.
 
  1. При использовании версии xDoctor 4.8-85.0 для предварительных проверок или применения этого исправления может появиться оповещение о том, что md5sum не совпадает с svc_base.py:
# /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status 
svc_patch Version 2.9.3

Verifying patch bundle consistency                    FAILED

Patch bundle consistency check failed - md5sums for one or more files
in the patch bundle were invalid, or files were not found.

svc_patch will attempt to validate files in the patch using MD5SUMS.bundle, which
is bundled with the patch.

Output from md5sum was:
./lib/libs/svc_base.py: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
 
Способ устранения.
Выполните следующую команду перед применением исправления для обновления md5sum:
# sudo sed -i '/svc_base.py/d' /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/MD5SUMS.bundle
# sudo sed -i '/MD5SUMS.bundle/d' /opt/emc/xdoctor/.xdr_chksum